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.

72<br />

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

71<br />

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

δ-Anteil) Zahlen n der Länge l höchstens e<strong>in</strong>en 1/lt Vorteil für n beim Vorhersagen von Q(l)-bit-<br />

Folgen nach l<strong>in</strong>ks.<br />

(In der Orig<strong>in</strong>al-Publikation [BlBS_86] wird er x2-mod-N-Generator genannt. Da hier x als<br />

Variablenbezeichner für den Klartext benutzt wird <strong>und</strong> da <strong>in</strong> vielen anderen Papieren statt des großen<br />

N e<strong>in</strong> kle<strong>in</strong>es n als Bezeichner für den aus zwei großen Primzahlen zusammengesetzten Modulus<br />

verwendet wird, führe ich der Konsistenz wegen diese neue Schreibweise e<strong>in</strong>.)<br />

Bew. (Skizze)<br />

Annahme: Es gibt e<strong>in</strong>en Prädiktor P für den s2-mod-n-Generator mit ε-Vorteil auf Zahlen der<br />

Länge l. (Um den Beweis zu vervollständigen, müssen alle Quantoren über das ε wie bei c)<br />

gesetzt werden.)<br />

Def. des s 2 -mod-n-Generators:<br />

1. Schritt: P kann effizient <strong>und</strong> uniform <strong>in</strong> e<strong>in</strong> Verfahren P* transformiert werden, das mit e<strong>in</strong>em<br />

ε-Vorteil das letzte Bit von s0 zu gegebenem s1 aus QRn rät:<br />

Gegeben sei s1 . Bilde b1 b2 b3 ... mit dem s2-mod-n-Generator. Nun wende P auf diese<br />

Folge an. Dann rät P das Bit b0 mit ε-Vorteil. Genau dies ist das passende Ergebnis von P*.<br />

2. Schritt: Sei nun das Verfahren P* gegeben. Daraus wird effizient <strong>und</strong> uniform e<strong>in</strong> Verfahren R<br />

konstruiert, das mit ε-Vorteil rät, ob e<strong>in</strong> gegebenes s* mit Jacobi-Symbol +1 e<strong>in</strong> Quadrat ist:<br />

Gegeben sei s*. Setze s1 := s* 2 . Wende P* auf s1 an. P* berechnet also das letzte Bit von<br />

s0 mit ε-Vorteil. Dabei s<strong>in</strong>d s* <strong>und</strong> s0 Wurzeln von s1 , <strong>und</strong> zwar ist s0 genau die e<strong>in</strong>e, die<br />

selbst e<strong>in</strong> Quadrat ist63 . Also gilt:<br />

s* ∈ QRn ⇔ s* = s0 .<br />

Anhand der letzten Bits, also des bekannten b* von s* <strong>und</strong> des geratenen b0 von s0 soll nun<br />

entschieden werden, ob s* = s0 ist. Klar ist: Wenn s* = s0, dann müssen auch ihre letzten Bits<br />

gleich se<strong>in</strong>. Gezeigt wird nun, daß umgekehrt aus s* ≠ s0 auch folgt, daß die letzten Bits<br />

verschieden s<strong>in</strong>d: Wenn s* ≠ s0 , dann ist s* ≡ –s0 mod n (wegen den gleichen Jacobi-<br />

Symbolen), also s* = n – s0 <strong>in</strong> ZZ. n ist aber ungerade, also haben s* <strong>und</strong> s0 verschiedene<br />

letzte Bits.<br />

Also endet das Verfahren R so: Genau dann, wenn b* = b0 , wird geraten, daß s* e<strong>in</strong><br />

Quadrat ist, <strong>und</strong> rät damit genausogut wie P*.<br />

Als Schlüssel wähle n = p • q mit |p| ≈ |q| <strong>und</strong> p, q Primzahlen ≡ 3 mod 4.<br />

(Betragsstriche bedeuten hier „Länge“ <strong>in</strong> Bits. p <strong>und</strong> q werden zufällig <strong>und</strong> unabhängig gewählt,<br />

wobei die <strong>in</strong> §3.4.1 genannten Bed<strong>in</strong>gungen an p <strong>und</strong> q e<strong>in</strong>gehalten werden müssen – sonst kann<br />

n faktorisiert werden.)<br />

Als Startwert wähle s zufällig <strong>in</strong> ZZ n * = {a ∈ ZZ | 0 < a < n, ggT(a, n) = 1}.<br />

Generierung der Folge:<br />

Berechne sukzessive die <strong>in</strong>neren Zustände s0 := s2 mod n, si+1 := s 2<br />

i mod n ,<br />

<strong>und</strong> bilde <strong>in</strong> jedem Schritt bi := si mod 2 (= letztes Bit von si )<br />

Ausgabe: b0 b1 b2 ...<br />

(Als Merkhilfe für den Bezeichner si : <strong>in</strong>nerer Zustand = Status = Stand des Generators)<br />

Beispiel:<br />

n = 3 • 11 = 33, s = 2<br />

si : 4 16 25 31 4 . . .<br />

bi: 0 0 1 1 0 ...<br />

<strong>Sicherheit</strong>sbetrachtung<br />

3. Schritt: Das so konstruierte Verfahren R steht im Widerspruch zur QRA.<br />

Die <strong>Sicherheit</strong> des s2-mod-n-Generators kann unter der Faktorisierungsannahme bewiesen werden<br />

[ACGS_84, ACGS_88]. Hier wird aber nur der etwas e<strong>in</strong>fachere Beweis unter der Quadratische-<br />

Reste-Annahme (QRA) gezeigt (siehe §3.4.1.9).<br />

Anmerkung: Man kann zeigen, daß man auch mehr als e<strong>in</strong> Bit pro Quadrierungsschritt nehmen kann,<br />

nämlich O(log(l)).<br />

Beh. Unter QRA ist der s2-mod-n-Generator e<strong>in</strong> unvorhersagbarer (kryptographisch starker)<br />

PBG.<br />

3.4.4 s 2 -mod-n-Generator als asymmetrisches Konzelationssystem<br />

Man kann den s2-mod-n-Generator auch als asymmetrisches Konzelationssystem verwenden (Bild 3-<br />

19):<br />

Gemäß dem obigen Absatz über Forderungen an PBG genügt es, zu beweisen, daß es ke<strong>in</strong>en<br />

Prädiktor gibt, der das l<strong>in</strong>keste Bit von Folgen, die der s2-mod-n-Generator erzeugt, gut aus den<br />

restlichen Bits voraussagen kann. Genauer heißt das:<br />

• Der geheime Schlüssel besteht aus den Faktoren p <strong>und</strong> q von n.<br />

a) E<strong>in</strong> Prädiktor P[•, •] ist e<strong>in</strong> probabilistischer, polynomial zeitbeschränkter Algorithmus, der bei<br />

E<strong>in</strong>gabe von n, b1 ... bk (bi ∈ {0, 1}) den Wert 0 oder 1 ausgibt.<br />

• Der öffentliche Schlüssel ist n.<br />

b) Man sagt, P habe für e<strong>in</strong> gewisses n e<strong>in</strong>en ε-Vorteil beim Vorhersagen nach l<strong>in</strong>ks von k-Bit-<br />

Folgen des s2-mod-n-Generators gdw.<br />

• E<strong>in</strong> Sender <strong>und</strong> e<strong>in</strong> Empfänger haben ke<strong>in</strong>en geheimen Startwert s mehr mite<strong>in</strong>ander ausgetauscht,<br />

sondern zu jeder Nachricht wählt sich der Sender e<strong>in</strong>en neuen, zufälligen Startwert s. (Dadurch<br />

wird die Verschlüsselung <strong>in</strong>determ<strong>in</strong>istisch, d.h. gleiche Klartexte werden nicht notwendigerweise<br />

als gleiche Schlüsseltexte verschlüsselt, vgl. §3.1.1.1 Anmerkung 2.) Damit der Empfänger<br />

trotzdem entschlüsseln kann, soll ausgenutzt werden, daß er mittels p <strong>und</strong> q Wurzeln modulo n<br />

ziehen kann.<br />

W(P[n,b 1 (s) ... bk (s)] = b0 (s))<br />

s∈QRn ><br />

φ(n) / 4<br />

1<br />

2<br />

+ ε<br />

mit bi (s) = letztes Bit von s2i mod n. (Beachte, daß φ(n)/4 die Stichprobengröße ist, da s beim<br />

Vorhersagen nach l<strong>in</strong>ks e<strong>in</strong> quadratischer Rest se<strong>in</strong> muß – sonst kann man nicht Wurzelziehen. Im<br />

Gegensatz dazu darf bei der Generierung der Folge nach rechts s beliebig aus ZZ *<br />

n se<strong>in</strong>.)<br />

∑<br />

63 Dies wurde schon <strong>in</strong> Aufgabe 3-9 k) gezeigt: Daß nur e<strong>in</strong>e der 4 Wurzeln selbst e<strong>in</strong> Quadrat ist, folgt, weil p ≡ q ≡<br />

3 mod 4. Wie <strong>in</strong> §3.4.1.6 gezeigt, ist dann von den zwei Wurzeln ±wp aus s1 mod p nur e<strong>in</strong>e e<strong>in</strong> Quadrat, <strong>und</strong><br />

genauso für ±wq . Gemäß §3.4.1.7 s<strong>in</strong>d die 4 Wurzeln von s1 Komb<strong>in</strong>ationen aus ±wp <strong>und</strong> ±wq . Zuletzt ist (auch<br />

nach §3.4.1.7) e<strong>in</strong>e Komb<strong>in</strong>ation genau dann e<strong>in</strong> Quadrat, wenn beide Teile es s<strong>in</strong>d.<br />

c) Der s2-mod-n-Generator ist sicher gdw. für jeden Prädiktor P, jede Konstante 0 < δ < 1, jedes<br />

Polynom Q <strong>und</strong> jede natürliche Zahl t gilt: Sofern l genügend groß ist, hat P für alle (außer e<strong>in</strong>em

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!