Die multiplikative Gruppe modulo n

Werbung
Die multiplikative Gruppe modulo n
http://www.inf.fh-flensburg.de/lang/krypto/grund/gruppezn.htm
Die multiplikative Gruppe modulo n
Beispiel: G = 10* = { 1, 3, 7, 9 }, also g = 4 und e = 1. In
Grundlagen
Die multiplikative Gruppe modulo n
| k<n
ggt(k, n) = 1 }
φ(n) = | n*|
Satz: Sei p eine Primzahl. Dann gilt für alle a
a p-1
Beweis: Da
Die Anzahl der Elemente von n* wird als Eulersche Phi-Funktion φ(n) bezeichnet (nach L. EULER ).
= { 1, 3, 7, 9 }
= { 1, 2, 4, 7, 8, 11, 13, 14 }
(1 – 1/p)
a
a
a
b (mod p)
b (mod q)
b (mod pq)
Beweis: Es ist a – b teilbar durch p und durch q, also auch durch pq.
Hierbei durchläuft p alle Primzahlen, die Teiler von n sind, einschließlich n selber, falls n eine Primzahl
ist.
Beweis: Von den anfänglich n Zahlen 1, ..., n ist jede p-te durch die erste Primzahl p teilbar; werden diese
gestrichen, verbleiben n·(1-1/p) Zahlen. Von diesen ist wiederum ein Anteil von 1/q durch die zweite
Primzahl q teilbar; werden diese gestrichen, verbleiben n·(1-1/p)·(1-1/q) Zahlen usw.
Satz: Seien p und q Primzahlen. Dann gilt für alle m
m k(p-1)(q-1)+1
Beweis: Sei zunächst m
m p-1
Beispiel: φ(10) = 10 · (1 – 1/2) · (1 – 1/5) = 10 · 1/2 · 4/5 = 4
0 und für alle k
0
m (mod pq)
0 (mod p). Dann gilt der Satz von Fermat:
1 (mod p)
Damit gilt, zunächst modulo p gerechnet:
Wenn p eine Primzahl ist, gilt offenbar φ(p) = p-1. Für das Produkt zweier Primzahlen p, q gilt
φ(pq) = (p-1)(q-1).
Satz: Sei G eine endliche Gruppe mit g Elementen und neutralem Element e. Dann gilt für alle a
(a mod p) p-1 (mod p)
Hilfssatz: Seien p, q zwei verschiedene Primzahlen. Dann gilt für alle a, b
, n > 1. Dann ist
p|n
(mod p) eine Kongruenzrelation ist, also verknüpfungstreu ist, gilt
a p-1
Der Satz von Fermat lässt sich anwenden, um den folgenden, für das RSA-Verfahren benötigten Satz von
Euler zu beweisen. Zunächst folgt jedoch noch ein Hilfssatz.
Die Menge n* bildet mit der Multiplikation modulo n als Verknüpfung und der 1 als neutralem Element
eine abelsche Gruppe.
φ(n) = n ·
, die nicht durch p teilbar sind
1 (mod p)
d.h. statt mit a können wir auch mit dem Repräsentanten rechnen. Da ggt(a, p) = ggt(p, a mod p) = 1,
gehört a mod p zur Gruppe p*, und diese hat p-1 Elemente. Somit folgt mit dem vorigen Satz die
Behauptung.
7* = { 1, 2, 3, 4, 5, 6 }
φ(7) = 6, φ(10) = 4, φ(15) = 8
Satz: Sei n
Modulo 10 gerechnet kommt also in allen Fällen 1 heraus.
Ein Spezialfall dieses Satzes ist der (historisch wesentlich früher gefundene) kleine Satz von FERMAT :
Definition: Sei n
. Die Menge n* besteht aus allen natürlichen Zahlen, die kleiner als n sind und
teilerfremd zu n sind. Mit φ(n) wird die Anzahl der Elemente von n* bezeichnet.
Beispiel:
10*
15*
34 = 81
74 = 2401
94 = 6561
Sätze von Fermat und Euler
Die Gruppe n*
n* = { k
ergibt sich
14 = 1
Die Menge 10 = {0, ..., 9} bildet mit der Addition modulo 10 als Verknüpfung eine Gruppe. Mit der
Multiplikation modulo 10 als Verknüpfung bildet 10 jedoch keine Gruppe, auch nicht, wenn die 0
ausgenommen wird, die bekanntlich kein inverses Element hat. Es stellt sich heraus, dass noch mehr Zahlen
ausgenommen werden müssen, die auch kein inverses Element haben, z.B. die 2. Die schließlich
verbleibenden vier Elemente bilden die multiplikative Gruppe 10*.
m k(p-1)(q-1)+1
G
ag = e
m·(m p-1) k(q-1)
Diese Formel gilt auch für m
m·1k(q-1)
m (mod p)
0 (mod p), also insgesamt für alle m
0.
Mit den gleichen Überlegungen erhält man dasselbe modulo q:
m k(p-1)(q-1)+1
Beweis
m (mod q)
Mit dem Hilfssatz folgt schließlich
m k(p-1)(q-1)+1
1 of 3
http://www.inf.fh-flensburg.de/lang/krypto/grund/gruppezn.
10/24/2007 04:49 2PM
of 3
m (mod pq)
10/24/2007 04:49
Die multiplikative Gruppe modulo n
http://www.inf.fh-flensburg.de/lang/krypto/grund/gruppezn.htm
Berechnung des modular inversen Elements
Das inverse Element eines Elements a
berechnen.
n* lässt sich mit Hilfe des erweiterten Euklidischen Algorithmus
Der erweiterte Euklidische Algorithmus berechnet für zwei Zahlen a, b
ggt(a, b) sowie die Darstellung des ggt als Vielfachsumme von a und b:
ggt(a, b) = ua + vb mit u, v
den größten gemeinsamen Teiler
.
Die multiplikative Gruppe n* besteht aus den Elementen von n, die teilerfremd zu n sind. Für jedes a
n* gilt dann
ggt(a, n) = 1
und die 1 lässt sich als Vielfachsumme darstellen:
1 = ua + vn.
Modulo n gerechnet ergibt sich
1
ua + vn
ua (mod n).
Multiplikation mit a-1 ergibt
a-1
u (mod n).
Damit ist u mod n das inverse Element von a in n*.
Berechnung der Schlüssel e und d für das RSA-Verfahren
Für die Zahlen e und d muss gelten
e·d mod φ(n) = 1,
d.h. e und d sind zueinander inverse Zahlen in der Gruppe φ(n)*.
Die Zahl e wird beliebig gewählt, es muss nur gelten
ggt(e, φ(n)) = 1.
Das zu e inverse Element d ergibt sich dann wie oben als
d = u mod φ(n).
Weiter mit:
H.W. Lang, FH Flensburg ([email protected]) © . Created: 29.04.2002 Updated: 03.01.2006
3 of 3
10/24/2007 04:49 PM
Herunterladen