Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche

Werbung
Kleiner Fermatscher Satz,
Chinesischer Restsatz,
Eulersche
'-Funktion,
RSA
Manfred Gruber
http://www.lrz-muenchen.de/~gruber
SS 2009, KW 15
M.Gruber, SS 2009
Diskrete Mathematik
Kleiner Fermatscher Satz
Satz 1.
Sei
p prim und a 2 Zp. Dann ist
ap
Beweis
f
1
mod
Betrachte die Abbildung
ist injektiv, denn aus
p=1
f : Zp ! Zp; x 7! a x.
a x = a y folgt
x = a 1 a x = a 1 a y = y:
Da
Zp
f
endlich ist, ist
f1; 2; : : : ; p
auch surjektiv, also bijektiv. Daher ist
g = fa 1; a 2; : : : ; a (p
1
1)
g;
(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
Dividiert man durch
1
(p
1) =
ap 1 1
(p
1)
:
1), steht die Behauptung da.
1
M.Gruber, SS 2009
Diskrete Mathematik
Chinesischer Restsatz im Fall
Beispiel 1.
x 7! (
:
Sei
1(
x);
2(
Z6
!Z Z
Z6
3 die Abbildung
2
x)) = (x mod 2; x mod 3) :
ist bijektiv (nachprüfen!) und es gilt
x y) = (
(x y ) = (
(
Führt man in
plikation
x) 1 (x) 1(
Z2 Z3
y );
1 (y );
1(
x) 2 (x) 2(
eine Addition
y))
2 (y ))
2(
(1)
(2)
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 ) =
(
x (y )
(x) (y )
( )
schreiben. Diese Eigenschaften machen
(3)
(4)
zu einem
Ring-Homomorhismus.
2
M.Gruber, SS 2009
Die
Diskrete Mathematik
Umkehrabbildung
1
ist
ebenfalls
aus
Z2 Z3
ein
Ring-
Homomorphismus.
Für
a=
x
( )
1
(
und
b=
a b) =
=
y
( )
gilt nämlich
x (y))
(x y ))
1
( ( )
1
(
xy
1
=
( a) =
1
b ;
( )
und
1
(
a b) =
=
x (y))
(x y ))
1
( ( )
1
(
x
y
1
=
( a) =
1
b :
( )
3
M.Gruber, SS 2009
Diskrete Mathematik
1
Wie berechnet man
Es genügt,
u1
1
=
(
x; y)?
;
(1 0)
und
u2
=
1
;
(0 1)
zu
kennen, denn
1
(
x; y)
=
=
Für
u1
x; 0) 1(0; y)
x 1(1; 0) y 1
(
1
; :
(0 1)
u1 mod 2 = 1 und u1 mod
u2 muss gelten: u2 mod 2 = 0 und
muss gelten:
3 = 0,
Für
u2 mod 3 = 1.
2
und
3
sind teilerfremd und erfüllen in
1 3+(
In
Z6
Z die Gleichung
1) 2 = 1.
liest sich diese Gleichung als
Der erste Summand hat die von
schaften, der zweite Summand
3
4=1
.
u1 geforderten Eigenhat die von u2 gefor-
derten Eigenschaften.
Also ist
u1 = 3 und u2 = 4.
4
M.Gruber, SS 2009
Diskrete Mathematik
Chinesischer Restsatz
Satz 2. [Chinesischer Restsatz]
m1 mr 2 N mit
mi > 1. Dann ist
:
Zm
Sei
m
=
paarweise teilerfremden Zahlen
! Zm Zm : : : Zmr
1
2
x 7! (x mod m1; x mod m2; : : : ; x mod mr )
ein bijektiver Homomorphismus der Ringe.
m 2 N gegeben, so bietet sich
k1
k
an, die Faktorisierung m = p1 pr r mit paarweise
disjunkten Primzahlen pi zur isomorphen Darstellung
von Zm im Sinne des Chinesischen Restsatzes zu nutBemerkung 1.
zen:
Zm
Ist
= Zpk Zpkr :
r
1
1
5
M.Gruber, SS 2009
Diskrete Mathematik
Bemerkung 2.
Zm1
ne
1
Bezeichnet
Zm : : : Zmr
2
ei
das
, das an der
und an den übrigen Stellen eine
Element
i-ten
0
Stelle ei-
hat, so kann
man die für die Konstruktion der Umkehrabbildung
1
wichtigen Gröÿen
in
1
e 2 Zm der (vom erweiterten
( i)
euklidischen Algorithmus gelieferten) Gleichung
a
Y
k6=i
mk + bmi = 1
entnehmen:
1
0
Y
(ei ) = @a
k6=i
1
mkA mod
m:
6
M.Gruber, SS 2009
Diskrete Mathematik
Die Eulersche
'-Funktion
'(m) die Anzahl der Elemente in Zm (m 2 N)
k1
k
(Eulersche '-Funktion). Sei m = p1 pr r mit
paarweise disjunkten Primzahlen pi . Nach dem Chinesischen Restsatz ist ein x 2 Zm genau dann invertierbar,
ki
wenn alle x mod pi in Z ki invertierbar sind, also ist
p
Sei
i
'(m) = '(pk11 ) '(pkr r ) :
pki i teilerfremd
i
ki 1
ausser Vielfache von pi ; von diesen gibt es pi
Stück,
ki 1
nämlich 0 pi ; 1 pi ; 2 pi ; : : : ; (pi
1) pi . Also ist
In jedem
Zpki
sind alle Elemente zu
'(pki i ) = pki i pki i
1
=
pki i (1
=pi)
1
und insgesamt
Y ki
'(m) = pi (1
i
=pi) = m
1
Y
i
(1
=pi) :
1
7
M.Gruber, SS 2009
Beispiel 2.
'(9699690)
Diskrete Mathematik
9699690 = 2 3 5 7 11 13 17 19.
=
1=2) (1
1=19)
9699690 1=2 18=19
1 2 4 6 10 12 16 18
=
1658880
=
=
9699690 (1
8
M.Gruber, SS 2009
Diskrete Mathematik
RSA: Schlüsselerzeugung
q (groÿ
sind z.B. 1024-Bit-Zahlen) und berechnet N = pq .
N ist der Modulus.
1. Man bestimmt groÿe Primzahlen
und
q 1) und wählt
eine zu '(N ) teilerfremde Zahl e zwischen 1 und
'( N ) .
e ist der öentliche Exponent.
2. Man berechnet
'(N ) = (p
p
1)(
'(N )-modulare Inverse d zu e,
d.h. diejenige Zahl d zwischen 1 und '(N ), für die
d e mod '(N ) = 1 gilt.
d ist der private Exponent.
3. Man bestimmt das
4.
(
N; e) ist der öentliche Schlüssel.
Es ist keine einfache Methode bekannt,
sieren, oder aus
(
N
zu faktori-
N; e) den privaten Exponenten d zu
berechnen.
9
M.Gruber, SS 2009
Diskrete Mathematik
RSA: Ver- und Entschlüsseln
Ein Sender will einem Empfänger eine geheime Botschaft schicken.
Die
Der
öentliche
Botschaft
Schlüssel
kann
eine
fz mod N j z 2 Zg sein.
1. Der Sender verschlüsselt
des
Empfängers
beliebige
Zahl
sei
x 2
(
N; e).
ZN
=
x mit der Verschlüsselungsfunktion
E : ZN ! ZN ; x 7! xe mod N
E (x) = xe mod N .
Der Empfänger entschlüsselt E (x) mit der Entschlüsselungs-
und sendet
2.
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 Erklärung
x
( e )d mod
N = x. 1
nächste Seite.
10
M.Gruber, SS 2009
Diskrete Mathematik
xe)d mod N = x, warum?
RSA: (
Betrachte die Botschaft
x in Zp Zq :
x = (x mod p; x mod q):
x mod p)ed = x mod p und (x mod q)ed =
x mod q, denn ed mod '(N ) = 1, d.h.
Es ist
(
ed = k'(N ) + 1 = k(p
1)(
q
1) + 1
;
folglich (Kleiner Fermat!)
(
x mod p)ed = ((| x mod{z p)p
=1
(
x mod q)ed = ((| x mod{z q)q
=1
1
}
1
}
k(q
1)
k(p
1)
)
)
(
(
x mod p)
x mod q):
11
M.Gruber, SS 2009
Diskrete Mathematik
RSA: Beispiel
Beispiel 3.
(Unrealistisch, Zahlen viel zu klein.)
p = 97; q = 103 ) N = pq = 9991.
'(N ) = (p 1)(q 1) = 96 102 = 9792. Wir wählen als
Verschlüsselungsexponent e = 193 (teilerfremd zu 9792).
1. Wir wählen
2.
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 2689 das 9792-modulare Inverse zu
193 ist. Der Entschlüsselungsexponent
4. Die Botschaft
x
d ist also 2689.
sei 1000. Die verschlüsselte Botschaft ist
y = 1000193 mod 9991 = 7014.
Zur Entschlüsselung von y berechnet man y 2689 mod 9991 =
dann
5.
70142689 mod 9991 = 1000 und bekommt so den Klartext
der Botschaft wieder.
12
M.Gruber, SS 2009
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