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