Einführung in die Zahlentheorie von Peter Hellekalek Institut für Mathematik Universität Salzburg Hellbrunner Straße 34 A-5020 Salzburg, Austria Tel: +43-(0)662-8044-5310 Fax: +43-(0)662-8044-137 e-mail: [email protected] web: http://random.mat.sbg.ac.at/ Salzburg, 27. Februar 2004 Inhaltsverzeichnis 1 Teilbarkeit 3 2 Verteilung der Primzahlen 7 3 Kongruenzen 9 4 Literaturempfehlungen 13 2 1 Teilbarkeit Teiler, Vielfaches a, b ∈ Z b teilt a, wenn gilt: ∃c ∈ Z : a = b · c b heißt ein Teiler von a, a heißt ein Vielfaches von b . . . b|a Größter gemeinsamer Teiler a, b ∈ Z d heißt der größte gemeinsamer Teiler von a und b, wenn gilt: 1. d ∈ N 2. d|a und d|b 3. wenn e|a und e|b ⇒ e|d . . . (a, b), ggT(a, b) Teilerfremd Zwei ganze Zahlen a und b mit (a, b) = 1 heißen teilerfremd. . . . teilerfremd Frage Seien a, b ∈ Z gegeben: wie berechnet man (a, b)? Antwort: mit dem Euklidschen Algorithmus! Division mit Rest a∈Z b∈N ⇒ ∃q, r eindeutig bestimmt, sodass gilt: a = q · b + r, 0 ≤ r < b [falls b ∈ Z, b < 0: rechnen mit −b] . . . Division mit Rest 3 Euklidscher Algorithmus a∈Z b∈N ⇒ a b r0 = q0 · b + r0 = q1 · r0 + r1 = q2 · r1 + r2 .. . 0 ≤ r0 < b 0 ≤ r1 < r0 0 ≤ r2 < r1 rk = qk+2 · rk+1 + rk+2 .. . 0 ≤ rk+2 < rk+1 rn rn+1 = qn+2 · rn+1 + rn+2 = qn+3 · rn+2 0 < rn+2 rn+3 = 0 . . . Euklidscher Algorithmus Eigenschaften des größten gemeinsame Teilers Wir notieren einige wichtige Eigenschaften von (a, b): • Der größte gemeinsame Teiler von a und b ist der letzte nicht verschwindende Rest im Euklidschen Algorithmus. • (a, b) ist eindeutig bestimmt. • ∃m0 , n0 ∈ Z : (a, b) = m0 · a + n0 · b [erhalten ein derartiges Paar m0 , n0 durch “Zurückrechnen im Euklidschen Algorithmus] a b , =1 • (a, b) (a, b) 4 Lineare diophantische Gleichung Dieser Typ von Gleichung ist ähnlich leicht zu lösen wie in der linearen Algebra: 1. Definition a, b, c ∈ Z, nicht alle gleich Null a·x+b·y =c (1) 2. Lösbarkeitsbedingung Gleichung (1) ist lösbar ⇐⇒ (a, b)|c 3. Allgemeine Lösung Sei x0 , y0 eine bestimmte Lösung von (1). Man nennt so ein Paar x0 , y0 eine partikuläre Lösung der Gleichung (1). Die allgemeine Lösung x, y der linearen diophantischen Gleichung (1) kann dann sofort angegeben werden. Wir setzen dazu a = a/(a, b) und b = b/(a, b). Für jede Lösung x, y der Gleichung (1) gilt die Beziehung x = x0 + b · t y = y0 − a · t, (2) mit t ∈ Z, beliebig 4. Lösungsmethode 4.1 Überprüfen die Lösbarkeitsbedingung (a, b)|c. Wenn nicht erfüllt: Fertig! Wenn erfüllt: nächster Schritt 4.2 Mittels Euklidschem Algorithmus: Bestimmen zwei Zahlen m0 , n0 ∈ Z : m0 · a + n0 · b = (a, b) c 4.3 Sei c = (a, b) 4.4 Setzen x0 = c · m0 , y0 = c · n0 . Wegen c = c · (a, b) sind wir damit fertig, wir haben eine partikuläre Lösung x0 , y0 der Gleichung (1) gefunden. Damit kann man sofort die allgemeine Lösung angeben, siehe dazu die Beziehung (2). . . . lineare diophantische Gleichung Primzahl Eine ganze Zahl p heißt eine Primzahl, wenn gilt: 1. p ∈ N 2. p > 1 3. b|a ⇒ |b| ∈ {1, a} Bezeichne P die Menge der Primzahlen, P = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, . . . } . . . Primzahlen, P 5 Fundamentalsatz der Zahlentheorie Für alle n ∈ N gilt: α2 αr 1 n = pα 1 · p2 · . . . pr mit pi prim und αi ∈ N, pi = pj für i = j. . . . Primfaktorzerlegung Eulersche ϕ-Funktion Für n ∈ N definieren wir ϕ(n) = # {a, 1 ≤ a ≤ n : (a, n) = 1} Eigenschaften von ϕ n= Speziell: p prim ⇒ ϕ(p) = p − 1 ⇒ ϕ(pα ) = pα − pα−1 · r . . . pα r ⇒ ϕ(n) = p, q prim , p = q ⇒ ϕ(p · q) = (p − 1) · (q − 1) 1 pα 1 · 2 pα 2 1 ϕ(pα 1 ) · (α ∈ N) 2 ϕ(pα 2 ) r · · · · · ϕ(pα r ) Eine kleine Tabelle zu ϕ n ϕ n ϕ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 . . . Eulersche ϕ-Funktion 6 2 Verteilung der Primzahlen Die Funktion π(x) Wir definieren π(x) = #{p prim : p ≤ x} (x ∈ R) . . . π(x) Einfache Überlegungen Bereits Gauss führte derartige Rechnungen durch: x π(10x ) 1 2 3 4 5 6 7 8 9 10 11 12 4 25 168 1229 9592 78498 664579 5761455 50847534 455052511 4118054813 37607912018 10x π(10x ) 2.5 4.0 6.0 8.1 10.4 12.7 15.0 17.4 19.7 22.0 24.3 26.6 x π(10x ) 1 2 3 4 5 6 7 8 9 10 11 12 4 25 168 1229 9592 78498 664579 5761455 50847534 455052511 4118054813 37607912018 10x / log 10x π(10x ) 1.09 0.87 0.86 0.88 0.91 0.92 0.93 0.94 0.95 0.95 0.96 0.96 Primzahlsatz De la Vallée-Poussin und Hadamard (1896) lim n→∞ π(n) =1 n/ log n . . . Primzahlsatz Tschebyscheff et al. Um 1856 bewies Tschebyscheff die Ungleichung 0.98 · n n < π(n) < 1.11 · log n log n 7 ∀ n hinreichend groß Primzahlen mit L Binärstellen Aufgabe: Wie groß ist die Wahrscheinlichkeit pL , dass eine ungerade Zahl mit L Stellen in der dyadischen Entwicklung prim ist? Abschätzungen für pL Es gilt (log2 bezeichnet den Logarithmus zur Basis 2) aL < pL < bL mit aL = 2 · log2 e · L − 2 − 5/2 log2 e (L − 1/2 log2 e)(L − 1 − 3/2 log2 e) bL = 2 · log2 e · L − 2 + 1/2 log2 e (L − 3/2 log2 e)(L − 1 − 1/2 log2 e) und Wir haben dabei nicht die Ungleichung von Tschebyscheff oder den Primzahlsatz verwendet, sondern die Funktion π(x) durch x/(ln x − 1/2) nach unten und durch x/(ln x − 3/2) nach oben abgeschätzt. Diese Abschätzung stammt von Rosser und Schoenfeld (1962) und gilt für x ≥ 67. L 256 384 512 640 768 1024 2048 4096 aL 0.011194 0.007480 0.005616 0.004496 0.003749 0.002813 0.001408 0.000704 bL 0.011387 0.007565 0.005664 0.004527 0.003770 0.002825 0.001411 0.000705 Anmerkung Zur Abschätzung der Wahrscheinlichkeit pL wird sonst meist der Primzahlsatz verwendet und der Wert π(x) durch die Zahl x/ log x ersetzt. Dies ist wesentlich ungenauer als die von uns gewählte Methode. 8 3 Kongruenzen Kongruente Zahlen Sei m ∈ N, m ≥ 2 fest. a, b ∈ Z a heißt kongruent b modulo m, wenn m|a − b. Die Zahl m heißt der Modul der Kongruenz. . . . a ≡ b (mod m) . . . a ≡ b(m) Anmerkungen Es gilt • a ≡ b (mod m) ⇐⇒ ∃k ∈ Z : a=b+k·m • a und b lassen bei der Division durch m denselben Rest Rechenregeln für Kongruenzen Sei a ≡ b (mod m), c ≡ d (mod m). Dann gelten folgende Rechenregeln 1. ra + sc ≡ rb + sd (mod m) ∀r, s ∈ Z 2. ac ≡ bd (mod m) 3. an ≡ bn (mod m) ∀n ∈ Z, n ≥ 0 4. f (a) ≡ f (b) (mod m) ∀f ∈ Z[X] (f ∈ Z[X]: f ist ein Polynom mit ganzzahligen Koeffizienten) 5. t ∈ Z, t|m ⇒ a ≡ b (mod |t|) 6. k ∈ Z, k = 0 a≡b 7. ac ≡ bc (mod m), d = (c, m) (mod m) ⇔ a ≡ b ⇒ a ≡ b (mod (mod |k|m) m d) Spezialfall: (c, m) = 1 ac ≡ bc (mod m) ⇒ a ≡ b (mod m) 8. a ≡ b (mod mi ), i = 1, . . . , r ⇔ a ≡ b (mod [m1 , . . . , mr ]) Spezialfall: (mi , mj ) = 1 für i = jr a ≡ b (mod mi ) ⇔ a ≡ b (mod i=1 mi ) 9 Restklassen modulo m Sei a ∈ Z. Alle ganzen Zahlen b, die kongruent zu a modulo m sind, fassen wir zu einer Menge zusammen, der Restklasse von a modulo m: a = {b ∈ Z : a ≡ b (mod m)} . . . Restklasse modulo m Restklassenring modulo m Die Menge der Restklassen modulo m wird mit Zm bezeichnet, Zm = {0, 1, . . . m − 1}. Wir können zwei Restklassen a und b addieren und multiplizieren, wie wir dies mit ganzen Zahlen machen (obwohl es sich hier um Mengen und nicht um Zahlen handelt!): a+b a·b = a+b = a·b (Zm , +, ·) ist ein kommutativer Ring mit Einselement, der Restklassenring modulo m . . . Restklassenring modulo m Wichtiger Spezialfall (Zm , +, ·) ist ein Körper ⇐⇒ m prim Wichtige Beziehungen Zwischen den Mengen a und den ganzen Zahlen a besteht eine wichtige Beziehung: a≡b (mod m) ⇐⇒ ⇐⇒ a=b a und b lassen bei der Division durch m denselben Rest Prime Restklasse modulo m Eine Restklasse a ∈ Zm mit (a, m) = 1 . . . prime Restklasse Prime Restklassengruppe Wir bezeichnen die Menge der primen Restklassen modulo m mit dem Symbol Z∗m . Dann ist (Z∗m , ·) eine kommutative Gruppe. Sie wird die prime Restklassengruppe modulo m genannt. Wenn m = p prim ist, dann ist diese Gruppe zyklisch, sie wird von den Potenzen eines Elementes erzeugt, Z∗p = ak : k = 0, 1, . . . , p − 2 ∗ heißt ein erzeugendes Element. Ein solches Element von Zm . . . prime Restklassengruppe 10 Primitivwurzel modulo m Eine ganze Zahl a mit den beiden Eigenschaften • (a, m) = 1 ∗ • die Restklasse a erzeugt Zm nennt man eine Primitivwurzel modulo m. . . . Primitivwurzel modulo m Diskreter Logarithmus Sei p prim und sei a eine Primitivwurzel modulo m. Für eine ganze Zahl b mit (b, m) = 1 heißt die kleinste natürliche Zahl k mit ak ≡ b (mod m) der diskrete Logarithmus von b zur Basis a modulo m. . . . diskreter Logarithmus Satz von Euler Sei a ∈ Z mit (a, m) = 1. Dann gilt aϕ(m) ≡ 1 (mod m). . . . Satz von Euler Satz von Fermat Sei p prim. Dann gilt ap−1 ≡ 1 (mod p). . . . Satz von Fermat 11 Lineare Kongruenz Unter einer linearen Kongruenz modulo m versteht man eine Kongruenz der Form ax ≡ b (mod m) Es sind alle modulo m inkongruenten Zahlen x zu bestimmen, die diese Kongruenz erfüllen. Die Lösungsmethode sieht wie folgt aus: 1. Überprüfen die Lösbarkeitsbedingung (a, m)|b 2. Sei d := (a, m), a := a/d und m := m/d. Dann bestimmen wir (z.B. mit dem Euklidschen Algorithmus) eine Lösung (x1 , y1 ) der linearen diophantischen Gleichung a x − m y = 1 3. Das Paar (x0 , y0 ) = (x1 · b/d, y1 · b/d) ist dann eine Lösung von a x − m y = b/d 4. Das Paar (x0 , y0 ) löst auch die diophantische Gleichung ax − my = b 5. Damit ist x0 eine Lösung der linearen Kongruenz. 6. Die Gesamtheit aller modulo m inkongruenten Lösungen ist gegeben durch x0 , x0 + m m m , x0 + · 2, . . . , x0 + · (d − 1), d d d d = (a, m). . . . Lineare Kongruenz Wichtiger Spezialfall Wenn (a, m) = 1, dann ist die Lösung x eindeutig modulo m. 12 4 Literaturempfehlungen Bücher Es gibt viele Bücher zur Kryptographie, für fast alle Interessen und Vorkenntnisse. 1. Einführende Lehrbücher Ein sehr gut passendes Buch zur Vorlesung ist das Lehrbuch von Ertel[4]. Wesentlich mathematischer ist der Inhalt von Buchmann[3]. Beutelspacher[2] gibt eine recht angenehm lesbare Einführung in die wesentlichen Konzepte. 2. Monographien Für praktisch interessierte Leser (Zielgruppe: Informatiker und Praktiker) eignet sich Schneier [6] ganz ausgezeichnet. Ebenfalls sehr empfehlenswert (und für Mathematiker gehaltvoller) ist das Werk von Stinson[8]. Eine wahre Fundgrube für konkrete Beispiele und zahlreiche Anmerkungen ist das Werk von Bauer[1]. Wie bei jeder Fundgrube bedarf es einiger Mühe bei der Orientierung. Das Handbook of Applied Cryptography [5] ist ein umfassendes Werk und vor allem für Spezialisten interessant. 3. Zum Schmöckern Ein besonders interessantes Buch, das man auch Laien empfehlen kann, ist das Werk von Singh [7] Literatur [1] F. L. Bauer. Decrypted Secrets. Springer, Berlin, 1997. [2] A. Beutelspacher. Kryptologie. Vieweg, Braunschweig, 1996. [3] J. Buchmann. Einführung in die Kryptographie. Springer Verlag, 1999. [4] W. Ertel. Angewandte Kryptographie. Vieweg, Braunschweig, 2001. [5] A. J. Menezes, P. C. van Oorschot, and S.A. Vanstone. Handbook of Applied Cryptography. CRC Press, Boca Raton, 1997. [6] B. Schneier. Applied Cryptography. Wiley, New York, second edition, 1996. [7] S. Singh. Geheime Botschaften. DTV München, 2001. [8] D. R. Stinson. Cryptography. CRC Press, Boca Raton, 1995. 13