Lineare Algebra I Vorlesung 14 22.11.2005 Dieses Dokument wurde von der Homepage www.sigma-mathematics.de runtergeladen. Es darf zu nichtkommerziellen Zwecken verwendet und frei weitergegeben werden. Jeglicher Mißbrauch ist untersagt. Ich hafte nicht für eventuelle Schäden, die durch Verwendung dieses Dokuments auftreten. Sollte das Dokument Fehler enthalten, so melden Sie diese bitte an [email protected]. (2.15) Beispiel. (c) Einheiten in Z/nZ: Bemerkung: Für x ∈ Z gilt x ∈ (Z/nZ)∗ ⇔ ggT(x, n) = 1 (x und n sind teilerfremd). Insbesondere ist Z∗ = {1, −1}. Beweis. „⇒“: Indirekt: Angenommen, es gibt ein a 6= 1, a ∈ N mit a | n und a | x. ⇒ Sei n = d · b für ein b ∈ N ⇒ 0 < b < n, d.h. b 6= 0. Aus n | xb folgt: x · b = xb = 0. Wegen x ∈ (Z/nZ)∗ gibt es aber ein x′ ∈ Z mit x′ · x = 1 ⇒ 0 = x′ · 0 = x′ · x · b = 1 · b = b, Widerspruch, d.h. x und n sind teilerfremd. „⇐“: Seien x und n teilerfremd (x ∈ Z). Betrachte lx : Z/nZ → Z/nZ, y 7→ x · y. Zeige: lx ist injektiv. Dazu: Seien y1 , y2 ∈ Z/nZ mit xy1 = xy2 ⇒ x(y1 − y2 ) ∈ nZ ⇒ y1 − y2 ∈ nZ (weil ggT(x, n) = 1) ⇒ y1 = y2 . Also ist lx injektiv. Z/nZ endlich ⇒ lx ist bijektiv und damit surjektiv ⇒ es gibt ein y ∈ Z/nZ mit x · y = 1 ⇒ y · x = 1, also ist y = x−1 , d.h. x ∈ (Z/nZ)∗ . (2.16) Korollar. Sei n ∈ N. Z/nZ ist Körper ⇔ n ist Primzahl. Beweis. n = 1 ist keine Primzahl, Z/1Z = {0 ist kein Körper (weil 0 = 1). Sei also im Folgenden n ≥ 2. Z/nZ ist Körper (2.14)(b) ⇔ (Z/nZ)∗ = {1, . . . , n − 1} (2.15)(c) ⇔ ggT(j, n) = 1 für alle 1 ≤ j ≤ n − 1 ⇔ n ist Primzahl. Bezeichnung. P: Menge der Primzahlen. Für p ∈ P bezeichnet Fp := Z/pZ den endlichen Körper mit p Elementen. Seien a, b ∈ Z, a 6= 0, b 6= 0. Die Zahl d ∈ N heißt größter gemeinsamer Teiler von a und b, geschrieben d = ggT(a, b), wenn gilt: (a) d | a und d | b. (b) Ist c ∈ N mit c | a und c | b, dann ist c | d. Ist a = 0, dann setzen wir ggT(a, b) = |b|. Ist b = 0, dann sei ggT(a, b) = |a|. a und b heißen teilerfremd, falls ggT(a, b) = 1. Wir rechnen in Z/nZ = {0, 1, . . . , n − 1}: r + s = r + s = (r + s) mod n r · s = r · s = (r · s) mod n n = 7: 6 · 5 = 30 = 2 oder 6 · 5 = (−1) · 5 = (−5) = 2. 6 1000000 = (−1) 1000000 500000 =1 = 1. (2.17) Beispiel. RSA-Kryptosystem (Public-Key-Kryptosystem). Alice will eine geheime Nachricht an Bob schicken. 1 www.sigma-mathematics.de/semester6/linalg1/vorlesungen/vorlesung14.pdf 2 (a) Einrichten des Kryptosystems. • Bob wählt (kauft) Primzahlen p, q, p 6= q groß (ca. 125 Dezimalstellen). • Bob setzt n := pq (ca. 250 Dezimalstellen). • Bob wählt (kauft) a, b ∈ N mit 1 ≤ a, b ≤ n − 1 und ab mod ϕ(n) = 1 (Eulersche ϕ-Funktion: ϕ(n) = |(Z/nZ)∗ | = Anzahl der Zahlen j, 1 ≤ j ≤ n − 1 mit ggT(j, n) = 1). Hier: ϕ(n) = ϕ(p · q) = (p − 1)(q − 1), ohne Beweis. Mit anderen Worten: a + ϕ(n)Z und b + ϕ(n)Z sind zueinander invers in Z/nZ. • Bob publiziert n mod a (auf seiner Homepage). • Bob behält b für sich. (b) Verschlüsseln. • Verschlüsselt werden Zahlen aus {0, . . . , n − 1}. (Ein Klartextwort wird zuerst in eine Folge solcher Zahlen umgewandelt; nach vorher festgelegtem, bekannten Verfahren.) • Verschlüsselung: en,a : {0, 1, . . . , n − 1} → {0, 1, . . . , n − 1}, x 7→ xa mod n. (Beachte: xa mod n = xa = xa in Z/nZ.) (c) Entschlüsselung. • dn,b : {0, 1, . . . , n − 1} → {0, 1, . . . , n − 1}, y 7→ y b mod n. • Es gilt: dn,b (en,a (x)) = x (wegen (xa mod n)b mod n = x). Beachte: (xa mod n)b mod n = x (hier ohne Beweis). Nur wer in Besitz von b ist, kann die Zahl x aus der verschlüsselten Zahl xa mod n zurückgewinnen. b wäre bekannt, wenn man p, q hätte (n = pq). Beispiel: p = 3, q = 11 (realitätsfern, in Anwendungen haben p, q ca. 125 Dezimalstellen). n = pq = 33, ϕ(n) = (p − 1)(q − 1) = 2 · 10 = 20, a = 3, b = 7 (ab = 21, 21 mod 20 = 1). Klartext: x = 13. Geheimtext: xa mod 33 = 133 mod 33, 132 = 169 ≡ 4 (mod n), 133 ≡ 132 · 13 ≡ 4 · 13 ≡ 52 ≡ 19 (mod 33) ⇒ 133 mod 33 = 19 (Geheimtext). Entschlüsselung: 197 mod 33: 19 ≡ −14 (mod 33), 142 ≡ 196 ≡ (−2) (mod 33), 197 ≡ (−14)(−2)3 ≡ 14 · 8 ≡ 112 ≡ 13 (mod 33) (man beachte: 1917 = 893871739).