4. Übungen zu den Mathematischen Methoden der Kryptologie SS 2014 19. Man berechne für n = 31*67 und e=7 den geheimen RSA-Schlüssel d (unter Verwendung von λ(n ) ) und zeige umgekehrt, wie man aus der Kenntnis von e und d die Primfaktoren p und q zurückgewinnen kann. Welche einstelligen Basen a waren in Hinblick auf den verwendeten RP-Algorithmus „Nieten“, welche „Treffer“? 20. Für eine natürliche Zahl n>1 seien P1 (n) ≥ P2 (n) ≥ ... ≥ Ps (n) die (nicht notwendig verschiedenen) Primfaktoren absteigend geordnet. Unter Verwendung der Tatsache, dass ln ln n der Erwartungswert für s ist, leite man die Näherung (ln P1(n))/(ln n) ≈ (1 − 1 / e) ≈ 0.632 her, d.h., der größte Primfaktor P1(n) von n hat typischerweise etwas weniger als 2/3 so viele Stellen wie n selbst. Was ist die entsprechende Aussage für P2(n)? 21. Nach dem Satz von Mertens gilt ∏ (1 − p≤ s 1 e −γ )~ p ln s Wie groß ist nach dieser Formel daher ungefähr die Wahrscheinlichkeit, dass eine (große und zufällig ausgewählte) natürliche Zahl n keinen Primfaktor p mit p< 10 k , k=1,2,3,6, besitzt? (Für k=1,2 berechne man auch die exakte Wahrscheinlichkeiten und vergleiche mit den jeweiligen Näherungen gemäß obiger Formel.) 22. Die Pollardsche p-1-Methode zum Faktorisieren einer natürlichen Zahl n ist dann sehr erfolgreich, wenn n einen Primfaktor p besitzt, sodass p-1 „potenzglatt“ für eine relativ kleine Schranke B ist, d.h. wenn für jede Primzahlpotenz q gilt, dass q p − 1 ⇒ q ≤ B . Im Detail geht sie dann so: 1. Wähle ein zufälliges a ∈ {2,3,.., n − 2} und setze p ← 2 , sowie d ← ggT(a,n). Ist d>1, so ist mit d bereits ein nichttrivialer Teiler von n gefunden und man ist fertig, andernfalls mache man wie folgt weiter. 2. Setze q ← p e , wobei e größtmöglich in Hinblick auf q ≤ B für eine vorher festgewählte Schranke B ist, sowie a ← a q mod n und d ← ggT(a-1,n). Ist d>1, dann STOP und im (wahrscheinlichen) Falle d<n hat man einen nichtrivialen Teiler von n gefunden. 3. Setze p ← nächstgrößere Primzahl zu p. Ist p>B, dann STOP (Verfahren war Mißerfolg), ansonsten mach mit 2. weiter. Man wende diese Methode auf n=667 mit a=2 und B=10 an. Für welche Werte von B hätte die Berechnung von ggT( a B! mod n − 1, n) zum Erfolg geführt? 23. Seien k und m positive ganze Zahlen, wobei k << m, d.h. k “klein” im Vergleich zu m sei. Wie groß ist dann die die Wahrscheinlichkeit Pk ,m , dass k zufällig ausgewählte ganze Zahlen alle in verschiedenen Restklassen mod m liegen? Welche Näherung ergibt sich dafür, wenn man die für kleine |x| gültige Näherung 1 − x ≈ e − x verwendet? Für welchen Wert von k gilt bei Verwendung dieser Näherung Pk ,m ≈ 1 / 2 ? Ab welcher Größe k einer Personengruppe lohnt es sich also darauf zu wetten, dass mindestens zwei Personen darunter den gleichen Geburtstag im Jahr haben? (Dieser Spezialfall mit m=365 wird aufgrund des überraschend niedrigen Ergebnisses auch Geburtstagsparadoxon genannt.) 24. Bei der Pollardschen ρ -Methode zur Faktorisierung einer ganzen Zahl n>1 geht man so vor, dass für eine einfach gebaute Funktion f(x), deren Werte mod n unter statistischen Gesichtspunkten „gut streuen“ , zwei Folgen x n und y n , n=0,1,2,…, mit gleichem Startwert x 0 = y 0 rekursiv definiert durch x k +1 = f ( x k ) mod n , y k +1 = f (f ( y k )) mod n und dann für k>0 jeweils überprüft, ob ggT( x k − y k , n ) > 1 ist, womit man dann in der Regel einen nichtrivialen Teiler von n gefunden hat. Man führe diese Iteration am Beispiel n=6887, f(x)= x 2 + 1 und x 0 = y 0 = 3 tatsächlich durch und betrachte dann obige Folgen nochmals, aber jetzt mod q für den gefunden Faktor q. Warum hat das Verfahren schließlich zum Erfolg geführt und genau für diese Iteration? Was ist ferner die Anzahl m der verschieden Werte die f(x) mod q überhaupt annehmen kann und nach etwa wievielen Iterationen durften wir daher nach Aufg. 23 einen Erfolg erwarten?