13.07.2015 Aufrufe

Mathematische Grundlagen der Kryptographie

Mathematische Grundlagen der Kryptographie

Mathematische Grundlagen der Kryptographie

MEHR ANZEIGEN
WENIGER ANZEIGEN

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))

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!