TECHNISCHE UNIVERSITÄT BERLIN Fakultät II – Institut für Mathematik Dozent: Prof. Dr. Michael Pohst Assistent: Osmanbey Uzunkol www.math.tu-berlin.de/∼kant/algebra2-ws2009 WS 2009-2010 Abgabe: 20.01.2010 in der Übung 11. Übung Algebra II (Moduln über Hauptidealringe II, LLL Algorithmus) 1. Aufgabe Zeigen Sie die folgenden Aussagen: √ (a) Λ := Z[ 3 m], wobei m eine ’cube free’ Zahl ist, (d. h. mit keinen Faktoren, die 3−Potenz einer ganzen Zahlen sind) ist ein freier Z−Modul vom Rang 3. (b) Für α = a1 + a2 ρ + a3 ρ2 ∈ Λ seien α′ := a1 + a2 ρξ + a3 ρ2 ξ 2 , α′′ := a1 + a2 ρξ 2 + a3 ρ2 ξ. Dann ist < α, β >:= αβ + α′ β ′′ + α′′ β ′ mit α, β ∈ Λ ein Skalarprodukt auf Λ. (c) Berechnen Sie hiervon die sukzessiven Minima M1 , M2 und M3 . (10 Punkte) 2. Aufgabe Finden Sie die kürzesten Vektoren des von den Zeilen der folgenden Matrix erzeugten Z-Moduls: 2 −1 3 −2 2 0 . 6 −3 12 (6 Punkte) 3. Aufgabe Wir nennen eine Folge (b1 , b2 , · · · P , bn ) von positiven ganzen Zahlen superincreasing, falls für alle i, 2 ≤ i ≤ n, die Ungleichung bi > i−1 j=1 bj gilt. Superincreasing subset sum Problem ist zu gegebenem s ∈ Z ein Vektor (x1 , x2 , · · · , xn ) mit P i=n i=1 xi bi = s zu finden, wobei xi ∈ {0, 1}, 1 ≤ i ≤ n ist. (a) Erklären Sie, wie man superincreasing subset sum Problem effizient lösen kann (Hinweis: mittels der Gittertheorie). (b) Lösen Sie folgendes superincreasing subset sum Problem: 2x1 + 5x2 + 9x3 + 21x4 + 45x5 + 103x6 + 215x7 + 450x8 + 946x9 = 1236. Das Merkle-Hellman Knapsack Public-Key Kryptosystem basiert auf superincresing subset sum Problem. 1 Schlüsselerzeugung für Verschlüsselungsfunktion: • Fixiere eine positive Zahl n. • Wähle eine superincreasing Folge (b1 , b2 , · · · , bn ) und M mit M > b1 + b2 + · · · + bn . • Wähle eine zufällige Zahl W , 1 ≤ W ≤ M − 1 mit ggT(W, M ) = 1. • Wähle eine zufällige Permutation π von Zahlen {1, 2, · · · , n}. • Berechne ai ≡ W bπ(i) (mod M ) für i = 1, 2, · · · , n. • Public-Key ist (a1 , a2 , · · · , an ) und Private-Key ist (π, M, W, (b1 , bw , · · · , bn )). Verschlüsselungsfunktion: Zusammenfassung: B verschlüsselt eine Nachricht m, welche von A entschlüsselt wird. • Erhalte den Public-Key (a1 , a2 , · · · , an ) von A. • Representiere die Nachricht m als binäre Folge von Länge n, m = m1 m2 · · · mn . • Berechne c = m1 a1 + m2 a2 + · · · + mn an . • Sende die verschlüsselte Nachricht c an A zu. Entschlüsselungsfunktion: • Berechne d ≡ W −1 c(mod M ). • Löse das superincreasing subset sum Problem um die Zahlen r1 , r2 , · · · , rn , ri ∈ {0, 1} zu finden, so dass d = r1 b1 + r2 b2 + · · · + rn bn gilt. • Die Nachrichtenbits sind mi = rπ(i) , i = 1, 2, · · · , n. (c) Zeigen Sie, dass die Entschlüsselungsfunktion die ursprüngliche Nachricht m wiederfindet. (d) Es sei (12, 17, 33, 74, 157, 316) von A gewählter superincreasing µ ¶ Folge mit M = 737, 1 2 3 4 5 6 W = 635 und die Permutation π = . Finden Sie die Public- und 3 6 1 2 5 4 Private-Key von A. (e) Verschlüsseln Sie die Nachricht m = 101101 mit von (d) gefundenem Public-Key. (f) Entschlüsseln Sie die Chiffretext 1605 mit (d) gefundenem Private-Key. (4+7 Punkte) 2