11.¨Ubung Algebra II - homepages.math.tu

Werbung
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
Herunterladen