1 Aufgabe 1 2 Aufgabe 2

Werbung
Kryptographie
Sommersemester 2005
Theoretische Informatik
Universität Hannover
Lösung zum 3.Übungsblatt
25.5.2005
1
Aufgabe 1
Berechnen Sie die Substitutionstabelle SRD 1 . Implementieren Sie hierzu die folgenden
Methoden:
• Addition und Multiplikation von Polynomen über GF(28 ),
• Berechnen des Restes eines Polynoms aus GF(28 )[x] modulo x8 +x4 +x3 +x+1,
• Invertieren eines Elementes aus GF(28 ) (brute force erlaubt),
• Anwenden der angegebenen affinen Transformation.
Erstellen Sie mit diesen Methoden die Tabelle für SRD in Hexadezimalschreibweise.
Zur Kontrolle: Die ersten Einträge der Tabelle sind 0x63, 0x7C, 0x77, 0x7B,. . .
Siehe den sererat online verfügbaren C++-Quellcode.
2
Aufgabe 2
Im Schritt MixColumns des AES wird das Polynom x4 + 1 ∈ GF(28 )[x] verwendet. Ist
dieses Polynom irreduzibel?
Das Polynom ist nicht irreduzibel: Es gilt x4 + 1 = (x2 + 1)2 = (x + 1)4 . Dies
bedeutet, dass der Ring GF(28 )[x] mit dem Reduktionspolynom x4 + 1 kein Körper ist.
Dadurch ist Multiplikation in diesem Ring keine invertierbare Operation. Die Verwendung dieses Polynoms führt im AES dennoch nicht zum Informationsverlust, da Multiplikationen hier nur mit dem Polynom c(x) verwendet werden, welches teilerfremd zu
x4 + 1 ist, das heisst, das Polynom c(x) hat ein Inverses im angegebenen Ring. Dadurch
sind Multiplikationen mit diesem Polynom reversibel.
1
Die Definition finden Sie im Skript der letzten Stundenübung unter
http://www.thi.uni-hannover.de/lehre/ss05/kry/aktuell/daten/stundenuebung 02.pdf.
3
Aufgabe 3
Sei F := GF(2n ) und p(x) ∈ F [x] irreduzibel, grad(p(x)) = m. Dann ist F 0 :=
F [x]|p(x) ein Körper (also die Polynome aus F [x] modulo p(x)). Bestimmen Sie die
Charakteristik von F 0 .
Die Charakteristik dieses Körpers ist 2: Es ist offenbar GF(28 ) ein Unterring von F 0 .
Da in GF(28 ) gilt 1 + 1 = 0, gilt dies auch in F 0 . Damit ist die Charakteristik von F 0
höchstens zwei. Da die Charakteristik eine Primzahl ist, folgt die Gleichheit.
4
Zum Beweis des Satzes von Euklid
In der Vorlesung wurde im Beweis des Satzes von Euklid eine Aussage ohne Beweis
verwendet. Diese zeigen wir hier:
Lemma 4.1 Seien a, b, c natürliche Zahlen, sodass a | b und a | c. Dann gilt a |
ggT(b, c).
Beweis
a
b
c
Wir verwenden die Eindeutigkeit der Primfaktorzerlegung. Seien also
= pk11 · · · · · pknn
= pl11 · · · · · plnn · · · · · plmm
= ph1 1 · · · · · phnn · · · · · phmm
für Primzahlen p1 , . . . , pm , pi 6= pj für i 6= j. Da a | b und a | c, gilt ki 6= li , hi für
alle i ∈ {1, . . . , n}. Es gilt
min(l1 ,h1 )
ggT(b, c) = p1
m ,hm )
· · · · · ggT(b, c) = pmin(l
.
m
Also gilt a | ggT(b, c).
Abgabe: Vor der nächsten Vorlesung oder per email an [email protected].
2
Herunterladen