Musterlösung zum 15. Blatt 141. Aufgabe: Seien x < y die beiden größten Ziffern von M . Bestimmen Sie die Menge aller natürlichen Zahlen p mit 2 ≤ p ≤ 1000, so dass xp−1 ≡ 1 (p) und y p−1 ≡ 1 (p) gilt, so dass ausserdem p keine Primzahl ist. Lösung: Mit der folgenden MuPAD-Routine kann man die gesuchte Menge berechnen: test:=proc(x,y) local Menge; begin Menge:= {} ; for p from 2 to 1000 do if ( (x^(p-1) mod p) = 1 ) and ( (y^(p-1) mod p) = 1 ) and ( not isprime(p) ) then Menge := Menge union {p} ; end_if ; end_for ; print(Menge); end_proc: Einige Beispiele: >> test(9,8); test(7,8); test(7,6); {511, 949} {561} {} 142. Aufgabe: Berechnen Sie ϕ(n) für a) n = m1 m2 m3 b) n = m1 m2 m3 m4 c) n = m1 m2 m3 m4 m5 (die Zahl, die als Ziffern die ersten drei, vier bzw. fünf Ziffern der Matrikelnummer hat). Lösung: Für M = 6223118. a) Es ist n = 622 = 2 · 311, und 311 ist eine Primzahl, denn 311 hat keinen Teiler d mit 2 ≤ d ≤ 18. (Warum genügt dies als Argument?) Also ist ϕ(n) = 1 · 310 = 310. b) n = 6223. Man findet, dass 6223 = 7 · 889 = 72 · 127 ist, und erhält ϕ(n) = (72 − 7) · 126 = 42 · 126 = 5292. c) n = 62231. Man erhält als Primfaktorzerlegung (z. B. mit MuPAD) 62231 = 13 · 4787, also ϕ(n) = 12 · 4786 = 57432. 143. Aufgabe: Sei Q die Quersumme von M und ( 2Q /2, Q 2er Potenz Q n= 2Q /4, Q keine 2er Potenz Q Gibt es ein [x] ∈ Zn mit [x] 6= [0] und [x]2 = [0]? Falls ja, so berechnen Sie ein solches. Falls nicht, so bestimmen Sie den größten Primteiler von n. Lösung: Vorüberlegung: Es gebe eine Primzahl p mit p2 | n. Es gibt also eine natürliche Zahl m mit n = p2 m. Definiere dann x = pm. Dann gilt x 6≡ 0 (n) und x2 = p2 m2 = nm ≡ 0 (n). Es gelte umgekehrt x2 ≡ 0 (n) für eine natürliche Zahl x mit 1 ≤ x ≤ n − 1. Es gibt eine natürliche Zahl m mit x2 = nm. Wäre nun n = p1 p2 . . . pr mit paarweise verschiedenen Primzahlen p1 , . . . , pr , so folgte offenbar, dass n nicht nur ein Teiler von x2 , sondern auch von x wäre; das ist aber wegen 1 ≤ x ≤ n − 1 unmöglich. Also gibt es eine Primzahl p mit p2 | n. M = 6220600. Dann ist Q = 16, und n = 32 /2 = 300540195. Diese Zahl ist durch 3 16 teilbar: n = 3 · 100180065 = 9 · 33393355. Also gibt es nach der Vorüberlegung ein x wie verlangt, indem wir setzen x = 3 · 33393355 = 100180065. M = 6220632. Dann ist Q = 21. Dann ist n = 42 /4 = 134564468610. Gibt es eine Prim21 zahl p mit p2 | n? Man kann z. B. mit MuPAD die Primfaktorzerlegung von n ausrechen und sehen, dass dort jede Primzahl nur in erster Potenz vorkommt. Alternativ man kann (2Q)! , sich folgendes überlegen: Ist p ein Primteiler von n, dann gilt also p | 2Q /4 = 8·Q! Q also 8pQ! | (2Q)!, also teilt p einen der Faktoren 2, 3, . . . , 2Q, insbesondere p ≤ 2Q. Für Q = 21 brauchen wir also nur für alle Primzahlen p ≤ 42 testen, ob p2 | n gilt. Eine solche Primzahl gibt es aber nicht. Zur Bestimmung des grössten Primteilers von n testen wir für jede Primzahl p ≤ 42, beginnend mit der grössten, also p = 41, ob p ein Teiler von n ist, bis wir Erfolg haben. Dies ist hier schon zu Beginn für p = 41 der Fall. Also ist p = 41 der grösste Primteiler von n. 144. Aufgabe: Sei n = 65. a) Bestimmen Sie einen geeigneten geheimen Schlüssel (n, d) mit d > 1. b) Bestimmen Sie dazu einen öffentlichen Schlüssel (n, e). c) Verschlüsseln Sie die Nachricht Q (die Quersumme von M ). (Abgabe: d; e; verschlüsselte Nachricht.) Lösung: a) n = 65 ist das Produkt der (verschiedenen) Primmzahlen 5 und 13. Es folgt ϕ(n) = 4 · 12 = 48. Wir wählen eine zu 48 teilerfremde Zahl d > 1, etwa d = 5. Es ist also (n, d) = (65, 5) ein geeigneter geheimer Schlüssel. b) Wir bestimmen eine natürliche Zahl e mit 1 ≤ e ≤ 47 und mit ed ≡ 1 (48), mit dem erweiterten euklidischen Algorithmus: 48 5 3 2 = = = = 48 5 9·5 + 3 3 1·3 + 2 2 1·2 + 1 1 1·2 + 0 = 1 · 48 = 0 · 48 = 1 · 48 = −1 · 48 = 2 · 48 + + + + + 0·5 1·5 −9 · 5 10 · 5 -19 · 5 Es ist −19 ≡ 29 (48), also erhalten wir e = 29. Es ist also (n, e) = (65, 29) ein geeigneter öffentlicher Schlüssel. c) Für M = 6181770. Dann ist x = 30 die zu verschlüsselnde Nachricht. Die verschlüsselte Nachricht ist y = xe = 3029 = 30 · (27 )4 · (37 )4 · (57 )4 ≡ 30 · 634 · 424 · 604 ≡ 30 · (−2)4 · (−23)4 · (−5)4 ≡ 30 · 16 · 625 · 232 · 232 ≡ 25 · 40 · 9 · 9 ≡ 25 · 16 ≡ 10 (65). 145. Aufgabe: Zeigen Sie (möglichst einfach) 13402 ≡ 68 (101). Lösung: damit Da 101 eine Primzahl ist, folgt aus dem Satz von Fermat 13100 ≡ 1 (101), und 13402 = 132 · (13100 )4 ≡ 132 · 14 = 69 ≡ 1 (68). 146. Aufgabe: Seien a und b natürliche Zahlen mit a= r Y pαi i und b= i=1 r Y pβi i i=1 mit paarweise verschiedenen Primzahlen p1 , . . . , pr und natürlichen Zahlen αi , βi ≥ 0. Für jedes i = 1, . . . , r sei γi = min(αi , βi ), das Minimum der beiden Zahlen αi und βi . Zeigen Sie: Es ist r Y g. g. T.(a, b) = pγi i . i=1 Q Lösung: Sei d = ri=1 pγi i . Dann ist offenbar d ein gemeinsamer Teiler von a und b. Denn z. B. ist αi − γi ≥ 0 für jedes i ∈ {1, . . . , r}, und damit d· r Y pαi i −γi = a, i=1 also d | a. Ebenso d | b. Sei d0 ∈ N ein weiterer gemeinsamer Teiler von a und b. Aus der Eindeutigkeit der Primfaktorzerlegung (Hauptsatz der Zahlentheorie) folgt, dass für d0 als einzige Primteiler Q p1 , . . . , pr in Frage kommen. Sei d0 = ri=1 pδi i die Primfaktorzerlegung von d0 , mit natürlichen Zahlen δi . Weil d0 ein Teiler von a ist, folgt δi ≤ αi , weil d0 ein Teiler von b ist, folgt δi ≤ βi für i ∈ {1, . . . , r}. Insgesamt folgt δi ≤ γi für jedes i, und damit folgt d0 | d. Es folgt d = g. g. T.(a, b).