Längenreduktion

Moderator: Praktikum: Kryptographie

rlindner
Moderator
Moderator
Beiträge: 7
Registriert: 10. Nov 2006 11:36
Wohnort: Darmstadt
Kontaktdaten:

Längenreduktion

Beitrag von rlindner »

Die Gruppen 1 und 3 haben uns diese Woche in der Sprechstunde Ihr Problem mit der Aktualisierung von mu bei der Längenreduktion erklärt. Lineare Algebra und ein paar Stunden debugging ergaben den folgenden Code: :shock:

Code: Alles auswählen

void LengthReduce(mat_ZZ& b, mat_RR& mu) {
	for (long k = b.NumRows()-2; k >= 0; k--) {
		for (long j = k+1; j < b.NumRows(); j++) {
			RR int_part = round(mu[j][k]);
			b[j] -= to_ZZ(int_part)*b[k];
			mu[j] -= int_part*mu[k];
			mu[j][k] -= int_part;
		}
	}
}
Wie wir mehrmals erwähnt haben sind die Variablen in Schnorrs Skript/Papern und verwandten Arbeiten (Filipovic/Koy) stets als selbst-aktualisierend zu verstehen. Das bedeutet in diesem Fall, dass die mu Werte die man benutzen will vorher aktualisiert werden müssen. Ein einmaliges durchdenken/rechnen des Algorithmus in Dimension 3 sollte einem die richtige Intuition geben.

Markus und Richard

Zurück zu „Praktikum: Kryptographie“