Mathematische Methoden für Informatiker

Werbung
Mathematische Methoden für Informatiker
Prof. Dr. Ulrike Baumann
www.math.tu-dresden.de/∼baumann
30.11.2017
Ulrike Baumann
Mathematische Methoden für Informatiker
32. Vorlesung
Homomorphiesatz für Ringe
Chinesischer Restsatz, speziell für Ringe Zn
Lösen von t simultanen linearen Kongruenzen
Sonderfall t = 2
Anwendungen, z.B.
schnelle Addition großer natürlicher Zahlen
RSA-Entschlüsselung (u.a. Beispiele aus der Kryptographie)
Interpolationsformel nach Lagrange
Ulrike Baumann
Mathematische Methoden für Informatiker
Ideale in Ringen, Faktorringe, Homomorphiesatz
Ein Ideal A in einem Ringe (R; +, ·) ist ein Unterring von R,
der bezüglich der Multiplikation mit Elementen aus R
abgeschlossen ist:
(A; +) ist eine Untergruppe von (R; +) (sogar Normalteiler).
RA = {r · a | r ∈ R, a ∈ A} ⊆ A,
AR = {a · r | r ∈ R, a ∈ A} ⊆ A
Faktorring (R/A; ⊕, ) des Ringes R nach dem Ideal A:
R/A = {r + A | r ∈ R},
wobei r + A := {r + a | a ∈ A} (r ∈ R)
(r1 + A) ⊕ (r2 + A) := (r1 + r2 ) + A
(r1 + A) (r2 + A) := (r1 · r2 ) + A
Ist f : R → S ein surjektiver Ringhomomorphismus,
dann ist der Kern ker(f ) = {r ∈ R | f (r ) = 0S } ein Ideal in R.
Der Faktorring R/ker(f) ist isomorph zu S:
R/ker(f ) ∼
=S
Ulrike Baumann
Mathematische Methoden für Informatiker
Beispiel: Faktorring (Z/nZ; ⊕, )
nZ := {n · z | z ∈ Z} ist ein Ideal im Ring (Z; +, ·).
Faktorring (Z/nZ; ⊕, ) des Ringes Z nach dem Ideal nZ:
Z/nZ = {a + nZ | z ∈ Z},
wobei a + nZ := {a + n · z | z ∈ Z} (a ∈ Z)
(r1 + nZ) ⊕ (r2 + nZ) := (r1 + r2 ) + nZ
(r1 + nZ) (r2 + nZ) := (r1 · r2 ) + nZ
f : Z → Zn ist ein surjektiver Ringhomomorphismus.
Der Kern ker(f ) = nZn ist ein Ideal in Z und
der Faktorring Z /nZ ist isomorph zu Zn :
Z /nZ ∼
= Zn
Ulrike Baumann
Mathematische Methoden für Informatiker
Sonderfall: Restklassenring Zn
Sei n ∈ N, n > 1, n = n1 · n2 · . . . · nt mit paarweise teilerfremden
n1 , n2 , . . . , nt aus N \ {0, 1}. Dann gilt:
Zn ∼
= Zn1 × Zn2 × · · · × Znt
Die Abbildung
f : Zn → Zn1 × · · · × Znt : x 7→ (x mod n1 , . . . , x mod nt )
ist ein Isomorphismus, denn es gilt der Chinesische Restsatz:
Ulrike Baumann
Mathematische Methoden für Informatiker
Chinesischer Restsatz für den Ring Z der ganzen Zahlen
Es sei ein System
x ≡ b1 (mod m1 ), x ≡ b2 (mod m2 ), . . . , x ≡ bt (mod mt )
so vorgegeben, dass m1 , m2 , . . . , mt paarweise teilerfremd sind.
Setzt man
m = m1 · m2 · · · · · mt ;
a1 =
m
m
m
, a2 =
, . . . , at =
m1
m2
mt
und wählt xj so, dass aj xj ≡ bj (mod mj ) für j = 1, 2, . . . , t gilt,
dann ist
x 0 = a1 x1 + a2 x2 + · · · + at xt
eine Lösung des Systems.
Das System ist bis auf Kongruenz modulo m eindeutig lösbar,
d.h. mit x 0 sind genau diejenigen Elemente x 00 weitere Lösungen,
für die x 0 ≡ x 00 (mod m) gilt.
Ulrike Baumann
Mathematische Methoden für Informatiker
Sonderfall t = 2
Es sei ein System
x ≡ b1 (mod m1 ), x ≡ b2 (mod m2 )
mit ggT(m1 , m2 ) = 1 vorgegeben.
Es gelte 1 = λ1 · m1 + λ2 · m2 und m := m1 · m2 .
(Die Koeffizienten λ1 , λ2 können mit dem erweiterten
euklidischen Algorithmus ermittelt werden.)
Dann gilt:
x ≡ b2 · λ1 · m1 + b1 · λ2 · m2 (mod m)
Ulrike Baumann
Mathematische Methoden für Informatiker
Anwendung: Schnelle Addition
Seien a, b ∈ Zm und m = m1 · m2 · · · · · mt , wobei die
Faktoren mi (i = 1, 2, . . . , t) paarweise teilerfremd sind.
Berechne
(a1 , . . . , at ) := (a mod m1 , . . . , a mod mt ),
(b1 , . . . , bt ) := (b mod m1 , . . . , b mod mt )
sowie
(c1 , . . . , ct ) := ((a1 + b1 ) mod m1 , . . . , (at + bt ) mod mt ).
Für die nach dem Chinesischen Restsatz modulo m eindeutig
bestimmte Lösung c ∈ Zm von
x ≡ c1 (mod m1 ), x ≡ c2 (mod m2 ), . . . , x ≡ ct (mod mt )
gilt:
a + b ≡ c (mod m)
Wähle m so, dass a + b < m gilt.
Ulrike Baumann
Mathematische Methoden für Informatiker
Anwendung: RSA-Entschlüsselung
Sei n = pq (p, q prim, p 6= q), ed ≡ 1 (mod ϕ(n)).
RSA-Verschlüsselung:
En,p,q,e,d : Zn → Zn : m 7→ me
RSA-Entschlüsselung in der Theorie:
Dn,p,q,e,d : Zn → Zn : c 7→ c d
RSA-Entschlüsselung in der Praxis:
Entschlüsselung modulo p: Zp → Zp : c 7→ c d
Entschlüsselung modulo q Zq → Zq : c 7→ c d
Anwendung des Chinesischen Restsatzes:
Aus c d (mod p) und c d (mod q) berechnet man c d (mod n).
Ulrike Baumann
Mathematische Methoden für Informatiker
Anwendung: Berechnung von ϕ(n)
Sei n ∈ N, n ≥ 1.
Die Anzahl der zu n teilerfremden Zahlen in Zn wird mit ϕ(n)
bezeichnet.
Die Funktion n 7→ ϕ(n) nennt man die (Eulersche)
ϕ-Funktion.
Hat die natürliche Zahl n die Primfaktorenzerlegung
n = p1α1 · p2α2 · . . . · ptαt , dann gilt:
ϕ(n) = ϕ(p1α1 ) · ϕ(p2α2 ) · . . . · ϕ(ptαt )
Wegen ϕ(p k ) = p k · 1 − p1 für eine Primzahl p gilt also:
1
1
1
ϕ(n) = n · 1 −
· 1−
· ... · 1 −
p1
p2
pt
Ulrike Baumann
Mathematische Methoden für Informatiker
Anwendung: Pohlig-Hellman-Verfahren
Das ElGamal-Verschlüsselungsverfahren beruht auf dem
Problem des diskreten Logarithmus (DL-Problem):
Gegegen sei eine endliche Gruppe (G , ◦), ein Element α ∈ G
mit |hαi| = n und ein Element β ∈ hαi.
Gesucht ist der kleinste Exponent a ∈ Zn mit αa = β.
Gilt n = p1λ1 · p2λ2 · . . . · ptλt für paarweise verschiedene
Primzahlen pi (i = 1, 2, . . . , t), dann kann man zur Lösung
des Problems statt des gesuchten Exponenten a zunächst
a mod piλi (i = 1, 2, . . . , t) ermitteln und dann a mod n mit
dem Chinesischen Restsatz bestimmen.
Ulrike Baumann
Mathematische Methoden für Informatiker
Herunterladen