Vorlesung03

Werbung
Kleiner Fermatscher Satz,
Chinesischer Restsatz,
Eulersche
ϕ-Funktion,
RSA
Manfred Gruber
http://www.cs.hm.edu/~gruber
SS 2008, KW 15
M.Gruber, SS 2008
Diskrete Mathematik
Kleiner Fermatscher Satz
Satz 1.
Sei
p
prim und
ap−1
Beweis
f
a∈
mod
Betrachte die Abbildung
ist injektiv, denn aus
Z∗p
. Dann ist
p=1
f : Z∗p → Z∗p , x 7→ a ⊗ x.
a⊗x=a⊗y
folgt
x = a−1 ⊗ a ⊗ x = a−1 ⊗ a ⊗ y = y.
Da
Z∗p endlich ist, ist f auch surjektiv, also bijektiv. Daher ist
{1,2, . . . , p − 1} = {a ⊗ 1, a ⊗ 2, . . . , a ⊗ (p − 1)},
(wobei hier nicht behauptet wird, dass die Reihenfolge der Aufzählungen links und rechts die gleiche ist). Damit sind auch die
folgenden Produkte gleich:
1⊗· · ·⊗(p−1) = f(1)⊗· · ·⊗f(p−1) = ap−1 ⊗1⊗· · ·⊗(p−1).
Dividiert man durch
1 ⊗ · · · ⊗ (p − 1),
steht die Behauptung da.
1
M.Gruber, SS 2008
Diskrete Mathematik
Chinesischer Restsatz im Fall
Beispiel 1.
Sei
ψ:
Z6 → Z2 × Z3
Z6
die Abbildung
x 7→ (ψ1(x), ψ2(x)) = (x mod 2, x mod 3) .
ψ
ist bijektiv (nachprüfen!) und es gilt
ψ(x ⊕ y) = (ψ1(x) ⊕ ψ1(y), ψ2(x) ⊕ ψ2(y))
(1)
ψ(x ⊗ y) = (ψ1(x) ⊗ ψ1(y), ψ2(x) ⊗ ψ2(y))
(2)
Führt man in
plikation
Z2 × Z3
eine Addition
⊕
und eine Multi-
⊗ ein, indem man komponentenweise mit den
vorhandenen Additionen und Multiplikationen rechnet,
dann kann man (1) und (2) als
ψ(x ⊕ y) = ψ(x) ⊕ ψ(y)
(3)
ψ(x ⊗ y) = ψ(x) ⊗ ψ(y)
(4)
schreiben. Diese Eigenschaften machen
ψ
zu einem
Ring-Homomorhismus.
2
M.Gruber, SS 2008
Die
Diskrete Mathematik
Umkehrabbildung
ψ−1
ist
ebenfalls
ein
Ring-
Homomorphismus.
Für
a = ψ(x)
und
b = ψ(y)
aus
Z2 × Z3
gilt nämlich
ψ−1(a ⊕ b) = ψ−1(ψ(x) ⊕ ψ(y))
= ψ−1(ψ(x ⊕ y))
=x⊕y
= ψ−1(a) ⊕ ψ−1(b) ,
und
ψ−1(a ⊗ b) = ψ−1(ψ(x) ⊗ ψ(y))
= ψ−1(ψ(x ⊗ y))
=x⊗y
= ψ−1(a) ⊗ ψ−1(b) .
3
M.Gruber, SS 2008
Diskrete Mathematik
ψ−1(x, y)?
Wie berechnet man
Es genügt,
u1 = ψ−1(1,0)
und
u2 = ψ−1(0,1)
zu
kennen, denn
ψ−1(x, y)
=
ψ−1(x,0) ⊕ ψ−1(0, y)
=
x ⊗ ψ−1(1,0) ⊕ y ⊗ ψ−1(0,1) .
Für
u1
muss gelten:
u1
mod
2=1
und
u1
mod
3 = 0,
Für
u2
muss gelten:
u2
mod
2=0
und
u2
mod
3 = 1.
2 und 3 sind teilerfremd und erfüllen in
Z
die Gleichung
1 · 3 + (−1) · 2 = 1.
In
Z6
liest sich diese Gleichung als
Der erste Summand hat die von
3 ⊕ 4 = 1.
u1
geforderten Eigen-
schaften, der zweite Summand hat die von
u2
gefor-
derten Eigenschaften.
Also ist
u1 = 3
und
u2 = 4.
4
M.Gruber, SS 2008
Diskrete Mathematik
Chinesischer Restsatz
Satz 2. [Chinesischer Restsatz]
m1 · · · mr ∈
mi > 1.
N
m
Sei
=
mit paarweise teilerfremden Zahlen
Dann ist
ψ:
Zm → Zm × Zm
1
2
× ... ×
Zm
r
x 7→ (x mod m1, x mod m2, . . . , x mod mr)
ein bijektiver Homomorphismus der Ringe.
Bemerkung 1.
Ist
m∈
N
gegeben, so bietet sich
an, die Faktorisierung
kr
m = pk1
1 · · · pr
disjunkten Primzahlen
pi
von
zen:
Zm
mit paarweise
zur isomorphen Darstellung
im Sinne des Chinesischen Restsatzes zu nut-
Zm =∼ Zp
k1
1
× ··· ×
Zp
kr
r
.
5
M.Gruber, SS 2008
Diskrete Mathematik
Bemerkung 2.
Zm
2
×...×
Bezeichnet
Zm
r , das an der
den übrigen Stellen eine
0
ei das Element in
i-ten
ψ−1(ei) ∈
Zm
1
1
und an
hat, so kann man die für die
Konstruktion der Umkehrabbildung
ÿen
Stelle eine
Zm ×
ψ−1 wichtigen Grö-
der (vom erweiterten euklidischen
Algorithmus gelieferten) Gleichung
a
Y
mk + bmi = 1
k6=i
entnehmen:
Y ψ−1(ei) = a
mk mod m .
k6=i
6
M.Gruber, SS 2008
Diskrete Mathematik
Die Eulersche
ϕ(m)
Sei
die Anzahl der Elemente in
(Eulersche
k
Z∗m
(m
∈
N
)
ϕ-Funktion). Sei m = p1 1 · · · pkr r mit paar-
weise disjunkten Primzahlen
Restsatz ist ein
alle
ϕ-Funktion
k
x mod pi i
x∈
in
Zp
Zm
pi. Nach dem Chinesischen
genau dann invertierbar, wenn
ki invertierbar sind, also ist
i
k
ϕ(m) = ϕ(p1 1 ) · · · ϕ(pkr r ) .
In jedem
Zp
ki
i
sind alle Elemente zu
ausser Vielfache von
k −1
pi i
Stück, nämlich
pi .
k
pi i
teilerfremd
Von diesen Vielfachen gibt es
k −1
0 · p,1 · p,2 · p, . . . , (pi i
− 1) · p.
Also ist
k
k
k −1
ϕ(pi i ) = pi i − pi i
k
= pi i (1 − 1/pi)
und insgesamt
ϕ(m) =
Y
i
k
pi i (1
− 1/pi) = m
Y
(1 − 1/pi) .
i
7
M.Gruber, SS 2008
Beispiel 2.
ϕ(9699690)
Diskrete Mathematik
9699690 = 2 · 3 · 5 · 7 · 11 · 13 · 17 · 19.
=
9699690 · (1 − 1/2) · · · (1 − 1/19)
=
9699690 · 1/2 · · · 18/19
=
1 · 2 · 4 · 6 · 10 · 12 · 16 · 18
=
1658880
8
M.Gruber, SS 2008
Diskrete Mathematik
RSA: Schlüsselerzeugung
1. Man bestimmt groÿe Primzahlen
p
q
und
sind z.B. 1024-Bit-Zahlen) und berechnet
N
(groÿ
N = pq.
ist der Modulus.
2. Man berechnet
eine zu
ϕ(N)
ϕ(N) = (p − 1)(q − 1)
teilerfremde Zahl
e
und wählt
zwischen
1
und
ϕ(N).
e
ist der öentliche Exponent.
3. Man bestimmt das
d.h. diejenige Zahl
ϕ(N)-modulare
d
d · e mod ϕ(N) = 1
d
4.
zwischen
1
Inverse
und
d
ϕ(N),
zu
e,
für die
gilt.
ist der private Exponent.
(N, e)
ist der öentliche Schlüssel.
Es ist keine einfache Methode bekannt,
sieren, oder aus
(N, e)
N
zu faktori-
den privaten Exponenten
d
zu
berechnen.
9
M.Gruber, SS 2008
Diskrete Mathematik
RSA: Ver- und Entschlüsseln
Ein Sender will einem Empfänger eine geheime Botschaft schicken. Der öentliche Schlüssel des Empfängers sei
Botschaft kann eine beliebige Zahl
x∈
(N, e).
Die
ZN = {z mod N | z ∈ Z}
sein.
1. Der Sender verschlüsselt
x mit der Verschlüsselungsfunktion
E : ZN → ZN ,
und sendet
E(x) = xe
mod
x 7→ xe
mod
N
N.
2. Der Empfänger entschlüsselt
E(x)
mit der Entschlüsselungs-
funktion
D : ZN → ZN ,
y 7→ yd
mod
N
und kommt so wegen
D(E(x)) = E(x)d
mod
N = (xe )d
mod
N=x
zum Klartext der Botschaft.
Wesentlich ist hier:
1
(xe)d
mod
N = x.
1
Erklärung nächste Seite.
10
M.Gruber, SS 2008
RSA:
Diskrete Mathematik
(xe)d mod N = x,
Betrachte die Botschaft
x
in
warum?
Zp × Zq
:
x = (x mod p, x mod q).
Es ist
(x mod p)ed = x mod p
x mod q,
denn
und
ed mod ϕ(N) = 1,
(x mod q)ed =
d.h.
ed = kϕ(N) + 1 = k(p − 1)(q − 1) + 1,
folglich (Kleiner Fermat!)
p−1 k(q−1)
(x mod p)ed = ((x
mod p)
(x mod p)
|
{z
})
=1
q−1 k(p−1)
(x mod q).
(x mod q)ed = ((x
mod q)
{z
})
|
=1
11
M.Gruber, SS 2008
Diskrete Mathematik
RSA: Beispiel
(Unrealistisch, Zahlen viel zu klein.)
Beispiel 3.
1. Wir wählen
2.
p = 97, q = 103 ⇒ N = pq = 9991.
ϕ(N) = (p − 1)(q − 1) = 96 · 102 = 9792.
Verschlüsselungsexponent
e = 193
Wir wählen als
(teilerfremd zu
9792).
3. Wir bestimmen pro forma mit dem erweiterten euklidischen
Algorithmus den
ggT(193, 9792)
(der natürlich
1
ist) und
bekommen die Darstellung
(−53) · 9792 + 2689 · 193 = 1, der
wir entnehmen, dass
das
2689
9792-modulare
ist. Der Entschlüsselungsexponent
4. Die Botschaft
dann
x
y = 1000193
sei
1000.
mod
mod
ist also
193
2689.
Die verschlüsselte Botschaft ist
9991 = 7014.
5. Zur Entschlüsselung von
70142689
d
Inverse zu
y
berechnet man
y2689
mod
9991 =
9991 = 1000 und bekommt so den Klartext der
Botschaft wieder.
12
M.Gruber, SS 2008
Diskrete Mathematik
Literatur
[CM] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
Concrete Mathematics: A Foundation for Computer Science.
Addison-Wesley, 1989; second edition, 1994.
http://www-cs-faculty.stanford.edu/~knuth/gkp.
html
[AZ] Otto Forster, Algorithmische Zahlentheorie , Vieweg-Verlag,
1996.
http://www.mathematik.uni-muenchen.de/~forster/
books/azth/algzth.html
13
Herunterladen