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.

414<br />

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

413<br />

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

ziehen aus w wieder mod p <strong>und</strong> q e<strong>in</strong>zeln rechnen. Wir hätten also auch w nicht mit dem QRA<br />

zusammensetzen müssen, d.h. die ganzen e<strong>in</strong>geklammerten Teile auslassen können.)<br />

Also: Wurzel w* aus dem Ergebnis von Schritt 1:<br />

Modulo 11: 4 (11+1)/4 = 43 ≡ 9;<br />

Modulo 7: 2 (7+1)/4 = 22 ≡ 4;<br />

Als nächstes muß durch 2 dividiert werden. Auch das geht mod p, q e<strong>in</strong>zeln: (Erweiterter<br />

Euklidscher Algorithmus zur Bestimmung des multiplikativen Inversen von 2 <strong>und</strong> anschließende<br />

Multiplikation hiermit, oder Halbieren <strong>in</strong> ZZ von w* oder w*+p bzw. w*+q.)<br />

Modulo 11: w*/2 ≡ 10;<br />

Modulo 7: w*/2 ≡ 2;<br />

Die gesuchte Signatur S ist also e<strong>in</strong>e der 4 Zahlen CRA(±10, ±2). Vor dem QRA müssen wir<br />

wieder für das Jacobi-Symbol +1 sorgen. Statt des Euler-Kriteriums können wir verwenden,<br />

daß (§3.5.1)<br />

) ≡ +1.<br />

( 2<br />

) = –1 <strong>und</strong> (2<br />

p q<br />

Danach ist, da die Jacobi-Symbole von w* mod p <strong>und</strong> q jeweils 1 waren,<br />

( w*/2<br />

) = –1 <strong>und</strong> (w*/2)<br />

≡ +1.<br />

p q<br />

Also bilden wir CRA(–10, 2). (Man könnte auch CRA(10, –2) nehmen.)<br />

CRA(–10, 2) = CRA(1, 2) = –21•1 + 22•2 = 23.<br />

Wieder haben wir zufällig bereits diejenige der Zahlen ±S erwischt, die < 77/2 ist ⇒ S = 23.<br />

Das resultierende Authentikationssystem könnte gebrochen werden, wenn der Angreifer<br />

entweder den Authentikationscode oder den s2-mod-n-Generator brechen kann. Der Authentikationscode<br />

ist aber <strong>in</strong>formationstheoretisch sicher, also bleibt der s2-mod-n-Generator. Für Spezialisten: Man müßte beweisen können, daß der Angreifer, um das System zu brechen,<br />

wirklich die QRA (Quadratische-Reste-Annahme) brechen muß, d.h. daß das resultierende<br />

System kryptographisch sicher ist. Skizze: Wenn man den Authentikationscode brechen<br />

kann, wenn die Schlüssel vom s2-mod-n-Generator gewählt werden, während er mit zufälligen<br />

Schlüsseln unbrechbar ist, ist das e<strong>in</strong> meßbarer Unterschied zwischen den Pseudozufallsfolgen<br />

<strong>und</strong> den echten Zufallsfolgen. Es ist aber bewiesen, daß unter der QRA beim s2-mod-n- Generator die Folgen durch ke<strong>in</strong>en statistischen Test von echten Zufallsfolgen zu unterscheiden<br />

s<strong>in</strong>d.<br />

e) Der Schlüsselaustausch bleibt gleich. Allerd<strong>in</strong>gs muß sich jeder der beiden nach der ersten<br />

Nachricht nicht mehr den Startwert s, sondern jeweils das aktuelle si merken. {Dies setzt<br />

voraus, daß der Empfänger die Schlüsseltexte jeweils genau e<strong>in</strong>mal <strong>und</strong> <strong>in</strong> der gleichen<br />

Reihenfolge entschlüsselt, wie sie der Verschlüsseler verschlüsselt hat. Andernfalls muß sich<br />

der Entschlüsseler mehr merken. Vergleiche auch §3.8.2.)<br />

f) Nach §3.4.1.7 <strong>und</strong> §3.4.1.8 sowie Aufgabe 3-9 k) hat mod n (mit n=p•q, p, q ≡ 3 mod 4,<br />

p≠q) jedes Quadrat genau vier Wurzeln, von denen genau e<strong>in</strong>e selbst e<strong>in</strong> Quadrat ist. Die Wurzel<br />

aus 1, die selbst wieder e<strong>in</strong> Quadrat ist, ist 1. Also gilt: Ist s0 ≠ 1, so s<strong>in</strong>d auch alle folgenden<br />

<strong>in</strong>neren Zustände ≠ 1, denn 1 entsteht eben nur aus dem Quadrat 1. Also ist die Wahrsche<strong>in</strong>lichkeit,<br />

nach i Schritten den <strong>in</strong>neren Zustand 1 erreicht zu haben, gleich der Wahrsche<strong>in</strong>lichkeit,<br />

als Startwert s zufällig e<strong>in</strong>e der vier Wurzeln der 1 zu wählen, also 4 / |ZZ *<br />

n |.<br />

Anmerkungen:<br />

1. Es ist egal, ob erst durch 2 dividiert <strong>und</strong> dann der CRA angewandt wird oder umgekehrt.<br />

2. Wenn Sie als Signatur 12 erhalten, dann haben Sie vergessen, die Jacobi-Symbole zu<br />

beachten. 12 hat das Jacobi-Symbol<br />

) = (12)<br />

• (12<br />

11 7 ) = 125 mod 11 • 123 mod 7 = 15 mod 11 • (-2) 3 mod 7 = -1.<br />

3-15 GMR<br />

a) R = 28 liegt nicht im Def<strong>in</strong>itionsbereich des Permutationenpaares, denn ggT(R, n) = ggT(28,<br />

77) = 7. Also kann man daran auch nichts signieren. Deswegen folgt jetzt das Beispiel mit R =<br />

17. (Dabei ist 17 ≡ 28 mod 11, also kann jemand, der mit 28 gerechnet hat, se<strong>in</strong>e Rechnung<br />

( 12<br />

77<br />

12 liegt also nicht im Def<strong>in</strong>itionsbereich der Permutationen. Das Vertrackte ist, daß der<br />

Test der Signatur sche<strong>in</strong>bar trotzdem klappt: f0(f1(12)) = 17, denn f1(12)= 4•122 mod 77 =<br />

4•144 mod 77 = 4 • -10 mod 77 = 37. f0 (37) = -(372 ) mod 77 = 17. Also muß die<br />

Prüfung, ob die Signatur im Def<strong>in</strong>itionsbereich der Permutationen liegt, Teil des Tests der<br />

Signatur se<strong>in</strong>.<br />

mod 11 hier wiederf<strong>in</strong>den.)<br />

Da ggT(17, 77) = 1 <strong>und</strong> ( 17<br />

6<br />

) = (17)<br />

• (17)<br />

= ( ) • (3<br />

77 11 7 11 7 ) = (6(11–1)/2 mod 11) • (3 (7–<br />

1)/2 mod 7) = (-1) • (-1) = 1, liegt R = 17 im Def<strong>in</strong>itionsbereich des Permutationenpaares.<br />

Da die Nachrichten immer 2 bit lang s<strong>in</strong>d, braucht man ke<strong>in</strong>e präfixfreie Abbildung. Es ist<br />

also direkt S := f –1<br />

m (R) zu bilden. Dies ist (vgl. §3.5.3)<br />

S = f –1<br />

01 (17) = f1<br />

–1 (f0 –1 (17)).<br />

b) Da 8 Nachrichten signiert werden sollen, hat der Referenzenbaum die Tiefe b = 3, wie <strong>in</strong> den<br />

Bildern <strong>in</strong> §3.5.4.<br />

Analog zu Bild 3-26 besteht die 4. Signatur, d.h. die an R011 hängende, aus folgenden<br />

Teilen: („Teile“ s<strong>in</strong>d dabei genau die Punkte: Die schwarzen Referenzen <strong>und</strong> die grauen<br />

Signaturen.)<br />

Schritt 1: Zunächst wird x := f –1<br />

0 (17) benötigt. Nach §3.5.2 ist zunächst zu testen, ob 17 oder<br />

–17 das Quadrat ist. (Vgl. §3.4.1.7)<br />

Modulo p = 11: 17 ≡ 6; Euler-Kriterium: 6 (11–1)/2 = 65 ;<br />

62 ≡ 3; 64 ≡ 32 ≡ 9; 65 ≡ 9•6 ≡ –1 ⇒ 17 ∉ QRp ⇒ 17 ∉ QRn .<br />

Also ist die Wurzel w aus –17 ≡ 60 zu ziehen.<br />

Modulo p = 11: 60 ≡ 5; 5 (11+1)/4 = 53 ≡ 4;<br />

Modulo q = 7: 60 ≡ 4; 4 (7+1)/4 = 42 ≡ 2;<br />

(Man kann das folgende abkürzen, aber der Vollständigkeit halber sei es zunächst vorgeführt:<br />

Mit dem QRA <strong>und</strong> den „Basisvektoren“ aus Aufg. 3-9 g) ergibt sich w = –21•4 + 22•2 =<br />

– 40 ≡ 37. Dies w ist diejenige der 4 Wurzeln, die selbst Quadrat ist. x soll die mit Jacobi-<br />

Symbol +1 se<strong>in</strong> (also ±w), die < 77/2 ist. Das trifft auf w zu, also x = 37.)<br />

Schritt 2: Jetzt wird S = f –1<br />

1 (x) = f1 –1 (37) berechnet, also S ∈ Dn mit (2S) 2 ≡ ±37.<br />

(Als erstes müßten wir wieder testen, ob x oder –x das Quadrat ist. Das wissen wir aber noch<br />

aus dem ersten Schritt: Wir hatten ja sowieso erst die Wurzel w berechnet, die das Quadrat<br />

war. Man kann also gleich mit w weitermachen. Außerdem müssen wir jetzt zum Wurzel-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!