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.

62<br />

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

61<br />

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

u p + v q = 1. 52<br />

Die Behauptung ist, daß<br />

y = CRA(yp , yq ) :≡ up yq + vq yp mod n.<br />

Wir müssen also y ≡ yp mod p ∧ y ≡ yq mod q zeigen. Dies sieht man am besten mit folgender<br />

Tabelle:<br />

mod p mod q<br />

up 0 1<br />

vq 1 0<br />

up yq + vq yp 0•yq + 1•yp 1•yq + 0•yp ≡ yp ≡ yq (Die oberen beiden Zeilen folgen aus u p + v q = 1 <strong>und</strong> besagen, daß up <strong>und</strong> vq <strong>in</strong> ZZ n etwas wie zwei<br />

„Basisvektoren“ darstellen, wenn man ZZ n aus ZZ p <strong>und</strong> ZZ q zusammensetzt. Die Berechnung von up<br />

<strong>und</strong> vq kann e<strong>in</strong> für allemal bei Erzeugung des Geheimnisses geschehen.)<br />

φ(p•q) = (p–1)(q–1). 49<br />

Ist n (=p•q) gegeben, so ist φ(n) auszurechnen gleich schwer wie p <strong>und</strong> q zu f<strong>in</strong>den [Hors_85<br />

Seite 187]:<br />

φ(p•q) = (p–1)(q–1) = p•q – (p+q) + 1 = n – (p+q) + 1 zusammengefaßt gilt<br />

p+q = n – φ(p•q) + 1 (**)<br />

3.4.1.4 Quadrate <strong>und</strong> Wurzeln allgeme<strong>in</strong><br />

(p–q) 2 = p2 – 2pq + q2 = p2 + 2pq + q2 – 4pq = (p+q) 2 – 4n durch Wurzelziehen ergibt sich<br />

p–q = √⎺⎺⎺⎺⎺⎺⎺⎺ (p+q) 2 – 4n<br />

E<strong>in</strong>setzen von (**) ergibt p–q = √⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺<br />

(n – φ(p•q) + 1) 2 – 4n<br />

Addition mit (**) ergibt 2p = n – φ(p•q) + 1 + √⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺<br />

(n – φ(p•q) + 1) 2 – 4n<br />

• Für manche kryptographischen Systeme (z.B. RSA) braucht man folgenden Zusammenhang<br />

zwischen der Exponentiation <strong>und</strong> der Elementanzahl: Der kle<strong>in</strong>e Fermatsche Satz sagt: Für alle a ∈<br />

ZZ *<br />

n :<br />

a φ(n) ≡ 1 mod n. 50<br />

Aus §3.4.1.3 wissen wir, wie e<strong>in</strong> Geheimnis p, q helfen kann, e<strong>in</strong>e Funktion f modulo n<br />

auszurechnen, wenn sie modulo Primzahlen viel leichter zu berechnen ist. E<strong>in</strong>e solche Funktion wird<br />

modulares Wurzelziehen se<strong>in</strong>. Man wird also das Geheimnis benötigen, um Wurzeln mod n zu<br />

ziehen, während jeder andere alle<strong>in</strong> anhand von n Quadrieren kann, also die <strong>in</strong>verse Operation<br />

ausführen. Dazu betrachten wir zunächst Wurzeln <strong>und</strong> Quadrate <strong>in</strong> Restklassenr<strong>in</strong>gen genauer.<br />

3.4.1.3 Zusammenhang zwischen ZZn <strong>und</strong> ZZp, ZZ q<br />

(Für n = p•q mit p, q prim <strong>und</strong> p≠q.) Dies wird später dazu dienen, daß der Teilnehmer mit dem<br />

Geheimnis (p, q) geheime D<strong>in</strong>ge modulo p <strong>und</strong> q e<strong>in</strong>zeln rechnen kann, aber dann modulo n, wo alle<br />

anderen Teilnehmer rechnen, verwenden kann.<br />

• Def<strong>in</strong>iert s<strong>in</strong>d sie genau wie man sich das vorstellen würde, außer daß man sich meistens nur um<br />

<strong>in</strong>vertierbare Elemente kümmert:<br />

Die Gr<strong>und</strong>lage für diesen Zusammenhang ist folgende Formel (e<strong>in</strong> Spezialfall des „Ch<strong>in</strong>esischen<br />

Restsatzes“):<br />

QRn := {x ∈ ZZ *<br />

n | ∃ y ∈ ZZn * : y2 ≡ x mod n}.<br />

Die x'e aus dieser Menge heißen quadratische Reste (also das, was <strong>in</strong> IN die Quadratzahlen s<strong>in</strong>d),<br />

<strong>und</strong> e<strong>in</strong> entsprechendes y heißt Wurzel aus x.<br />

a ≡ b mod n ⇔ a ≡ b mod p ∧ a ≡ b mod q. (❋)<br />

• Es gilt wie üblich<br />

Dies sieht man leicht e<strong>in</strong>: Nach Def<strong>in</strong>ition von „≡“ ist dies äquivalent zu<br />

n | (a–b) ⇔ p | (a–b) ∧ q | (a–b),<br />

<strong>und</strong> dies ist klar, weil p•q die Primfaktorzerlegung von n ist. 51<br />

y ist Wurzel aus x ⇒ –y ist auch Wurzel aus x,<br />

denn es ist (–1) 2 = 1.<br />

Wenn man nun z.B. y := f(x) mod n berechnen möchte, aber die Berechnung von f(x) nur modulo<br />

Primzahlen leicht ist, so kann der Geheimnisbesitzer yp := f(x) mod p <strong>und</strong> yq := f(x) mod q<br />

bestimmen, <strong>und</strong> es gilt:<br />

• Andere Gesetze, die man aus IN oder IR gewöhnt ist, gelten aber i.allg. nicht. Beispielsweise kann<br />

e<strong>in</strong>e Zahl durchaus mehr als zwei Wurzeln mod n ≠ p•q haben, z.B. gilt mod 8: 12 ≡ 1 ∧ 32 ≡ 1 ∧<br />

52 ≡ 1 ∧ 72 ≡ 1.<br />

• Die quadratischen Reste bilden aber wenigstens e<strong>in</strong>e (multiplikative) Gruppe: S<strong>in</strong>d x1, x2 ∈ QRn, <strong>und</strong> y1 , y2 ihre Wurzeln, so s<strong>in</strong>d die Wurzeln von x1•x2 <strong>und</strong> x –1<br />

1 gerade y1•y2 <strong>und</strong> y –1<br />

1 : (y1•y2 ) 2<br />

= y 2<br />

1 •y22 = x1•x2 <strong>und</strong> (y –1<br />

1 ) 2 = (y12 ) -1 = x1 –1 .<br />

y ≡ f(x) mod n ⇔ y ≡ yp mod p ∧ y ≡ yq mod q.<br />

Wir müssen also nur noch schauen, ob wir aus yp <strong>und</strong> yq effizient y zusammensetzen können. Das tut<br />

der „Ch<strong>in</strong>esische Restealgorithmus (CRA)“ (der eigentliche Ch<strong>in</strong>esische Restsatz besagt nur, daß e<strong>in</strong><br />

solches y für beliebige yp , yq existiert):<br />

Zunächst bestimmt man mit dem erweiterten Euklidschen Algorithmus ganze Zahlen u, v mit<br />

3.4.1.5 Quadrate <strong>und</strong> Wurzeln mod p<br />

Während modulo beliebigem n nur wenig über Wurzeln <strong>und</strong> Quadrate zu sagen war (s. §3.4.1.4), ist<br />

modulo Primzahlen alles hübsch geordnet, vor allem, weil ZZ p e<strong>in</strong> Körper ist. 53<br />

52 Zwei verschiedene Primzahlen haben ja den ggT 1. Es ist leicht zu sehen, daß der CRA auch funktioniert, wenn p<br />

<strong>und</strong> q ke<strong>in</strong>e Primzahlen, aber weiterh<strong>in</strong> teilerfremd s<strong>in</strong>d. Durch wiederholte Anwendung des CRA kann der<br />

Ch<strong>in</strong>esische Restsatz auch für Produkte bestehend aus mehr als zwei Faktoren abgedeckt werden.<br />

53 Klar: Jedes Element außer 0 hat e<strong>in</strong> multiplikatives Inverses, wie wir oben sahen.<br />

49 Die nicht zu n teilerfremden Zahlen (d.h. mit ggT≠1) s<strong>in</strong>d nämlich e<strong>in</strong>mal 0, dann p, 2p, …, (q–1)p, <strong>und</strong> zuletzt q,<br />

2q, …, (p–1)q, <strong>und</strong> diese 1+(q–1)+(p–1)=p+q–1 Zahlen s<strong>in</strong>d für p≠q alle verschieden.<br />

50 Dies ist e<strong>in</strong> allgeme<strong>in</strong>er Satz aus der Gruppentheorie [Lips_81 Seite 85 Cor. 4, Waer_71 Seite 26]: In jeder endlichen<br />

Gruppe G gilt für jedes Element a: a |G| = 1. Der Beweis ist nicht sehr schwer. Die beiden Gr<strong>und</strong>lagen s<strong>in</strong>d:<br />

1. Für jede Untergruppe H gilt: |H| | |G|.<br />

2. Die Potenzen e<strong>in</strong>es Elementes, also a, a 2 , … bilden e<strong>in</strong>e Untergruppe. Es gibt e<strong>in</strong>e erste Potenz a v = 1, <strong>und</strong><br />

genau ab da wiederholt sich die Folge zyklisch. v wird „Ordnung von a“ genannt. Diese Untergruppe hat also<br />

genau v Elemente, <strong>und</strong> nach 1. folgt v | |G|.<br />

51<br />

Es ist leicht zu sehen, daß der Ch<strong>in</strong>esische Restsatz nicht nur für n = Produkt zweier verschiedener Primzahlen gilt,<br />

sondern auch für n = Produkt beliebig vieler, paarweise teilerfremder natürlicher Zahlen.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!