Elementare Zahlentheorie und Kryptographie
Elementare Zahlentheorie und Kryptographie
Elementare Zahlentheorie und Kryptographie
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
von der Länge ca. 1024 Bit (d.h. ca. 300 Dezimalstellen) zu arbeiten. N hat<br />
dann ca. 600 Dezimalstellen.<br />
Alice wählt des weiteren eine zu ϕ(N) = (p − 1)(q − 1) (vgl. 2.6.3) teilerfremde<br />
Zahl e ∈ {0, 1, · · · , ϕ(N) − 1}. Nach 2.5.1 ist e + ϕ(N)Z Z/ϕ(N)Z eine Einheit,<br />
d.h. es existiert ein d ∈ {0, 1, · · · , ϕ(N) − 1} mit ed = 1 mod ϕ(N)Z. Alice<br />
berechnet diese Zahl d mit dem euklidischen Algorithmus 2.5.3.<br />
Von den bisher errechneten Daten (p, q, N, ϕ(N), e, d) macht Alice nun einen<br />
Teil öffentlich (z.B. auf ihrer Homepage) <strong>und</strong> behält den anderen Teil für sich<br />
(z.B. abgespeichert auf einem USB Stick).<br />
Geheim bleibt p, q, ϕ(N), d, d.h. nur Alice (<strong>und</strong> nicht einmal Bob) kennt diese<br />
Daten.<br />
Öffentlich gemacht wird N <strong>und</strong> e. Insbesondere kennt Bob diese Daten; aber<br />
auch jeder potentielle Angreifer kennt sie.<br />
(N, e) ist der öffentliche Verschlüsselungsschlüssel (kurz: V-Schlüssel) <strong>und</strong> d ist<br />
der geheime (nur Alice kennt ihn) Entschlüsselungsschlüssel (kurz: E-Schlüssel).<br />
Übertragen werden Elemente von P := Z/NZ = {[0], · · · , [N−1]}. Wenn Bob die<br />
Nachricht m ∈ Z/NZ an Alice übermitteln will, so berechnet er c := m e . Für<br />
die Potenzierung kann der Square and Multiply Algorithmus 3.1.1 verwendet<br />
werden. Bob übermittelt dann c.<br />
Alice empfängt c = m e <strong>und</strong> berechnet c d (mit dem Square and Multiply Algorithmus).<br />
Nach dem folgenden Satz ist c d = m; sie erhält also die ursprüngliche<br />
Nachricht m zurück. Ein Angreifer Oskar, der den gesamten Dialog abhört, kann<br />
m nicht durch die selbe Rechnung m = c d wie Alice ermitteln, weil er d nicht<br />
kennt. Mehr dazu später.<br />
Satz 3.3.1 Es gilt m ed = m.<br />
Beweis: Nach 2.6.1 hat man einen bijektiven Ringhomomorphismus<br />
f : Z/NZ → Z/pZ × Z/qZ<br />
Sei (m 1 , m 2 ) := f(m). Es genügt m ed<br />
1 = m 1 <strong>und</strong> m ed<br />
2 = m 2 zu zeigen. (Daraus<br />
folgt nämlich f(m ed ) = f(m) <strong>und</strong> das impliziert m ed = m, weil f injektiv ist.)<br />
Wegen ϕ(N) = (p − 1)(q − 1) <strong>und</strong> ed = 1 mod ϕ(N)Z gibt es ein k ∈ N mit<br />
ed = 1 + k(p − 1)(q − 1). Falls m 1 ∈ (Z/pZ) × = F × p \ {[0]} eine Einheit ist, so<br />
gilt m p−1<br />
1 = 1 nach dem kleinen Satz von Fermat 2.7.2. Daraus folgt<br />
m ed<br />
1 = m 1+k(p−1)(q−1)<br />
1 = m 1 (m p−1<br />
1 ) k(q−1) = m 1 · 1 k(q−1) = m 1 .<br />
Falls m 1 = 0 in Z/pZ gilt, so hat man offensichtlich m ed<br />
1 = m 1 . Also gilt in<br />
jedem Fall m ed<br />
1 = m 1 .<br />
Völlig analog kann man zeigen, daß m ed<br />
2 = m 2 gilt. □<br />
52