Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
Sicherheit in Rechnernetzen: - Professur Datenschutz und ...
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-