Handout

Handout Handout

iti.cs.tu.bs.de
von iti.cs.tu.bs.de Mehr von diesem Publisher
11.11.2014 Aufrufe

Mathematischen Grundlagen (überblick) Zwecks Byte-weiser Verarbeitung beruht AES auf algebraischen Rechenoperationen im so genannten Galois-Körper GF(2 8 ) : − Polynome mit Koeffizienten aus Z 2 = {0, 1} − bilde Restklassen modulo des irreduzibilen Polynoms m(x) = x 8 + x 4 + x 3 + x + 1 − Repräsentanten sind alle Polynome vom Grad ≤ 7 über Z 2 = {0, 1} ; diese bilden den endlichen Körper GF(2 8 ) Elemente von GF(2 8 ) lassen sich als Bytes (= 8 Bit) auffassen x 7 + x 6 + 1 = (1100 0001) = (c1) hex An einer Stelle des Algorithmus sind 4-Tupel von Bytes mit einer (4 × 4) -Matrix in GF(2 8 ) zu multiplizieren Weiterführende Details in der Vorlesung “Kryptologie 1+2” S. Ransom + J. Koslowski: Grundlagen der Sicherheit in Netzen und verteilten Systemen

Rechenoperationen in GF(2 8 ) Addition: − Addition von Polynomen mit Koeffizienten in Z 2 = {0, 1} } (b 7 x 7 + · · · + b 1 x + b 0 ) = (b (b 7x ′ 7 + · · · + b 1x ′ + b 0) ′ 7 ⊕b 7)x ′ 7 +· · ·+(b 1 ⊕b 1)x+(b ′ 0 ⊕b 0) ′ − d.h. bitweises XOR, z.B. (57) ⊕ (83) = (1001 0111) ⊕ (1000 0011) = (0001 0100) = (14) Multiplikation: (Aufpassen: alle Koeffizienten sind über Z 2 ) − Polynome multiplizieren − Ergebnis reduziren modulo m(x) = x 8 + x 4 + x 3 + x + 1 − Z.B. (57) × (83) = (c1) − effizienter mittels Logarithmen bzgl. des Erzeugers x + 1 der multiplikativen Gruppe von GF(2 8 ) Look-Up Tabellen S. Ransom + J. Koslowski: Grundlagen der Sicherheit in Netzen und verteilten Systemen

Rechenoperationen in GF(2 8 )<br />

Addition:<br />

− Addition von Polynomen mit Koeffizienten in Z 2 = {0, 1}<br />

}<br />

(b 7 x 7 + · · · + b 1 x + b 0 )<br />

= (b<br />

(b 7x ′ 7 + · · · + b 1x ′ + b 0)<br />

′ 7 ⊕b 7)x ′ 7 +· · ·+(b 1 ⊕b 1)x+(b ′ 0 ⊕b 0)<br />

′<br />

− d.h. bitweises XOR, z.B.<br />

(57) ⊕ (83) = (1001 0111) ⊕ (1000 0011) = (0001 0100) = (14)<br />

Multiplikation: (Aufpassen: alle Koeffizienten sind über Z 2 )<br />

− Polynome multiplizieren<br />

− Ergebnis reduziren modulo m(x) = x 8 + x 4 + x 3 + x + 1<br />

− Z.B. (57) × (83) = (c1)<br />

− effizienter mittels Logarithmen bzgl. des Erzeugers x + 1 der<br />

multiplikativen Gruppe von GF(2 8 ) Look-Up Tabellen<br />

S. Ransom + J. Koslowski: Grundlagen der Sicherheit in Netzen und verteilten Systemen

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!