Mathematische Grundlagen der Kryptographie
Mathematische Grundlagen der Kryptographie
Mathematische Grundlagen der Kryptographie
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
40 4. Symmetrische VerschlüsselungsverfahrenNun kann <strong>der</strong> Algorithmus beginnen. Für jeden 512bit-Block des Klartexteswerden die folgenden Schritte ausgeführt:1. Die Werte <strong>der</strong> Subblocks A, B, C und D werden in Variablen a,b, c und d zwischengespeichert.2. Auf a, b, c und d werden vier Runden angewendet. Jede Rundebesteht aus 16 Operationen folgen<strong>der</strong> Struktur, die auch inAbbildung 4.1. illustriert ist:(i) Drei <strong>der</strong> Variablen werden mit einer nichtlinearen Operationverknüpft. Die Lineare Operation ist in je<strong>der</strong> Rundekonstant, die übrigen Parameter än<strong>der</strong>n.(ii) Das Resultat wird zur vierten Variablen mit XOR addiert.(iii) Ein 32-bit Subblock des aktuellen Klartextblockes wirdhinzuaddiert. In <strong>der</strong> ersten Runde werden die Klartextblocksin ihrer natürlichen Reihenfolge verwendet, in späterenRunden jedoch in einer Permutation.(iv) Eine in je<strong>der</strong> Operation an<strong>der</strong>e Konstante t j wird hinzuaddiert.t j ist <strong>der</strong> ganzzahlige Anteil von 2 32 sin j, ist alsonicht willkürlich.(v) Die Bits des Resultates werden zyklisch um eine wechselndeZahl von Bits vertauscht.(vi) Einer <strong>der</strong> drei im ersten Schritt verabeiteten Werte wirdzum Resultat hinzuaddiert.(vii) Das Resultat ersetzt den im zweiten Schritt verwendetenSubblock.3. Das Resultat <strong>der</strong> Rundenoperationen wird zum Inhalt von A, B,C und D mit XOR hinzuaddiert.Der Hashwert ist <strong>der</strong> Inhalt von A, B, C und D.Die nichtlinearen Operationen von drei 32bit breiten Variablen, diezum Einsatz kommen, sind:F (X, Y, Z) = (X ∧ Y ) ∨ ((¬X) ∧ Z)G(X, Y, Z) = (X ∧ Y ) ∨ (Y ∧ (¬Z))H(X, Y, Z) = X ⊕ Y ⊕ ZI(X, Y, Z) = Y ⊕ (X ∨ (¬Z))