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