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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

78<br />

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

77<br />

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

R<br />

f<br />

0<br />

f<br />

1<br />

Daraus folgt ( 2<br />

n<br />

) = –1.<br />

Nehmen wir nun an, jemand habe e<strong>in</strong>e Kollision gef<strong>und</strong>en, also x, y mit f0 (x)=f1 (y). Dann gilt<br />

s(1)<br />

s(0)<br />

Bild 3-22: M<strong>in</strong>i-GMR für e<strong>in</strong>e 1-Bit-Nachricht. s(0) <strong>und</strong> s(1) s<strong>in</strong>d die möglichen Signaturen.<br />

<strong>Sicherheit</strong>, Skizze: E<strong>in</strong>en echten aktiven Angriff gibt es hier nicht, da nur e<strong>in</strong>e Nachricht signiert<br />

wird. Es kann aber se<strong>in</strong>, daß e<strong>in</strong> Fälscher die Signatur unter m = 0 erhalten hat <strong>und</strong> daraus die unter<br />

m=1 fälschen möchte oder umgekehrt. Man ahnt anhand von Bild 3-22, daß das heißt, daß der<br />

Angreifer e<strong>in</strong>e Kollision f<strong>in</strong>det.<br />

Ganz so e<strong>in</strong>fach ist es aber nicht: Er hat ja bei der e<strong>in</strong>en Hälfte der Kollision die Hilfe des<br />

Unterzeichners gehabt, der das Geheimnis kennt <strong>und</strong> sowieso Kollisionen berechnen kann. Wir<br />

müssen zeigen, daß der Fälscher auch ohne diese Hilfe an irgende<strong>in</strong>e Kollision kommt:<br />

O.B.d.A. wird nur der erste Fall betrachtet, also m = 0 ist gegeben. Wir nehmen an, daß es<br />

hierfür e<strong>in</strong>en guten Fälschungsalgorithmus F mit E<strong>in</strong>gabe (n, R, s(0)) gäbe, <strong>und</strong> zeigen, daß es dann<br />

auch e<strong>in</strong>en guten Kollisionsf<strong>in</strong>de-Algorithmus K gibt:<br />

K : E<strong>in</strong>gabe n.<br />

Wähle e<strong>in</strong>e „Signatur“ S0 ∈ Dn zufällig. (Hier wird gebraucht, daß das alle<strong>in</strong> mit dem öffentlichen<br />

Schlüssel geht. Da S0 nicht mit dem Signieralgorithmus gewählt wird, wird es nicht mit s(0)<br />

bezeichnet. Entsprechendes gilt unten für die Bezeichnung S1 statt s(1).)<br />

Berechne R := f0(S0 ).<br />

Verwende nun F mit E<strong>in</strong>gabe (n, R, S0 ). Wenn F erfolgreich ist, nenne das Ergebnis S1 .<br />

Ausgabe: (S0 , S1 ).<br />

x2 ≡ ± (2y) 2 mod n.<br />

Das Vorzeichen „–“ ist nicht möglich, weil –1 ke<strong>in</strong> Quadrat mod n ist. Also s<strong>in</strong>d x <strong>und</strong> 2y zwei<br />

Wurzeln derselben Zahl. Nach §3.4.1.9 können wir damit def<strong>in</strong>itiv faktorisieren, wenn sie wesentlich<br />

verschieden s<strong>in</strong>d, d.h.<br />

x ≠ ±2y.<br />

Dies folgt daraus, daß sie schon verschiedene Jacobi-Symbole haben: Wegen x, y ∈ Dn haben x <strong>und</strong><br />

y das Jacobi-Symbol +1, <strong>und</strong> wegen §3.4.1.8 gilt<br />

( ±2y<br />

) = (±1)<br />

• (2)<br />

• (y)<br />

= 1 • (–1) • 1 ≠ 1 = (x<br />

n n n n n ).<br />

Das Umkehren mittels Geheimnis geht so: Ist x = f –1<br />

0 (y) gesucht, so testet man zunächst, ob y selbst<br />

e<strong>in</strong> Quadrat ist (s. §3.4.1.7). Andernfalls ist nach Def<strong>in</strong>ition von f0 : y = –x2 , d.h. –y = x2 . Man zieht<br />

also die Wurzel aus y bzw. –y nach dem Verfahren aus §3.4.1.8. Die so erhaltene Wurzel w ist selbst<br />

e<strong>in</strong> Quadrat (vgl. §3.4.1.6), hat also das Jacobi-Symbol +1. Je nachdem, ob sie < oder ≥ n/2 ist,<br />

setzt man x = +w bzw. –w.<br />

Für f –1<br />

1 (y) ist zusätzlich nach dem Wurzelziehen modulo n durch 2 zu dividieren. Da 2 das<br />

Jacobi-Symbol –1 hat, f –1<br />

1 (y) aber im Def<strong>in</strong>itionsbereich der Permutationen liegen, also Jacobi-<br />

Symbol 1 haben muß, muß wegen der Multiplikativität des Jacobi-Symbols der Wert nach dem<br />

Wurzelziehen Jacobi-Symbol –1 haben. Hierzu werden nach dem Wurzelziehen mod p <strong>und</strong> mod q die<br />

Ergebnisse mit unterschiedlichem Vorzeichen <strong>in</strong> den CRA e<strong>in</strong>gesetzt.<br />

Klar ist, daß dieses K immer e<strong>in</strong>e Kollision f<strong>in</strong>det, wenn se<strong>in</strong> Aufruf von F erfolgreich ist. Zu zeigen<br />

ist also nur, daß F hier genauso oft erfolgreich ist, wie wenn es mit e<strong>in</strong>er „echten“ Referenz <strong>und</strong><br />

Signatur aufgerufen wird. Echte Referenzen s<strong>in</strong>d zufällig, <strong>und</strong> das hiesige R ist auch zufällig (weil S0 zufällig ist <strong>und</strong> f0 e<strong>in</strong>e Permutation ist, also jedes R bei genau e<strong>in</strong>en S0 vorkommt). Bei diesem R ist<br />

S0 die (e<strong>in</strong>zige) richtige Signatur.<br />

3.5.3 Gr<strong>und</strong>signaturen: Große Tupel kollisionsresistenter Permutationen<br />

Allgeme<strong>in</strong>eres: Wenn man kollisionsresistente Permutationenpaare mit Geheimnis präzis def<strong>in</strong>iert<br />

(s. [GoMR_88]), benötigt man nicht nur e<strong>in</strong> Paar (f0, f1), sondern e<strong>in</strong>e ganze Familie davon <strong>in</strong><br />

Abhängigkeit von e<strong>in</strong>em Schlüssel, damit jeder, der so e<strong>in</strong> Paar braucht, e<strong>in</strong>s wählen kann, von dem<br />

nur er das Geheimnis kennt. Dazu gehört e<strong>in</strong> Schlüsselgenerierungsalgorithmus gen, mit dem man<br />

das Geheimnis <strong>und</strong> den öffentlichen Schlüssel wählen kann.<br />

Bei der konkreten Konstruktion war das automatisch der Fall: gen ist der Algorithmus zur Wahl<br />

von p <strong>und</strong> q, die das Geheimnis s<strong>in</strong>d, <strong>und</strong> zur Berechnung des öffentlichen Schlüssels n. Für jedes n<br />

ergibt sich e<strong>in</strong> anderes Paar, man müßte also genauer f (n)<br />

0 , f1<br />

(n) schreiben.<br />

Die Kollisionsresistenz wird wieder so def<strong>in</strong>iert, daß ke<strong>in</strong> polynomialer Algorithmus für lange<br />

Schlüssel mit signifikanter Wahrsche<strong>in</strong>lichkeit Kollisionen f<strong>in</strong>det, analog zur Faktorisierungsannahme.<br />

Außerdem braucht man, daß man alle<strong>in</strong> mit dem öffentlichen Schlüssel effizient e<strong>in</strong> zufälliges<br />

Element des jeweiligen Def<strong>in</strong>itionsbereichs wählen kann. Konkret geht das so:<br />

Wir bauen jetzt als zweiten Schritt GMR so aus, daß e<strong>in</strong>e beliebig lange Nachricht signiert werden<br />

kann (aber nach wie vor nur e<strong>in</strong>e e<strong>in</strong>zige).<br />

Die Idee ist dieselbe wie oben für e<strong>in</strong> Bit: Man hätte gern für jede dieser Nachrichten e<strong>in</strong>e<br />

Funktion fm (so wie oben f0 <strong>und</strong> f1 für die zwei Nachrichten m = 0 bzw. 1). Als öffentlichen<br />

Schlüssel wählt man wieder zusätzlich zu n e<strong>in</strong>e Referenz R69 , <strong>und</strong> die Signatur unter die Nachricht<br />

m soll<br />

Wahl e<strong>in</strong>es zufälligen Elementes aus Dn: Man wählt z ∈ ZZ *<br />

n zufällig <strong>und</strong> quadriert es; ist z2 < n/2, so wählt man x := z2 , andernfalls x := –z2 .<br />

s(m) := f m –1 (R)<br />

3.5.2 M<strong>in</strong>i-GMR für e<strong>in</strong>e Nachricht aus nur e<strong>in</strong>em Bit<br />

se<strong>in</strong> (Bild 3-23), wobei man f m –1 wieder nur mit Hilfe des Geheimnisses berechnen kann.<br />

Wenn nur e<strong>in</strong>e Nachricht signiert werden soll, <strong>und</strong> diese nur e<strong>in</strong> Bit lang se<strong>in</strong> wird, kann man e<strong>in</strong>fach<br />

e<strong>in</strong> kollisionsresistentes Permutationenpaar nehmen: Der geheime Signierschlüssel s ist (p, q); der<br />

öffentliche Testschlüssel t besteht aus n <strong>und</strong> e<strong>in</strong>er sogenannten Referenz R, die der Unterzeichner<br />

zufällig aus Dn wählt.<br />

Die Signatur unter die Nachricht m = 0 ist f –1<br />

0 (R), die unter m = 1 ist f1 –1 (R) (Bild 3-22).<br />

69<br />

Für diesen vere<strong>in</strong>fachten Fall, daß die Referenz dem Angreifer vor se<strong>in</strong>er Wahl der zu signierenden Nachricht bekannt<br />

ist, ist die <strong>Sicherheit</strong> von GMR nicht bewiesen; wir sehen auch nicht, wie sie bewiesen werden könnte.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!