03.08.2013 Aufrufe

Sicherheit in Rechnernetzen: - Professur Datenschutz und ...

Sicherheit in Rechnernetzen: - Professur Datenschutz und ...

Sicherheit in Rechnernetzen: - Professur Datenschutz und ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

406<br />

A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; Lösungen, TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />

405<br />

A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; Lösungen, TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />

i) Es ist 58 ≡ 2 mod 7 ∧ 58 ≡ 3 mod 11. Für p = 7, 11 gilt p ≡ 3 mod 4, <strong>und</strong> es ist<br />

7–1<br />

11–1<br />

2 2 ≡ 8 ≡ 1 mod 7 <strong>und</strong> 3 2 ≡ 9•9•3 ≡ (-2)•(-2)•3 ≡ 1 mod 11,<br />

2 <strong>und</strong> 3 s<strong>in</strong>d also quadratische Reste mod 7 bzw. 11. Also können wir den e<strong>in</strong>fachen<br />

Wurzelziehalgorithmus anwenden, um Wurzeln w7 mod 7 <strong>und</strong> w11 mod 11 zu erhalten:<br />

7+1<br />

w7 = 2 4 = 22 = 4 mod 7.<br />

11+1<br />

w11 = 3 4 = 33 = 27 ≡ 5 mod 11.<br />

Mit dem ch<strong>in</strong>esischen Restsatz <strong>und</strong> den schon <strong>in</strong> Teil g) berechneten „Basisvektoren“ erhalten<br />

wir: w = –21•w11 + 22•w7 = –21•5 + 22•4 = (22–21)•4 – 21= –17 ≡ 60 mod 77.<br />

(Probe: (–17) 2 = 289 = 3•77+58.)<br />

Setzen wir jeweils die „andere“ Wurzel mod 7 oder mod 11 e<strong>in</strong>, erhalten wir die anderen 3<br />

Wurzeln:<br />

z.B. w' = –21•5 + 22•(-4) = -105 – 88 = –193 ≡ 38 mod 77.<br />

(Probe: 382 = 1444 = 18•77+58.)<br />

Statt so weiterzurechnen, nehmen wir jetzt jeweils das Inverse der beiden schon bekannten<br />

Wurzeln:<br />

w'' = 17<br />

w''' = 39.<br />

j) Man kennt noch e<strong>in</strong>e weitere, wesentlich verschiedene Wurzel von 4, nämlich 2.<br />

Also kann man e<strong>in</strong>en Faktor p als ggT(2035+2, 10379) erhalten. Euklidscher Algorithmus:<br />

10379 = 5•2037 + 194<br />

2037 = 10•194 + 97<br />

194 = 2• 97 + 0<br />

Also ist p = 97. Die vollständige Faktorisierung erhält man als q = 10379 div 97 = 107; <strong>und</strong> p<br />

<strong>und</strong> q s<strong>in</strong>d prim.<br />

(Für Liebhaber: Man beg<strong>in</strong>nt mit den Faktoren, hier p=97 <strong>und</strong> q=107. Die Wurzeln von 4 mod<br />

p <strong>und</strong> q s<strong>in</strong>d jeweils ±2. Um e<strong>in</strong>e von 2 wesentlich verschiedene Wurzel mod p•q zu erhalten,<br />

für die also +2 mod p <strong>und</strong> –2 mod q oder aber –2 mod p <strong>und</strong> +2 mod q gilt, muß man also<br />

CRA(+2, –2) oder CRA(–2, +2) bilden.)<br />

p+1<br />

q+1<br />

k) Sei wp := x 4 <strong>und</strong> wq := x 4 .<br />

Nach §3.4.1.8 ist klar, daß x mod n vier Wurzeln w, w', w'', w''' hat, die aus wp <strong>und</strong> wq von x folgendermaßen errechnet werden können:<br />

w = CRA( wp , wq )<br />

w ' = CRA( wp , -wq )<br />

w ' ' = CRA(-wp , wq )<br />

w ''' = CRA(-wp , -wq ).<br />

Nach §3.4.1.6 ist wp ∈ QRp <strong>und</strong> wq ∈ QRq, aber -wp ∉ QRp <strong>und</strong> -wq ∉ QRq. Nach §3.4.1.7 gilt<br />

3 (1) 2 = 3; 3 (10) 2 = 3 2 = 9; 3 (100) 2 = 9 2 = 81 ≡ –20; 3 (1001) 2 = (–20) 2 •3 = 1200 ≡ –12;<br />

3 (10011) 2 2<br />

= (–12) • 3 = 144 • 3 ≡ 43 • 3 ≡ 129 ≡ 28.<br />

d) 77 = 7•11; φ(77) = 6•10 = 60 <strong>und</strong> 3 ∈ ZZ *<br />

77 , da ggT(3,77) = 1. Also sagt der kle<strong>in</strong>e<br />

Fermatsche Satz: 360 ≡ 1 mod 77.<br />

Also gilt: 3123 ≡ (360 ) 2 • 33 ≡ 12 • 27 ≡ 27.<br />

e) Euklidscher Algorithmus:<br />

101 = 4 •24 + 5;<br />

24 = 4 • 5 + 4;<br />

5 = 1 • 4 + 1.<br />

Rückwärts:<br />

1 = 5 – 1•4 (Jetzt 4 durch 5 <strong>und</strong> 24 ersetzen)<br />

= 5 – 1•(24–4•5) = –24 + 5•5 (Jetzt 5 durch 24 <strong>und</strong> 101 ersetzen)<br />

= –24 + 5•(101–4•24) = 5•101 – 21•24. (Probe: 5•101 = 505, –21•24 = –504)<br />

Also: (24) –1 ≡ –21 ≡ 80.<br />

f) E<strong>in</strong> Inverses von 21 mod 77 gibt's nicht, weil ggT(21, 77) = 7 ≠ 1.<br />

g) Zunächst wenden wir wieder den erweiterten Euklidschen Algorithmus an, um u <strong>und</strong> v mit u•7<br />

+ v•11 = 1 zu suchen. (Auch wenn man es evtl. sofort sieht: –21+22=1):<br />

11 = 1 • 7 + 4;<br />

7 = 1 • 4 + 3;<br />

4 = 1 • 3 + 1.<br />

Rückwärts:<br />

1 = 4 – 1•3<br />

= 4 – 1•(7–1•4) = –7 + 2•4<br />

= –7 + 2•(11–1•7) = 2•11 – 3•7.<br />

Damit s<strong>in</strong>d für p = 7 <strong>und</strong> q = 11 die „Basisvektoren“: up = –21 ≡ 56, vq = 22.<br />

Mit der Formel y = up yq + vq yp ergibt sich: y = –21•3 + 22•2 = (22–21)•2 – 21 = –19 ≡ 58.<br />

(Probe: 58 ≡ 2 mod 7 ∧ 58 ≡ 3 mod 11.)<br />

Für z können wir <strong>in</strong> die gleiche Formel e<strong>in</strong>setzen (up <strong>und</strong> vq muß man ja nur e<strong>in</strong>mal<br />

berechnen). Wir vere<strong>in</strong>fachen vorher: 6 ≡ –1 mod 7 <strong>und</strong> 10 ≡ –1 mod 11. Also:<br />

z = –21•(–1) + 22•(–1) = –1 ≡ 76 mod 77.<br />

Wir hätten das auch noch e<strong>in</strong>facher haben können: Nach Formel (❋) aus §3.4.1.3 ist<br />

z ≡ –1 mod 7 ∧ z ≡ –1 mod 11 ⇔ z ≡ –1 mod 77.<br />

x ∈ QRn ⇔ x ∈ QRp ∧ x ∈ QRq. Also ist w ∈ QRn <strong>und</strong> w', w'', w''' ∉ QRn .<br />

l) Ist die Faktorisierungsannahme falsch, kann e<strong>in</strong> Angreifer e<strong>in</strong>en nichtvernachlässigbaren<br />

Anteil der Moduli n = p•q faktorisieren. Für solche Moduli kann er dann das Euler-Kriterium<br />

anwenden <strong>und</strong> für x, dessen Quadratheit zu prüfen ist,<br />

h) Da alles modulo Primzahlen ist, kann man das Euler-Kriterium anwenden:<br />

( 13<br />

19–1<br />

19<br />

) ≡ 13 2 ≡ (–6) 9 mod 19; (–6) 2 ≡ 36 ≡ –2 ⇒ (–6) 4 ≡ 4; (–6) 8 ≡ 16 ≡ –3;<br />

(–6) 9 ≡ –3•(–6) ≡ 18 ≡ –1: ke<strong>in</strong> Quadrat.<br />

( 2<br />

23 ) ≡ 211 ≡ 2048 ≡ 1 mod 23: Quadrat.<br />

( –1<br />

89 ) ≡ (–1)44 ≡ 1 mod 89: Quadrat.<br />

Der e<strong>in</strong>fache Fall p ≡ 3 mod 4 liegt von den beiden Quadraten nur bei p = 23 vor. Also kann<br />

man hier selbst mit unseren Algorithmenkenntnissen Wurzelziehen: E<strong>in</strong>e Wurzel ist<br />

23+1<br />

w = 2 4 = 26 = 64 ≡ –5 ≡ 18 mod 23. (Probe: (–5) 2 ≡ 25 ≡ 2)<br />

(Die andere Wurzel ist also +5.)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!