Elementare Zahlentheorie Jörn Steuding (Uni Würzburg) Wintersemester 2016/17 D C E A B Literaturempfehlungen • J. Appell, K. Appell: Mengen - Zahlen - Zahlbereiche, Spektrum 2005 • K. Reiss, G. Schmieder: Basiswissen Zahlentheorie, Springer 2007, 2. Auflage • Nicola Oswald, Jörn Steuding: Elementare Zahlentheorie – Ein sanfter Einstieg in die höhere Mathematik, Springer 2015 • Roger B. Nelsen: Beweise ohne Worte, herausgegeben von Nicola Oswald, Springer 2016 III. Modulare Arithmetik §8 Rechnen mit Restklassen Eine ganze Zahl ist genau dann durch drei teilbar, wenn ihre Quersumme durch drei teilbar ist. Hierbei benutzen wir die eindeutige Dezimalentwicklung n= k X aj 10j j=0 mit Ziffern aj ∈ {0, 1, 2, . . . , 9}, wobei k eine nicht-negative ganze Zahl ist (die von n abhängt). Ganz ähnlich zur obigen Aussage zur Teilbarkeit bzgl. 3 gilt Satz 8.1 (Satz von der Neunerprobe) Eine ganze Zahl n ist genau dann durch neun teilbar, wenn ihre Quersumme durch neun teilbar ist: k k X X j aj . aj 10 ⇐⇒ 9 | 9 | n= j=0 Dies wird in der Buchhaltung als Probe benutzt. j=0 §8 Rechnen mit Restklassen Eine ganze Zahl ist genau dann durch drei teilbar, wenn ihre Quersumme durch drei teilbar ist. Hierbei benutzen wir die eindeutige Dezimalentwicklung n= k X aj 10j j=0 mit Ziffern aj ∈ {0, 1, 2, . . . , 9}, wobei k eine nicht-negative ganze Zahl ist (die von n abhängt). Ganz ähnlich zur obigen Aussage zur Teilbarkeit bzgl. 3 gilt Satz 8.1 (Satz von der Neunerprobe) Eine ganze Zahl n ist genau dann durch neun teilbar, wenn ihre Quersumme durch neun teilbar ist: k k X X j aj . aj 10 ⇐⇒ 9 | 9 | n= j=0 Dies wird in der Buchhaltung als Probe benutzt. j=0 §8 Rechnen mit Restklassen Gewisse arithmetische Sachverhalte lassen sich durch Teilbarkeitseigenschaften ganzer Zahlen charakterisieren; dabei ist oft nicht die Teilbarkeit durch jede ganze Zahl von Nöten, sondern manchmal genügt es, sich auf bestimmte Teiler zu begrenzen! Wir führen einen einfachen Formalismus für derartige Überlegungen ein: Zu einer natürlichen Zahl m definiert a ≡ b mod m : ⇐⇒ m | (a − b) eine Äquivalenzrelation auf Z. Wir sagen a ist kongruent b modulo m; hierbei heißt m der Modul und a ≡ b mod m nennt man eine Kongruenz. Wir schreiben a 6≡ b mod m und sagen a ist inkongruent b modulo m, wenn m ∤ (b − a) gilt. §8 Rechnen mit Restklassen Gewisse arithmetische Sachverhalte lassen sich durch Teilbarkeitseigenschaften ganzer Zahlen charakterisieren; dabei ist oft nicht die Teilbarkeit durch jede ganze Zahl von Nöten, sondern manchmal genügt es, sich auf bestimmte Teiler zu begrenzen! Wir führen einen einfachen Formalismus für derartige Überlegungen ein: Zu einer natürlichen Zahl m definiert a ≡ b mod m : ⇐⇒ m | (a − b) eine Äquivalenzrelation auf Z. Wir sagen a ist kongruent b modulo m; hierbei heißt m der Modul und a ≡ b mod m nennt man eine Kongruenz. Wir schreiben a 6≡ b mod m und sagen a ist inkongruent b modulo m, wenn m ∤ (b − a) gilt. §8 Rechnen mit Restklassen Gewisse arithmetische Sachverhalte lassen sich durch Teilbarkeitseigenschaften ganzer Zahlen charakterisieren; dabei ist oft nicht die Teilbarkeit durch jede ganze Zahl von Nöten, sondern manchmal genügt es, sich auf bestimmte Teiler zu begrenzen! Wir führen einen einfachen Formalismus für derartige Überlegungen ein: Zu einer natürlichen Zahl m definiert a ≡ b mod m : ⇐⇒ m | (a − b) eine Äquivalenzrelation auf Z. Wir sagen a ist kongruent b modulo m; hierbei heißt m der Modul und a ≡ b mod m nennt man eine Kongruenz. Wir schreiben a 6≡ b mod m und sagen a ist inkongruent b modulo m, wenn m ∤ (b − a) gilt. §8 Rechnen mit Restklassen Es bestehen folgende Rechenregeln: Für beliebige a, b, c, d , x, y ∈ Z und m ∈ N gelten (i) a ≡ a mod m, (ii) a ≡ b mod m ⇐⇒ b ≡ a mod m,, (iii) a ≡ b, b ≡ c mod m ⇒ a ≡ c mod m, (iv) a ≡ b, c ≡ d mod m ⇒ ax + cy ≡ bx + dy mod m, (v) a ≡ b, c ≡ d mod m ⇒ ax · cy ≡ bx · dy mod m, (vi) ac ≡ bc mod m ⇒ a ≡ b mod (m/ggT(m, c)), (vii) a ≡ b mod m ⇒ an ≡ bn mod m für jedes n ∈ N. Die ersten drei Rechenregeln reflektieren, dass es sich bei der Kongruenz um eine Äquivalenzrelation handelt. §8 Rechnen mit Restklassen Es bestehen folgende Rechenregeln: Für beliebige a, b, c, d , x, y ∈ Z und m ∈ N gelten (i) a ≡ a mod m, (ii) a ≡ b mod m ⇐⇒ b ≡ a mod m,, (iii) a ≡ b, b ≡ c mod m ⇒ a ≡ c mod m, (iv) a ≡ b, c ≡ d mod m ⇒ ax + cy ≡ bx + dy mod m, (v) a ≡ b, c ≡ d mod m ⇒ ax · cy ≡ bx · dy mod m, (vi) ac ≡ bc mod m ⇒ a ≡ b mod (m/ggT(m, c)), (vii) a ≡ b mod m ⇒ an ≡ bn mod m für jedes n ∈ N. Die ersten drei Rechenregeln reflektieren, dass es sich bei der Kongruenz um eine Äquivalenzrelation handelt. §8 Rechnen mit Restklassen Es bestehen folgende Rechenregeln: Für beliebige a, b, c, d , x, y ∈ Z und m ∈ N gelten (i) a ≡ a mod m, (ii) a ≡ b mod m ⇐⇒ b ≡ a mod m,, (iii) a ≡ b, b ≡ c mod m ⇒ a ≡ c mod m, (iv) a ≡ b, c ≡ d mod m ⇒ ax + cy ≡ bx + dy mod m, (v) a ≡ b, c ≡ d mod m ⇒ ax · cy ≡ bx · dy mod m, (vi) ac ≡ bc mod m ⇒ a ≡ b mod (m/ggT(m, c)), (vii) a ≡ b mod m ⇒ an ≡ bn mod m für jedes n ∈ N. Die ersten drei Rechenregeln reflektieren, dass es sich bei der Kongruenz um eine Äquivalenzrelation handelt. §8 Rechnen mit Restklassen Es bestehen folgende Rechenregeln: Für beliebige a, b, c, d , x, y ∈ Z und m ∈ N gelten (i) a ≡ a mod m, (ii) a ≡ b mod m ⇐⇒ b ≡ a mod m,, (iii) a ≡ b, b ≡ c mod m ⇒ a ≡ c mod m, (iv) a ≡ b, c ≡ d mod m ⇒ ax + cy ≡ bx + dy mod m, (v) a ≡ b, c ≡ d mod m ⇒ ax · cy ≡ bx · dy mod m, (vi) ac ≡ bc mod m ⇒ a ≡ b mod (m/ggT(m, c)), (vii) a ≡ b mod m ⇒ an ≡ bn mod m für jedes n ∈ N. Die ersten drei Rechenregeln reflektieren, dass es sich bei der Kongruenz um eine Äquivalenzrelation handelt. §8 Rechnen mit Restklassen Es bestehen folgende Rechenregeln: Für beliebige a, b, c, d , x, y ∈ Z und m ∈ N gelten (i) a ≡ a mod m, (ii) a ≡ b mod m ⇐⇒ b ≡ a mod m,, (iii) a ≡ b, b ≡ c mod m ⇒ a ≡ c mod m, (iv) a ≡ b, c ≡ d mod m ⇒ ax + cy ≡ bx + dy mod m, (v) a ≡ b, c ≡ d mod m ⇒ ax · cy ≡ bx · dy mod m, (vi) ac ≡ bc mod m ⇒ a ≡ b mod (m/ggT(m, c)), (vii) a ≡ b mod m ⇒ an ≡ bn mod m für jedes n ∈ N. Die ersten drei Rechenregeln reflektieren, dass es sich bei der Kongruenz um eine Äquivalenzrelation handelt. §8 Rechnen mit Restklassen Es bestehen folgende Rechenregeln: Für beliebige a, b, c, d , x, y ∈ Z und m ∈ N gelten (i) a ≡ a mod m, (ii) a ≡ b mod m ⇐⇒ b ≡ a mod m,, (iii) a ≡ b, b ≡ c mod m ⇒ a ≡ c mod m, (iv) a ≡ b, c ≡ d mod m ⇒ ax + cy ≡ bx + dy mod m, (v) a ≡ b, c ≡ d mod m ⇒ ax · cy ≡ bx · dy mod m, (vi) ac ≡ bc mod m ⇒ a ≡ b mod (m/ggT(m, c)), (vii) a ≡ b mod m ⇒ an ≡ bn mod m für jedes n ∈ N. Die ersten drei Rechenregeln reflektieren, dass es sich bei der Kongruenz um eine Äquivalenzrelation handelt. §8 Rechnen mit Restklassen Es bestehen folgende Rechenregeln: Für beliebige a, b, c, d , x, y ∈ Z und m ∈ N gelten (i) a ≡ a mod m, (ii) a ≡ b mod m ⇐⇒ b ≡ a mod m,, (iii) a ≡ b, b ≡ c mod m ⇒ a ≡ c mod m, (iv) a ≡ b, c ≡ d mod m ⇒ ax + cy ≡ bx + dy mod m, (v) a ≡ b, c ≡ d mod m ⇒ ax · cy ≡ bx · dy mod m, (vi) ac ≡ bc mod m ⇒ a ≡ b mod (m/ggT(m, c)), (vii) a ≡ b mod m ⇒ an ≡ bn mod m für jedes n ∈ N. Die ersten drei Rechenregeln reflektieren, dass es sich bei der Kongruenz um eine Äquivalenzrelation handelt. §8 Rechnen mit Restklassen Wir schreiben die Äquivalenzklassen als a mod m := {b ∈ Z : b ≡ a mod m} = {b = a+mk : k ∈ Z} =: a+mZ und sprechen dann von der Restklasse a modulo m. Deren Elemente bilden eine beidseitig unbeschränkte arithmetische Progression: . . . , a − 2m, a − m, a, a + m, a + 2m, a + 3m, . . . Eine Restklasse a mod m besteht also aus allen ganzen Zahlen, die denselben Rest bei Division durch m lassen. Statt a könnte natürlich auch jedes andere Element b ∈ a mod m als Repräsentant dieser Restklasse herhalten. §8 Rechnen mit Restklassen Wir schreiben die Äquivalenzklassen als a mod m := {b ∈ Z : b ≡ a mod m} = {b = a+mk : k ∈ Z} =: a+mZ und sprechen dann von der Restklasse a modulo m. Deren Elemente bilden eine beidseitig unbeschränkte arithmetische Progression: . . . , a − 2m, a − m, a, a + m, a + 2m, a + 3m, . . . Eine Restklasse a mod m besteht also aus allen ganzen Zahlen, die denselben Rest bei Division durch m lassen. Statt a könnte natürlich auch jedes andere Element b ∈ a mod m als Repräsentant dieser Restklasse herhalten. §8 Rechnen mit Restklassen Nun rechnen wir mit Restklassen: Wir definieren eine Addition vermöge (a mod m) + (b mod m) := (a + b) mod m sowie eine Multiplikation durch (a mod m) · (b mod m) := (a · b) mod m. Diese Verknüpfungen hängen nicht vom gewählten Repräsentanten ab, wie wir am Beispiel der Addition illustrieren: Mit a ≡ A und b ≡ B mod m existieren k, ℓ ∈ Z mit a = A + km und b = B + ℓm, so dass (a mod m) + (b mod m) = (a + b) mod m = (A + B + (k + ℓ)m) mod m = (A + B) mod m = (A mod m) + (B mod m). Damit ist die Addition unabhängig vom gewählten Repräsentanten. §8 Rechnen mit Restklassen Nun rechnen wir mit Restklassen: Wir definieren eine Addition vermöge (a mod m) + (b mod m) := (a + b) mod m sowie eine Multiplikation durch (a mod m) · (b mod m) := (a · b) mod m. Diese Verknüpfungen hängen nicht vom gewählten Repräsentanten ab, wie wir am Beispiel der Addition illustrieren: Mit a ≡ A und b ≡ B mod m existieren k, ℓ ∈ Z mit a = A + km und b = B + ℓm, so dass (a mod m) + (b mod m) = (a + b) mod m = (A + B + (k + ℓ)m) mod m = (A + B) mod m = (A mod m) + (B mod m). Damit ist die Addition unabhängig vom gewählten Repräsentanten. §8 Rechnen mit Restklassen Modulo m bilden die Restklassen 0 mod m, 1 mod m, . . . , m − 1 mod m ein vollständiges Restsystem modulo m. Es gibt also genau m verschiedene Restklassen modulo m. Wir notieren die Menge der Restklassen modulo m als Z/mZ := {0 mod m, 1 mod m, . . . , m − 1 mod m}. Hierbei handelt es sich um eine Menge, deren Elemente wiederum Mengen sind, genauer: um eine endliche Menge, deren Elemente jeweils unendliche Mengen sind. §8 Rechnen mit Restklassen Modulo m bilden die Restklassen 0 mod m, 1 mod m, . . . , m − 1 mod m ein vollständiges Restsystem modulo m. Es gibt also genau m verschiedene Restklassen modulo m. Wir notieren die Menge der Restklassen modulo m als Z/mZ := {0 mod m, 1 mod m, . . . , m − 1 mod m}. Hierbei handelt es sich um eine Menge, deren Elemente wiederum Mengen sind, genauer: um eine endliche Menge, deren Elemente jeweils unendliche Mengen sind. §8 Rechnen mit Restklassen Speziell für m = 3 gibt es beispielsweise drei verschiedene Restklassen und diese lassen sich etwa als die Mengen der ganzen Zahlen beschreiben, die bei Division durch 3 entweder den Rest 0, 1 oder 2 lassen. Mit der oben eingeführten Addition und Multiplikation von Restklassen ergeben sich die folgenden Tabellen: + 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1 und · 0 1 2 0 0 0 0 Hierbei steht 0 für die Restklasse 0 mod 3 usw. Wir beobachten, dass Z/3Z ein Körper ist! 1 0 1 2 2 0 2 1 §8 Rechnen mit Restklassen Speziell für m = 3 gibt es beispielsweise drei verschiedene Restklassen und diese lassen sich etwa als die Mengen der ganzen Zahlen beschreiben, die bei Division durch 3 entweder den Rest 0, 1 oder 2 lassen. Mit der oben eingeführten Addition und Multiplikation von Restklassen ergeben sich die folgenden Tabellen: + 0 1 2 0 0 1 2 1 1 2 0 2 2 0 1 und · 0 1 2 0 0 0 0 Hierbei steht 0 für die Restklasse 0 mod 3 usw. Wir beobachten, dass Z/3Z ein Körper ist! 1 0 1 2 2 0 2 1 §8 Rechnen mit Restklassen Speziell für m = 4 gibt es vier verschiedene Restklassen und diese sind additiv und multiplikativ verknüpft gemäß: + 0 1 2 3 0 0 1 2 3 1 1 2 3 0 2 2 3 0 1 3 3 0 1 2 und · 0 1 2 3 Wir beobachten, dass Z/4Z nur ein Ring ist! 0 0 0 0 0 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1 §8 Rechnen mit Restklassen Speziell für m = 4 gibt es vier verschiedene Restklassen und diese sind additiv und multiplikativ verknüpft gemäß: + 0 1 2 3 0 0 1 2 3 1 1 2 3 0 2 2 3 0 1 3 3 0 1 2 und · 0 1 2 3 Wir beobachten, dass Z/4Z nur ein Ring ist! 0 0 0 0 0 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1 §8 Rechnen mit Restklassen Das Restklassenkalkül geht zurück auf Carl Friedrich Gauß (∗ 30. April 1777 in Braunschweig, – † 23. Februar 1855 in Göttingen) und sein zahlentheoretisches Standardwerk Disquisitionae Arithmeticae von 1801. Nach Gauß ist „Mathematik die Königin der Wissenschaften und Zahlentheorie die Königin der Mathematik.“ §8 Rechnen mit Restklassen Satz 8.2 (Gauß, 1801) Sei m ≥ 2 eine natürliche Zahl, dann ist die Menge Z/mZ mit der oben definierten Addition und Multiplikation ein kommutativer Ring mit Einselement, der so genannte Restklassenring modulo m. Etwas später werden wir sehen, dass Z/mZ für prime m sogar ein Körper ist... §8 Rechnen mit Restklassen Satz 8.2 (Gauß, 1801) Sei m ≥ 2 eine natürliche Zahl, dann ist die Menge Z/mZ mit der oben definierten Addition und Multiplikation ein kommutativer Ring mit Einselement, der so genannte Restklassenring modulo m. Etwas später werden wir sehen, dass Z/mZ für prime m sogar ein Körper ist... §8 Rechnen mit Restklassen Rechnen mit Restklassen hat Anwendungen: Ein erstes Beispiel liefert die seit 2007 jedem Buch zugeordnete dreizehnstellige Internationale Standard-Buchnummer (kurz: ISBN). Mit den ersten zwölf Ziffern werden wichtige Informationen über Sprachraum, Verlag und Titelnummer bereitgestellt; dabei werden die Zahlen 0, 1, 2, 3, . . . , 9 für die Ziffern verwendet. Die letzte Ziffer ist eine Prüfziffer: Bezeichnet aj die j -te Ziffer, so berechnet sich diese als a13 ≡ −(a1 +a3 +a5 +a7 +a9 +a11 +3(a2 +a4 +a6 +a8 +a10 +a12 )) mod 10. Liest etwa ein Preisscanner einen ISBN-Code mit unpassender Prüfziffer, so muss ein Fehler vorliegen – ISBN ist somit ein Beispiel eines Fehler erkennenden Codes. §8 Rechnen mit Restklassen Rechnen mit Restklassen hat Anwendungen: Ein erstes Beispiel liefert die seit 2007 jedem Buch zugeordnete dreizehnstellige Internationale Standard-Buchnummer (kurz: ISBN). Mit den ersten zwölf Ziffern werden wichtige Informationen über Sprachraum, Verlag und Titelnummer bereitgestellt; dabei werden die Zahlen 0, 1, 2, 3, . . . , 9 für die Ziffern verwendet. Die letzte Ziffer ist eine Prüfziffer: Bezeichnet aj die j -te Ziffer, so berechnet sich diese als a13 ≡ −(a1 +a3 +a5 +a7 +a9 +a11 +3(a2 +a4 +a6 +a8 +a10 +a12 )) mod 10. Liest etwa ein Preisscanner einen ISBN-Code mit unpassender Prüfziffer, so muss ein Fehler vorliegen – ISBN ist somit ein Beispiel eines Fehler erkennenden Codes. Resümee Division mit Rest impliziert eine Äquivalenzrelation auf der Menge der ganzen Zahlen. Die zugehörigen Restklassen a + mZ lassen sich (wie die ganzen Zahlen) addieren und multiplizieren. Ein Satz von Gauß zeigt, dass die Menge Z/mZ der Restklassen zu einem festen Modul m einen kommutativen Ring mit Einselement bilden, den so genannten Restklassenring modulo m. Restklassenkalkül hat Anwendungen, etwa bei Prüfziffern in Fehler erkennenden Codes oder bei der Neunerprobe. Vorteilhaft ist, anstelle der unendlichen Menge der ganzen Zahlen nur eine endliche Menge von Restklassen betrachten zu müssen! §9 Der kleine Fermat und Primzahltests Eine Restklasse a mod m heißt prim, wenn a und m teilerfremd sind. Wegen ggT(a + km, m) = ggT(a, m) ist entweder jedes Element einer Restklasse oder keines teilerfremd zum Modul m. Die primen Restklassen modulo m = 8 sind damit 1, 3, 5, 7 mod 8. Die Menge der primen Restklassen modulo m ist multiplikativ abgeschlossen (denn mit a und b ist auch das Produkt ab teilerfremd zu m). §9 Der kleine Fermat und Primzahltests Eine Restklasse a mod m heißt prim, wenn a und m teilerfremd sind. Wegen ggT(a + km, m) = ggT(a, m) ist entweder jedes Element einer Restklasse oder keines teilerfremd zum Modul m. Die primen Restklassen modulo m = 8 sind damit 1, 3, 5, 7 mod 8. Die Menge der primen Restklassen modulo m ist multiplikativ abgeschlossen (denn mit a und b ist auch das Produkt ab teilerfremd zu m). §9 Der kleine Fermat und Primzahltests Die Eulersche ϕ-Funktion zählt die Anzahl ϕ(m) der primen Restklassen mod m. Es gelten ϕ(8) = ♯{1, 3, 5, 7 mod 8} = 4 und ϕ(2k ) = 2k−1 bzw. ϕ(p) = p − 1 und ϕ(pk ) = pk (1 − p1 ) für prime p . Darüberhinaus gilt die Multiplikativität (hier ohne Beweis). ϕ(mn) = ϕ(m)ϕ(n) für ggT(m, n) = 1. §9 Der kleine Fermat und Primzahltests Die Eulersche ϕ-Funktion zählt die Anzahl ϕ(m) der primen Restklassen mod m. Es gelten ϕ(8) = ♯{1, 3, 5, 7 mod 8} = 4 und ϕ(2k ) = 2k−1 bzw. ϕ(p) = p − 1 und ϕ(pk ) = pk (1 − p1 ) für prime p . Darüberhinaus gilt die Multiplikativität (hier ohne Beweis). ϕ(mn) = ϕ(m)ϕ(n) für ggT(m, n) = 1. §9 Der kleine Fermat und Primzahltests Ein Vertretersystem der ϕ(m) vielen primen Restklassen mod m heißt primes Restsystem modulo m. Ist b1 , . . . , bϕ(m) ein primes Restsystem mod m, so auch ab1 , . . . , abϕ(m) , sofern a teilerfremd zu m ist. Ein illustrierendes Beispiel: Multiplizieren wir das prime Restsystem modulo 8 von oben mit 3, so entsteht 3 · 1 = 3, 3 · 3 ≡ 1, 3 · 5 ≡ 7, 3 · 7 ≡ 5 mod 8; Multiplizieren wir hingegen mit einer nicht zum Modul teilerfremden Zahl, etwa 2, so entstehen zwangsläufig nicht prime Restklassen (z.B. 2 · 1 = 2 mod 8). §9 Der kleine Fermat und Primzahltests Ein Vertretersystem der ϕ(m) vielen primen Restklassen mod m heißt primes Restsystem modulo m. Ist b1 , . . . , bϕ(m) ein primes Restsystem mod m, so auch ab1 , . . . , abϕ(m) , sofern a teilerfremd zu m ist. Ein illustrierendes Beispiel: Multiplizieren wir das prime Restsystem modulo 8 von oben mit 3, so entsteht 3 · 1 = 3, 3 · 3 ≡ 1, 3 · 5 ≡ 7, 3 · 7 ≡ 5 mod 8; Multiplizieren wir hingegen mit einer nicht zum Modul teilerfremden Zahl, etwa 2, so entstehen zwangsläufig nicht prime Restklassen (z.B. 2 · 1 = 2 mod 8). §9 Der kleine Fermat und Primzahltests Satz 9.1 (Satz von Euler, 1750) Für teilerfremde a und m gilt aϕ(m) ≡ 1 mod m . z.B.: 34 = 81, 54 ≡ (−3)4 , 74 ≡ (−1)4 ≡ 1 mod 8. Korollar 9.2 (Kleiner Fermat) Sei p eine Primzahl und p ∤ a. Dann gilt ap−1 ≡ 1 mod p . Ohne die Voraussetzung p ∤ a kann man dies auch so formulieren: ap ≡ a mod p. §9 Der kleine Fermat und Primzahltests Satz 9.1 (Satz von Euler, 1750) Für teilerfremde a und m gilt aϕ(m) ≡ 1 mod m . z.B.: 34 = 81, 54 ≡ (−3)4 , 74 ≡ (−1)4 ≡ 1 mod 8. Korollar 9.2 (Kleiner Fermat) Sei p eine Primzahl und p ∤ a. Dann gilt ap−1 ≡ 1 mod p . Ohne die Voraussetzung p ∤ a kann man dies auch so formulieren: ap ≡ a mod p. §9 Der kleine Fermat und Primzahltests Die Umkehrung des kleinen Fermatschen Satzes gilt leider nicht, wie etwa das Beispiel 2340 ≡ 1 mod 341 , aber 341 = 11 · 31 zeigt. Eine Zahl m, für die also am−1 ≡ 1 mod m besteht, ist nicht notwendig prim. Zusammengesetzte Zahlen m, für die es ein a ≥ 2 mit a 6≡ 1 mod m und am−1 ≡ 1 mod m gibt, heißen Pseudoprimzahlen zur Basis a. §9 Der kleine Fermat und Primzahltests Aus dem Satz von Euler folgt unmittelbar, dass jede prime Restklasse ein multiplikativ Inverses besitzt, denn es gilt a · aϕ(m)−1 = aϕ (m) ≡ 1 mod m für jedes a, welches teilerfremd zu m ist. Ein Beispiel: Sei m = 25 und a ≡ 11 mod 25, dann ist ϕ(25) = 20 und also 1119 = 61 159 090 448 414 546 291 ≡ 16 mod 25 das gesuchte Inverse zu a ≡ 11 mod 25. Mit dem euklidischen Algorithmus lässt sich das Inverse schneller berechnen! §9 Der kleine Fermat und Primzahltests Aus dem Satz von Euler folgt unmittelbar, dass jede prime Restklasse ein multiplikativ Inverses besitzt, denn es gilt a · aϕ(m)−1 = aϕ (m) ≡ 1 mod m für jedes a, welches teilerfremd zu m ist. Ein Beispiel: Sei m = 25 und a ≡ 11 mod 25, dann ist ϕ(25) = 20 und also 1119 = 61 159 090 448 414 546 291 ≡ 16 mod 25 das gesuchte Inverse zu a ≡ 11 mod 25. Mit dem euklidischen Algorithmus lässt sich das Inverse schneller berechnen! §9 Der kleine Fermat und Primzahltests Aus dem Satz von Euler folgt unmittelbar, dass jede prime Restklasse ein multiplikativ Inverses besitzt, denn es gilt a · aϕ(m)−1 = aϕ (m) ≡ 1 mod m für jedes a, welches teilerfremd zu m ist. Ein Beispiel: Sei m = 25 und a ≡ 11 mod 25, dann ist ϕ(25) = 20 und also 1119 = 61 159 090 448 414 546 291 ≡ 16 mod 25 das gesuchte Inverse zu a ≡ 11 mod 25. Mit dem euklidischen Algorithmus lässt sich das Inverse schneller berechnen! §9 Der kleine Fermat und Primzahltests Ist a nicht teilerfremd zum Modul m, so ist die Restklasse a mod m nicht prim und insbesondere auch nicht invertierbar, denn für alle x, y ∈ Z ist ax + my ein Vielfaches von ggT(a, m) > 1 und also stets ax + my ≡ ax 6≡ 1 mod m. Damit ist a mod m genau dann bzgl. der Restklassenmultiplikation invertierbar, wenn ggT(a, m) = 1 ist, es sich folglich um eine prime Restklasse handelt! Satz 9.3 (Gauß, 1801) Die Menge (Z/mZ)∗ := {a mod m : ggT(a, m) = 1} der primen Restklassen modulo m ist mit der Multiplikation von Restklassen eine abelsche Gruppe der Ordnung ϕ(m) mit neutralem Element 1 mod m, die prime Restklassengruppe modulo m. Genau für Primzahlen m = p ist der Restklassenring Z/mZ ein Körper, der so genannte Restklassenkörper modulo p. §9 Der kleine Fermat und Primzahltests Ist a nicht teilerfremd zum Modul m, so ist die Restklasse a mod m nicht prim und insbesondere auch nicht invertierbar, denn für alle x, y ∈ Z ist ax + my ein Vielfaches von ggT(a, m) > 1 und also stets ax + my ≡ ax 6≡ 1 mod m. Damit ist a mod m genau dann bzgl. der Restklassenmultiplikation invertierbar, wenn ggT(a, m) = 1 ist, es sich folglich um eine prime Restklasse handelt! Satz 9.3 (Gauß, 1801) Die Menge (Z/mZ)∗ := {a mod m : ggT(a, m) = 1} der primen Restklassen modulo m ist mit der Multiplikation von Restklassen eine abelsche Gruppe der Ordnung ϕ(m) mit neutralem Element 1 mod m, die prime Restklassengruppe modulo m. Genau für Primzahlen m = p ist der Restklassenring Z/mZ ein Körper, der so genannte Restklassenkörper modulo p. §9 Der kleine Fermat und Primzahltests Satz 9.4 (Satz von Wilson) Es ist p genau dann eine Primzahl, wenn (p − 1)! ≡ −1 mod p. Der Satz von Wilson ist als Primzahltest nicht praktikabel, wenn es darum geht wirklich große Zahlen zu testen. Ein schneller Primzahltest wurde von Manindra Agrawal, Neeraj Kayal und Nitin Saxena gefunden. Hierbei bedeutet schnell, dass deren so genannter AKS-Test sicher in Polynomialzeit entscheidet, ob eine gegebene große Zahl N prim ist. §9 Der kleine Fermat und Primzahltests Satz 9.4 (Satz von Wilson) Es ist p genau dann eine Primzahl, wenn (p − 1)! ≡ −1 mod p. Der Satz von Wilson ist als Primzahltest nicht praktikabel, wenn es darum geht wirklich große Zahlen zu testen. Ein schneller Primzahltest wurde von Manindra Agrawal, Neeraj Kayal und Nitin Saxena gefunden. Hierbei bedeutet schnell, dass deren so genannter AKS-Test sicher in Polynomialzeit entscheidet, ob eine gegebene große Zahl N prim ist. Resümee Zu einer primen Restklasse modulo m existiert ein multiplikativ Inverses; deren Gesamtheit bildet die prime Restklassengruppe. Im Falle eines Primzahlmoduls m = p ist folglich Z/pZ nicht nur ein Ring, sondern ein Körper, der Restklassenkörper modulo p. Mit dem kleinen Fermat oder allgemeiner mit dem Satz von Euler lassen sich Potenzen berechnen und multiplikative Inverse berechnen; letzteres geht effizienter mit dem euklidischen Algorithmus. Ein Primzahltest steht vor der Aufgabe, eine gegebene große, ganze Zahl daraufhin zu testen, ob sie prim ist. Der kleine Fermat und der Satz von Wilson sind hierfür ungeeignet. §10 Der chinesische Restsatz Die Idee der primen Restklassen (bzw. multiplikativ Inversen) hilft auch beim Lösen von linearen Kongruenzen, wie etwa 11 X ≡ 7 mod 25. Nach dem kleinen Fermatschen Satz gilt 11−1 ≡ 16 mod 25 und Multiplikation unserer Kongruenz mit diesem Inversen liefert 11−1 · 11 X ≡ X ≡ 11−1 · 7 ≡ 16 · 7 = 112 ≡ 12 mod 25. Diese Idee lässt sich verallgemeinern: §10 Der chinesische Restsatz Die Idee der primen Restklassen (bzw. multiplikativ Inversen) hilft auch beim Lösen von linearen Kongruenzen, wie etwa 11 X ≡ 7 mod 25. Nach dem kleinen Fermatschen Satz gilt 11−1 ≡ 16 mod 25 und Multiplikation unserer Kongruenz mit diesem Inversen liefert 11−1 · 11 X ≡ X ≡ 11−1 · 7 ≡ 16 · 7 = 112 ≡ 12 mod 25. Diese Idee lässt sich verallgemeinern: §10 Der chinesische Restsatz Satz 10.1 Seien a, b ∈ Z und m ∈ N. Dann ist die Kongruenz aX ≡ b mod m genau dann lösbar, wenn ggT(a, m) | b. In diesem Fall gibt es genau ggT(a, m) inkongruente Lösungen modulo m. Der Beweis ist konstruktiv (dank des euklidischen Algorithmus). §10 Der chinesische Restsatz Satz 10.2 (Chinesischer Restsatz) Es seien m1 , . . . , mn ∈ N paarweise teilerfremd und a1 , . . . , an ∈ Z beliebig. Dann besitzt das lineare Kongruenzsystem X ≡ a1 mod m1 , ... X ≡ aj mod mj , ... X ≡ an mod mn eine eindeutige Lösung x mod m, wobei m := m1 · . . . · mn . Der Beweis liefert konstruktiv x= n X i =1 ai (m/mi )ϕ(mi ) . §10 Der chinesische Restsatz Satz 10.2 (Chinesischer Restsatz) Es seien m1 , . . . , mn ∈ N paarweise teilerfremd und a1 , . . . , an ∈ Z beliebig. Dann besitzt das lineare Kongruenzsystem X ≡ a1 mod m1 , ... X ≡ aj mod mj , ... X ≡ an mod mn eine eindeutige Lösung x mod m, wobei m := m1 · . . . · mn . Der Beweis liefert konstruktiv x= n X i =1 ai (m/mi )ϕ(mi ) . Resümee Eine lineare Kongruenz (wenn überhaupt lösbar) lässt sich (wie eine lineare diophantische Gleichung) mit dem euklidischen Algorithmus rückwärts lösen. Insbesondere kann man so auch die inverse Restklasse einer primen Restklasse finden. Ein System linearer Kongruenzen mit paarweise teilerfremden Moduln ist nach dem chinesischen Restsatz eindeutig lösbar; die Lösung ist eine Restklasse modulo dem Produkt der einzelnen Moduln. Der konstruktive Beweis liefert eine explizite Formel für die Lösung. Aus dem chinesischen Restsatz folgt ebenso, dass in einem hinreichend kleinen Intervall eine ganze Zahl eindeutig durch ihre Reste modulo kleiner Primzahlen bestimmt ist! Resümee Eine lineare Kongruenz (wenn überhaupt lösbar) lässt sich (wie eine lineare diophantische Gleichung) mit dem euklidischen Algorithmus rückwärts lösen. Insbesondere kann man so auch die inverse Restklasse einer primen Restklasse finden. Ein System linearer Kongruenzen mit paarweise teilerfremden Moduln ist nach dem chinesischen Restsatz eindeutig lösbar; die Lösung ist eine Restklasse modulo dem Produkt der einzelnen Moduln. Der konstruktive Beweis liefert eine explizite Formel für die Lösung. Aus dem chinesischen Restsatz folgt ebenso, dass in einem hinreichend kleinen Intervall eine ganze Zahl eindeutig durch ihre Reste modulo kleiner Primzahlen bestimmt ist! Resümee Eine lineare Kongruenz (wenn überhaupt lösbar) lässt sich (wie eine lineare diophantische Gleichung) mit dem euklidischen Algorithmus rückwärts lösen. Insbesondere kann man so auch die inverse Restklasse einer primen Restklasse finden. Ein System linearer Kongruenzen mit paarweise teilerfremden Moduln ist nach dem chinesischen Restsatz eindeutig lösbar; die Lösung ist eine Restklasse modulo dem Produkt der einzelnen Moduln. Der konstruktive Beweis liefert eine explizite Formel für die Lösung. Aus dem chinesischen Restsatz folgt ebenso, dass in einem hinreichend kleinen Intervall eine ganze Zahl eindeutig durch ihre Reste modulo kleiner Primzahlen bestimmt ist! §11 Eine kryptographische Anwendung Restklassenkalkül lässt sich für kryptographische Verfahren nutzen! Wir unterscheiden zwei Probleme: Gegeben N ∈ N; • ein Primzahltest entscheidet, ob N prim oder zusammengesetzt ist, und • ein Faktorisierungsalgorithmus liefert die Primfaktorzerlegung von N. Wahrscheinlich sind diese zwei Probleme unterschiedlich schwierig. Beispielsweise ist es recht aufwendig, die neun-stellige Zahl 239 707 129 in ihre Primfaktoren zu zerlegen; andererseits ist es ein Leichtes (und womöglich nur eine Arbeit von ein oder zwei Minuten), das nachstehende Produkt zu berechnen: 12 373 · 19 373 . §11 Eine kryptographische Anwendung Diese vermutliche Asymmetrie der Schwierigkeiten bildet das Fundament vieler moderner Kryptosysteme. Genauer: Die Tatsache, dass es zwar leicht ist, zwei große Primzahlen miteinander zu multiplizieren, aber - jedenfalls nach heutigem Kenntnisstand - sehr aufwendig, aus dem Produkt auf die Faktoren zu schließen, wird in der Kryptographie seit der bahnbrechenden Arbeit von Ronald Linn Rivest, Adi Shamir und Leonard Adleman Mitte der siebziger Jahre des vergangenen Jahrhunderts verwendet. Bei dem - nach den Initialen seiner Erfinder benannten - RSA-Verfahren wird als öffentlicher Schlüssel das Produkt zweier großer Primzahlen eingesetzt. Die Sicherheit dieses Systems basiert auf der Unkenntnis einer schnellen Faktorisierungsmethode; das Sieb des Eratosthenes ist tatsächlich unpraktikabel langsam. Zur Erzeugung des öffentlichen Schlüssels hingegen benötigt man Algorithmen zur Generierung von großen Primzahlen, also effiziente Primzahltests, die auch die Primalität großer Zahlen schnell erkennen können. §11 Eine kryptographische Anwendung Diese vermutliche Asymmetrie der Schwierigkeiten bildet das Fundament vieler moderner Kryptosysteme. Genauer: Die Tatsache, dass es zwar leicht ist, zwei große Primzahlen miteinander zu multiplizieren, aber - jedenfalls nach heutigem Kenntnisstand - sehr aufwendig, aus dem Produkt auf die Faktoren zu schließen, wird in der Kryptographie seit der bahnbrechenden Arbeit von Ronald Linn Rivest, Adi Shamir und Leonard Adleman Mitte der siebziger Jahre des vergangenen Jahrhunderts verwendet. Bei dem - nach den Initialen seiner Erfinder benannten - RSA-Verfahren wird als öffentlicher Schlüssel das Produkt zweier großer Primzahlen eingesetzt. Die Sicherheit dieses Systems basiert auf der Unkenntnis einer schnellen Faktorisierungsmethode; das Sieb des Eratosthenes ist tatsächlich unpraktikabel langsam. Zur Erzeugung des öffentlichen Schlüssels hingegen benötigt man Algorithmen zur Generierung von großen Primzahlen, also effiziente Primzahltests, die auch die Primalität großer Zahlen schnell erkennen können. §11 Eine kryptographische Anwendung Wie funktioniert RSA? Ein Benutzer, nennen wir ihn Bob, wählt zwei große (verschiedene) Primzahlen p und q (sagen wir mit ca. 100 Stellen) und berechnet N = pq sowie ϕ(N) = (p − 1)(q − 1) = N + 1 − p − q. Dann wählt Bob zufällig eine ganze Zahl e, so dass 1 < e < ϕ(N) und e teilerfremd zu ϕ(N) ist; hierbei kann die Teilerfremdheit leicht mit dem euklidischen Algorithmus nachgeprüft werden. Dann bestimmt Bob das multiplikative Inverse d zu e mod ϕ(N), also d ≡ e −1 mod ϕ(N) (wiederum mit dem euklidischen Algorithmus). §11 Eine kryptographische Anwendung Wie funktioniert RSA? Ein Benutzer, nennen wir ihn Bob, wählt zwei große (verschiedene) Primzahlen p und q (sagen wir mit ca. 100 Stellen) und berechnet N = pq sowie ϕ(N) = (p − 1)(q − 1) = N + 1 − p − q. Dann wählt Bob zufällig eine ganze Zahl e, so dass 1 < e < ϕ(N) und e teilerfremd zu ϕ(N) ist; hierbei kann die Teilerfremdheit leicht mit dem euklidischen Algorithmus nachgeprüft werden. Dann bestimmt Bob das multiplikative Inverse d zu e mod ϕ(N), also d ≡ e −1 mod ϕ(N) (wiederum mit dem euklidischen Algorithmus). §11 Eine kryptographische Anwendung Wie funktioniert RSA? Ein Benutzer, nennen wir ihn Bob, wählt zwei große (verschiedene) Primzahlen p und q (sagen wir mit ca. 100 Stellen) und berechnet N = pq sowie ϕ(N) = (p − 1)(q − 1) = N + 1 − p − q. Dann wählt Bob zufällig eine ganze Zahl e, so dass 1 < e < ϕ(N) und e teilerfremd zu ϕ(N) ist; hierbei kann die Teilerfremdheit leicht mit dem euklidischen Algorithmus nachgeprüft werden. Dann bestimmt Bob das multiplikative Inverse d zu e mod ϕ(N), also d ≡ e −1 mod ϕ(N) (wiederum mit dem euklidischen Algorithmus). §11 Eine kryptographische Anwendung Wie funktioniert RSA? Ein Benutzer, nennen wir ihn Bob, wählt zwei große (verschiedene) Primzahlen p und q (sagen wir mit ca. 100 Stellen) und berechnet N = pq sowie ϕ(N) = (p − 1)(q − 1) = N + 1 − p − q. Dann wählt Bob zufällig eine ganze Zahl e, so dass 1 < e < ϕ(N) und e teilerfremd zu ϕ(N) ist; hierbei kann die Teilerfremdheit leicht mit dem euklidischen Algorithmus nachgeprüft werden. Dann bestimmt Bob das multiplikative Inverse d zu e mod ϕ(N), also d ≡ e −1 mod ϕ(N) (wiederum mit dem euklidischen Algorithmus). §11 Eine kryptographische Anwendung Dies ist gleichbedeutend mit der Existenz einer ganzen Zahl f mit de = 1 + f ϕ(N). Nun ist Bobs öffentlicher Schlüssel das Paar (N, e); die Zahl d , die Faktorisierung von N, und ebenso ϕ(N) sind jedoch geheim. Der öffentliche Schlüssel mag nun bekannt gemacht werden. Damit muss ein Schlüssel nicht gesendet werden – ein großer Vorteil gegenüber klassischen Verfahren, und außerdem erleichtert dies die Nutzung kryptographischer Methoden für eine breite Öffentlichkeit. §11 Eine kryptographische Anwendung Dies ist gleichbedeutend mit der Existenz einer ganzen Zahl f mit de = 1 + f ϕ(N). Nun ist Bobs öffentlicher Schlüssel das Paar (N, e); die Zahl d , die Faktorisierung von N, und ebenso ϕ(N) sind jedoch geheim. Der öffentliche Schlüssel mag nun bekannt gemacht werden. Damit muss ein Schlüssel nicht gesendet werden – ein großer Vorteil gegenüber klassischen Verfahren, und außerdem erleichtert dies die Nutzung kryptographischer Methoden für eine breite Öffentlichkeit. §11 Eine kryptographische Anwendung Jetzt stellen wir uns vor, Alice möchte eine geheime Botschaft an Bob schicken. Dazu muss sie diese in eine Zahlenfolge umwandeln. Stellen wir uns also vor, dass die folgende Zuordnung besteht: 7→ 99, A 7→ 10, B 7→ 11, . . . , Z 7→ 35, ! 7→ 36, . . . . Eine Textnachricht wird dann in eine Zahlenfolge übersetzt, indem Buchstaben in die entsprechenden Zahlen kodiert werden, wobei wir Päckchen von einer Größe < N bilden (in der Praxis muss man etwas vorsichtiger sein). Die geheime Nachricht ist also eine große ganze Zahl M. Alice kennt Bobs öffentlichen Schlüssel (N, e) und bildet dementsprechend M e und reduziert dieses modulo N. Nennen wir das Ergebnis C , so gilt somit C = M e mod N, wobei hier und im folgenden c = a mod N für den kleinsten positiven Rest c in der Restklasse a modulo N steht. §11 Eine kryptographische Anwendung Jetzt stellen wir uns vor, Alice möchte eine geheime Botschaft an Bob schicken. Dazu muss sie diese in eine Zahlenfolge umwandeln. Stellen wir uns also vor, dass die folgende Zuordnung besteht: 7→ 99, A 7→ 10, B 7→ 11, . . . , Z 7→ 35, ! 7→ 36, . . . . Eine Textnachricht wird dann in eine Zahlenfolge übersetzt, indem Buchstaben in die entsprechenden Zahlen kodiert werden, wobei wir Päckchen von einer Größe < N bilden (in der Praxis muss man etwas vorsichtiger sein). Die geheime Nachricht ist also eine große ganze Zahl M. Alice kennt Bobs öffentlichen Schlüssel (N, e) und bildet dementsprechend M e und reduziert dieses modulo N. Nennen wir das Ergebnis C , so gilt somit C = M e mod N, wobei hier und im folgenden c = a mod N für den kleinsten positiven Rest c in der Restklasse a modulo N steht. §11 Eine kryptographische Anwendung Jetzt stellen wir uns vor, Alice möchte eine geheime Botschaft an Bob schicken. Dazu muss sie diese in eine Zahlenfolge umwandeln. Stellen wir uns also vor, dass die folgende Zuordnung besteht: 7→ 99, A 7→ 10, B 7→ 11, . . . , Z 7→ 35, ! 7→ 36, . . . . Eine Textnachricht wird dann in eine Zahlenfolge übersetzt, indem Buchstaben in die entsprechenden Zahlen kodiert werden, wobei wir Päckchen von einer Größe < N bilden (in der Praxis muss man etwas vorsichtiger sein). Die geheime Nachricht ist also eine große ganze Zahl M. Alice kennt Bobs öffentlichen Schlüssel (N, e) und bildet dementsprechend M e und reduziert dieses modulo N. Nennen wir das Ergebnis C , so gilt somit C = M e mod N, wobei hier und im folgenden c = a mod N für den kleinsten positiven Rest c in der Restklasse a modulo N steht. §11 Eine kryptographische Anwendung Jetzt wird diese Zahl C Bob zugesendet. Bob dekodiert C nun durch Berechnung der d -ten Potenz von C modulo N. Mit dem Satz 9.1 von Euler gilt nämlich C d ≡ (M e )d = M de = M 1+f ϕ(N) = M · (M f )ϕ(N) ≡ M mod N. Nun kann Bob Alices Nachricht lesen. Tatsächlich benötigt man hier für die Anwendung des Eulerschen Satzes, dass M und N teilerfremd sind, was nur in seltenen Fällen verletzt ist; dieses Problem kann man leicht mit einigen technischen Voraussetzungen beheben, worauf wir der Einfachheit halber aber verzichten. §11 Eine kryptographische Anwendung Jetzt wird diese Zahl C Bob zugesendet. Bob dekodiert C nun durch Berechnung der d -ten Potenz von C modulo N. Mit dem Satz 9.1 von Euler gilt nämlich C d ≡ (M e )d = M de = M 1+f ϕ(N) = M · (M f )ϕ(N) ≡ M mod N. Nun kann Bob Alices Nachricht lesen. Tatsächlich benötigt man hier für die Anwendung des Eulerschen Satzes, dass M und N teilerfremd sind, was nur in seltenen Fällen verletzt ist; dieses Problem kann man leicht mit einigen technischen Voraussetzungen beheben, worauf wir der Einfachheit halber aber verzichten. §11 Eine kryptographische Anwendung Will nun etwa die neugierige Eva wissen, was denn Alice dem dubiosen Bob mitzuteilen hatte, so könnte sie versuchen die öffentlich bekannte Zahl N zu faktorisieren, um an den geheimen Exponenten d zu gelangen. Ist N klein, kann sie es mit so genannter ’Probedivision’ versuchen, also dem √ sukzessiven Ausprobieren aller potentiellen Primteiler ≤ N (denn jede zusammengesetzte Zahl N = ab muss ja mindestens einen Faktor √ ≤ N haben, da ja sonst ab > N gelten würde). Die Hauptschwierigkeit für unsere Angreiferin Eva ist, dass der geheime Exponent d nicht aus den öffentlich bekannten Größen N und e, sondern nur aus der Faktorisierung von N oder dem Wissen von ϕ(N) gewonnen werden kann – zumindest nach dem heutigen Erkenntnisstand! Resümee Viele kryptographische Verfahren basieren auf zahlentheoretischen Methoden. Das RSA-Verfahren zur Verschlüsselung geheimer Nachrichten benutzt die Schwierigkeit, große ganze Zahlen faktorisieren zu können; andererseits werden für die Generierung des öffentlichen Schlüssels große Primzahlen benötigt. In der Praxis werden Zahlen mit mehreren hundert Stellen verwendet. Resümee Viele kryptographische Verfahren basieren auf zahlentheoretischen Methoden. Das RSA-Verfahren zur Verschlüsselung geheimer Nachrichten benutzt die Schwierigkeit, große ganze Zahlen faktorisieren zu können; andererseits werden für die Generierung des öffentlichen Schlüssels große Primzahlen benötigt. In der Praxis werden Zahlen mit mehreren hundert Stellen verwendet.