Primzahltests und Faktorisierungsmethoden

Größe: px
Ab Seite anzeigen:

Download "Primzahltests und Faktorisierungsmethoden"

Transkript

1 Zulassungsarbeit zur wissenschaftlichen Prüfung für das Lehramt an Gymnasien in Bayern im Fach Mathematik über das Thema Primzahltests und Faktorisierungsmethoden Gestellt von Prof. Dr. Ernst Kunz an der Universität Regensburg, vorgelegt von Stefan Friedl

2 Inhaltsverzeichnis 1 Inhaltsverzeichnis Einleitung 2 Notation 6 1 RSA Verschlüsselungsalgorithmus Allgemeines zur Kodierungstheorie RSA Verschlüsselung Klassische Primzahltests Der kleine Fermat Anwendung des kleinen Fermat Der Miller Rabin Test Der Pocklington Primzahl Test Auffinden von Primzahlen gegebener Größenordnung Geschwindigkeitsabschätzung von 33 4 Klassische Faktorisierungsalgorithmen Der Rho Algorithmus Der Faktor Basis Algorithmus Der (p 1) Algorithmus von Pollard Elliptische Kurven Grundlagen Elliptische Pseudokurven Algorithmen unter Verwendung von elliptischen Kurven Der Faktorisierungsalgorithmus von Lenstra Ein deterministischer Primzahltest Ein probabilistischer Primzahltest

3 Inhaltsverzeichnis 2 7 Vergleich der Faktorisierungsalgorithmen Einführung in das Programm Enigma Faktorisierung von RSA Zahlen Faktorisierung von beliebigen Zahlen Ein Beweis des Assoziativgesetzes für elliptische Kurven Beweis mehrerer Spezialfälle mit Hilfe des Computers Vorbereitende Lemmas Beweis der Assoziativität der Verknüpfung Inhaltsverzeichnis 107

4 Einleitung 3 Einleitung There is one comforting conclusion which is easy for a real mathematician. Real mathematics has no effects on war. No one has yet discovered any warlike purpose to be served by the theory of numbers or relativity, and it seems very unlikely that anyone will do so for many years. 1 G. H. Hardy: A mathematician s apology, 1940 Der berühmte Zahlentheoretiker Hardy würde diese Zeilen wohl nicht geschrieben haben, hätte er gewußt, daß die meisten jungen Mathematiker aus Oxford und Cambridge, allen voran Alan Turing, in eben diesem Jahr in die Armee einberufen wurden, um den Code der deutschen Chiffriermaschine Enigma zu brechen. Daß ihnen das gelang, sollte sich als einer der kriegsentscheidenden Faktoren herausstellen (vgl. [HS]). Seitdem sind weite Teiler der Zahlentheorie untrennbar mit der Kodierungstheorie verbunden. Das derzeit wichtigste und weitestverbreitete Verschlüsselungsverfahren ist der vor 20 Jahren entwickelte RSA Algorithmus. Vor allem im sich stürmisch entwickelnden Datenaustausch über das Internet sind der RSA Algorithmus bzw. darauf aufbauende Programme wie Pretty good Privacy im Moment die Standardverfahren. Der RSA Algorithmus verdankt seine Praktikabilität, der Tatsache, daß es Verfahren gibt, mit denen man schnell Primzahlen der Größenordnung finden kann, und er verdankt seine Sicherheit der Unfähigkeit, mit herkömmlichen Faktorisierungsalgorithmen Zahlen der Größenordnung in brauchbarer Zeit zu faktorisieren. Auf der Suche nach schnelleren Faktorisierungsalgorithmen werden Forschungsergebnisse aus Teilbereichen der Mathematik herangezogen, welche auf den ersten Blick keinerlei Zusammenhang mit dem Faktorisierungsproblem aufweisen. Ein Beispiel dafür ist die Theorie der elliptischen Kurven, welcher das Kapitel 5 gewidmet ist. Ich habe mit dieser Arbeit versucht, eine gründliche Einführung in das Thema Primzahltests und Faktorisierungsmethoden zu geben, welche zwar für einen Leser mit Grundkenntnissen in linearer Algebra verständlich ist, aber dennoch die schwierigen Punkte nicht verschweigt. Da es sich um ein Thema 1 Deutsche Übersetzung: Es gibt eine tröstliche Schlußfolgerung, welche für einen echten Mathematiker leicht zu treffen ist. Echte Mathematik hat keine Auswirkungen auf Kriege. Bis jetzt hat noch niemand einen kriegerischen Zweck gefunden, dem die Zahlentheorie oder die Relativitätstheorie dienlich sein könnte, und es scheint sehr unwahrscheinlich, daß sich das in absehbarer Zeit ändern wird.

5 Einleitung 4 handelt, welches aus der Praxis motiviert ist, und z.b. auch für Schüler von Interesse sein kann, beginnt die Arbeit sofort mit der Schilderung des RSA Verschlüsselungsalgorithmus, obwohl die (geringen) dafür nötigen mathematischen Kenntnisse erst im darauffolgenden Kapitel 2 vermittelt werden. Allerdings handelt es sich dabei um einfache Tatsachen aus der elementaren Zahlentheorie, welche dem Leser wahrscheinlich schon bekannt sind. Der RSA Algorithmus wirft die Frage auf, wie schnell Primzahltests und Faktorisierungsalgorithmen arbeiten. Dieser Frage wird in den folgenden Kapiteln nachgegangen. In Kapitel 2 werden zwei Primzahltests, nämlich der Fermat Test und der Miller Rabin Test, vorgestellt, die beide auf dem kleinen Fermatschen Satz beruhen. Beide arbeiten außergewöhnlich schnell, geben aber keinen Beweis für die Primalität einer Zahl; eine Zahl, die einen solchen Test besteht, ist nur höchstwahrscheinlich eine Primzahl. Für Primzahlen mit einer gewissen Zusatzeigenschaft kann die Primalität mit dem Satz von Pocklington (Satz 2.5) bewiesen werden. Aufbauend auf diesen Satz habe ich einen viel allgemeineren Satz formuliert, welcher die Primalität einer Zahl beweist. Als Korollar davon wird, nachdem die nötigen Kenntnisse über elliptische Kurven eingeführt wurden, in Kapitel 6.2 ein allgemeiner Primzahltest eingeführt. Zuerst wird jedoch in Kapitel 3 eine Schreibweise vorgestellt, welche es ermöglicht, die Geschwindigkeiten der in dieser Arbeit behandelten Verfahren abzuschätzen. Mit dieser Methode kann gezeigt werden, daß die in Kapitel 4 erläuterten allgemeinen Faktorisierungsalgorithmen, nämlich der Rho Algorithmus und der Faktor Basis Algorithmus, für große Zahlen deutlich langsamer sind als die Primzahltests. Im Anschluß an die Schilderung des Faktor Basis Algorithmus wird noch ein kurzer Überblick über die neuesten Faktorisierungalgorithmen und die jüngsten Faktorisierungserfolge gegeben. Insbesondere wird die bisher größte, im September 1997 erfolgte, nichttriviale Faktorisierung angegeben. Den Abschluß des Kapitels 4 bildet der sogenannte (p 1) Faktorisierungsalgorithmus. Dieser ist, analog dem Pocklington Primzahltest, zwar nur für Zahlen anwendbar, die eine Zusatzbedingung erfüllen, stellt aber einen Ausgangspunkt für weitere Algorithmen dar. Um dies zu zeigen, habe ich einen allgemeinen Faktorisierungssatz formuliert, als dessen Korollar sich verschiedene Faktorisierungsalgorithmen, insbesondere der Lenstra Algorithmus für elliptische Kurven, ergeben. Für das Verständnis des Lenstra Algorithmus, welcher von den in dieser Arbeit vorgestellten Faktorisierungsalgorithmen der modernste und asymptotisch schnellste ist, werden einige Grundlagen aus der Theorie der elliptischen Kurven benötigt. Diese werden in Kapitel 5 bereitgestellt. Die elliptischen Kurven zeichnen sich unter den algebraischen Kurven dadurch aus, daß sie eine Gruppenstruktur besitzen. Dies läßt sich bis auf das Assoziativgesetz

6 Einleitung 5 leicht beweisen. Es gibt zwar eine ganze Reihe eleganter Beweise der Assoziativität, diese erfordern aber mehr theoretische Grundlagen als in dieser Arbeit eingeführt werden können. Eine Aufgabenstellung dieser Arbeit war es deshalb, einen rein rechnerischen Beweis zu finden, d.h. die Assoziativität mittels in Kapitel 5 hergeleiteter Additionsformeln zu beweisen. Für die dabei notwendigen langwierigen Berechnungen, welche mit der Hand nicht mehr möglich gewesen wären, habe ich das Computerprogramms Cocoa verwendet. Der Beweis ist wegen seines großen Umfangs aus Kapitel 5 ausgegliedert, ihm wurde das Kapitel 8 gewidmet. Mit Hilfe der eingeführten Grundtatsachen über elliptische Kurven können jetzt drei Verfahren verstanden werden, welche in Kapitel 6.1 vorgestellt werden. Beim Gordon Verfahren handelt es sich um einen probabilistischen Primzahltests mit interessanten Eigenschaften, welcher abgesehen von einer kurzen Andeutung in [Ribenboim] in keinem der Lehrbücher erwähnt wird. Bei den anderen beiden Verfahren handelt es sich um den Lenstra Algorithmus und den Goldwasser Kilian Primzahltest; beide sind jeweils mit einem klassischen Algorithmus verwandt, nämlich dem (p 1) Algorithmus bzw. dem Pocklington Primzahltest, und jeweils ein Spezialfall aus dem von mir formulierten allgemeinen Primzahltest bzw. Faktorisierungsatz. Der Goldwasser Kilian Primzahltest ist in dieser Arbeit der einzige Algorithmus, welcher die Primalität einer beliebigen auch wirklich Primzahl beweisen kann. Eine weitere Aufgabenstellung war es, die verschiedenen in dieser Arbeit eingeführten Verfahren zu programmieren. Ich habe dafür das Programm Enigma geschrieben, eine kurze Einführung in dieses Programm wird in Kapitel 7.1 gegeben. Die Bedienung des Programms ist so einfach, daß es auch gut im Unterricht an Gymnasien verwendet werden kann, als besonderer Ansporn für Schüler ist auch der RSA Algorithmus einprogrammiert. Mit Hilfe von Enigma werden in den Kapiteln 7.2 und 7.3 die Geschwindigkeiten der vier verschiedenen in dieser Arbeit vorgestellten Faktorisierungsalgorithmen verglichen. Die beiden letzten Kapitel dieser Arbeit stammen bis auf zwei zitierte Sätze und eine Graphik vollständig von mir. Die Kapitel 2 bis 6 sind zumeist der Literatur entnommen. Die wichtigsten Bücher waren dabei: 1. Einführungen in das Thema: [Bressoud], [Forster], [Koblitz] und [Riesel], 2. Grundlagen der elliptischen Kurven: [Kunz95] und [Silverman], 3. Grundlagen der Algebra: [Kunz94]. Sind Stellen der Arbeit in diesen Kapiteln einem dieser Bücher entnommen, dann erfolgt keine Literaturangabe. Einige Beweise stammen von mir, ins-

7 Einleitung 6 besondere sind alle Sätze aus Kapitel 5 mit Ausnahme von Satz 5.3 von mir bewiesen, ebenso stammt der zweite Teil des Beweises zu Satz 2.15 von mir. In den vorherigen Kapiteln wurden die Sätze 2.13, 2.20, 4.1, 4.4, 4.5 von mir formuliert und bewiesen. Allerdings sind darunter wohl mehrere Wiederentdeckungen. Die Abbildungen wurden bis auf Abbildung 6 von mir entworfen. Zum Schluß möchte ich mich bei all jenen bedanken, die zum Gelingen dieser Arbeit beigetragen haben. Wertvolle Dienste leisteten mir dabei Matthias Aschenbrenner, Josef Hiebl, Dr. Martin Kreuzer, Ben Kriechel, Armin Röhrl sowie meine Eltern und mein Bruder Martin. Mein besonderer Dank gilt Herrn Professor Dr. Ernst Kunz für die glückliche Wahl des Themas und die sehr gute Betreuung.

8 Notation 7 Notation In der Arbeit werden folgende, zumeist geläufige, Notationen verwendet: 1. Die Mächtigkeit einer endlichen Menge M wird mit (M) oder kurz M bezeichnet. Für eine endliche Gruppe G gilt dann (G) = ord(g). 2. Für x R ist [r] := max{n Z n r} definiert. 3. Ist R ein Ring, so bezeichnet R die Einheitengruppe des Rings. 4. Sei n N. Dann bezeichnet π n die Abbildung π n : Z Z/nZ a a + nz π n (a) wird, wenn keine Verwechslungsgefahr besteht, auch als a geschrieben. Außerdem bezeichnet η n die Abbildung η n : Z/nZ N 0 a = a + nz min{b a + nz b 0} η n (a) wird, wenn keine Verwechslungsgefahr besteht, auch als a geschrieben. 5. Restklassen werden immer mit einem Überstrich gekennzeichnet (z.b. a), ausgenommen davon sind nur..., 2, 1, 0, 1, 2,... Z/nZ. 6. Für a Z ist a mod n := min{b a + nz b 0} 7. Besitzt n einen Primteiler p, dann bezeichnet π np die Abbildung π np : Z/nZ p x + (n) x + (p) Für x Z/nZ wird π np (x) auch als x p geschrieben. 8. Ist K ein Körper, so bezeichnet P 2 (K) den zwei dimensionalen projektiven Raum über K.

9 RSA Verschlüsselungsalgorithmus 8 1 RSA Verschlüsselungsalgorithmus Die im Moment vielleicht wichtigste Anwendung für Primzahltests und Faktorisierungsalgorithmen ist der RSA Verschlüsselungsalgorithmus. Die Sicherheit dieses Algorithmus beruht darauf, daß es zwar mit modernen Computern möglich ist, innerhalb weniger Minuten eine 100 stellige Primzahl zu finden, es aber mit den heutigen Methoden und Computern nicht möglich ist, ein Produkt zweier Primfaktoren der Größenordnung in brauchbarer Zeit zu faktorisieren. 1.1 Allgemeines zur Kodierungstheorie Um Texte mit mathematischen Methoden zu verschlüsseln, muß man sie zuerst in mathematische Objekte, wie z.b. Zahlen, verwandeln. Dazu wählt man eine Menge M von Buchstaben und Zeichen, beispielsweise könnte man M = {A,..., Z} wählen. Mit n := (M) kann man den Zeichen mittels einer beliebig gewählten bijektiven Abbildung f : M {0,..., n 1} die Zahlen 0 bis n 1 zuordnen. Ein Text bestehend aus s Zeichen wird mittels folgender Abbildung eindeutig durch eine Zahl zwischen 0 und n s 1 beschrieben: f s : M }. {{.. M } {0,..., n s 1} s mal (b 1,..., b s ) f(b 1 ) + nf(b 2 ) n s 1 f(b s ) Einen beliebigen Text teilt man in Blöcke von s Zeichen auf, die man in Zahlen verwandelt, welche dann verschlüsselt werden. Ist N n s 1, so können die Zahlen 0,..., n s 1 mittels der Abbildung π N mit den dazugehörigen Restklassen in Z/N Z identifiziert werden. Ein Code ist definitionsgemäß eine bijektive Abbildung h : Z/NZ Z/NZ. Oft ist es nützlich N > n s 1 zu wählen, da an N gewisse Zusatzforderungen gestellt sein können. Beispielsweise wird beim RSA Algorithmus verlangt, daß N das Produkt zweier großer Primzahlen ist, was bei n s 1 i.a. nicht der Fall ist. Mittels η N werden den Restklassen in Z/NZ wieder die Zahlen 0,..., N 1 zugeordnet. Ist l N so gewählt, daß n l N, so ist die Abbildung f 1 l, welche die Zahlen wieder in Zeichen umwandelt, injektiv. Die gesamte Kodierungsabbildung c eines Textes auf einen anderen Text sieht dann folgendermaßen aus: c : M s f s η N {0,..., n s 1} {0,..., N} π N Z/NZ h Z/NZ {0,..., N 1} {0,..., n l 1} f 1 l M l

10 RSA Verschlüsselungsalgorithmus 9 Da die Abbildung injektiv ist, existiert die Umkehrabbildung c 1 : c(m s ) M s welche zugleich die Dechiffrierabbildung ist. 1.2 RSA Verschlüsselung Eine klassische Verschlüsselungsabbildung ist z.b. durch h(t) = at + b mit a (Z/NZ) gegeben. 1 Bei einem solchen Kodierungsverfahren muß die Chiffrierabbildung geheimgehalten werden, da mittels dieser die Dechiffrierabbildung h 1 (t) = (t b)a 1 leicht zu bestimmen ist. Im Jahre 1976 schlugen W. Diffie und M. Hellman ein neues Chiffrierungsverfahren vor, nämlich das sogenannte Public Key Verfahren (vgl. [DH]). Man wählt eine Chiffrierabbildung h, von der ohne zusätzliches Wissen nur schwer das Inverse h 1 zu bestimmen ist, so daß h ohne Risiko veröffentlicht werden kann. Das bekannteste Public Key Verfahren ist der von Rivest, Shamir und Adleman 1977 entwickelte RSA Algorithmus (vgl. [RSA]). Ein Benutzer A dieses Kodierungsverfahrens wählt zwei sehr große, verschiedene Primzahlen 2 p A und q A (d.h. Primzahlen der Größenordnung ), und berechnet N A := p A q A. 3 Da A die Faktorisierung von N A weiß, kann er φ(n A ) = (p A 1)(q A 1) = N A + 1 p A q A bestimmen. Als letztes hat A eine Zahl e A {2,..., φ(n A )} mit ggt(e A, φ(n A )) = 1 zu wählen. Wegen dieser Eigenschaft kann A ein d A N mit d A e A 1 mod φ(n A ) bestimmen. Die RSA Verschlüsselungsabbildung h A lautet dann: h A : Z/N A Z Z/N A Z t t e A Der Anwender A veröffentlicht die Kodierungsabbildung h A (t) = t e A. Will jetzt B an A einen Text T, bzw. die entsprechende Restklasse t übermitteln, so berechnet er h A (t) = t e A und sendet das Ergebnis an A. Nur der Empfänger A besitzt die Umkehrabbildung h 1 A (t) = t d A und kann damit als einziger den verschlüsselten Text decodieren: 4 h 1 A (h A(t)) = (h A (t)) d A = t e Ad A = t 1 Es wird angenommen, daß dieses Verfahren das erste Mal von Cäsar benützt wurde. Er wählte dabei a = 1 und b = 3. Allerdings hat Cäsar den Algorithmus vermutlich anders beschrieben. 2 Mit modernen Computern benötigt man dafür nur wenige Minuten (vgl. Kapitel 2.5). 3 Eine Zahl die Produkt zweier etwa gleich großer Primzahlen ist, wird in der Arbeit auch kurz als RSA Zahl bezeichnet. 4 Die letzte Gleichheit folgt dabei aus Satz 2.8.

11 RSA Verschlüsselungsalgorithmus 10 Wie man sieht, kann die Umkehrfunktion nur bestimmt werden, wenn man φ(n A ) kennt, was gleichbedeutend ist mit dem Wissen um die Primfaktorzerlegung von N A. Diese aber weiß nur A, und da es mit den heute zur Verfügung stehenden Faktorisierungsalgorithmen und Computern nicht möglich ist ein Produkt aus zwei Primzahlen der Größenordnung , sprich N A, in brauchbarer Zeit zu faktorisieren, ist dieses Verfahren sehr sicher. Das RSA Verfahren hat zudem den großen Vorteil, daß man die Möglichkeit hat, eine nicht fälschbare Unterschrift zu verwenden. Hat nämlich B ebenfalls eine Kodierungsabbildung h B gewählt und diese veröffentlicht, so kann B an A einen Text, nämlich die Unterschrift, senden, der durch h 1 B (t) = t d B verschlüsselt ist. A kann den Text mit Hilfe der bekannten Funktion h B (t) = t e B entschlüsseln, denn h B und h 1 B sind zueinander inverse Abbildungen, die beide als Chiffrier bzw. Dechiffrierabbildung geeignet sind. A kann also sicher sein, daß der Text von B stammt, denn nur dieser verfügt über die Abbildung h 1 B.

12 Klassische Primzahltests 11 2 Klassische Primzahltests Bevor jetzt verschiedene Verfahren eingeführt werden, sollen noch einige Begriffe geklärt werden. Ein Verfahren wird als Algorithmus bezeichnet, wenn das Ergebnis, welches das Verfahren liefert, sicher richtig ist, und nicht nur mit einer sehr hohen Wahrscheinlichkeit. Ein Algorithmus heißt probabilistisch, wenn für die Durchführung Zufallszahlen verwendet werden und die Bearbeitungszeit von der Art der Zufallszahlen abhängt. Ein Algorithmus der ohne Zufallszahlen auskommt, wird deterministisch genannt. Ein Beispiel für einen deterministischen Algorithmus ist folgender Primzahltest: 1 Algorithmus 2.1 (Probedivisionen Algorithmus) Sei n eine auf Primalität zu überprüfende Zahl. 1. Setze i := Gilt i n, dann handelt es sich bei n um eine zusammengesetzte Zahl. Breche den Algorithmus ab. 3. Ist i < [ n], so setze i := i + 1 und gehe zu 2. Andernfalls handelt es sich bei n um eine Primzahl. Allerdings ist dieser Algorithmus viel zu zeitaufwendig, um für große Zahlen von praktischen Nutzen zu sein. 2 Für praktische Zwecke, wie z.b. den RSA Algorithmus, verwendet man im Normalfalle Primzahltest Verfahren, welche zwar nicht 100% Sicherheit bieten, dafür aber außergewöhnlich schnell sind. Für die Beschreibung dieser Verfahren werden einige Hilfsmittel aus der elementaren Zahlentheorie benötigt. 2.1 Der kleine Fermat Die Sätze die in diesem Kapitel 2.1 vorgestellten werden, stellen die Grundwerkzeuge der elementaren Zahlentheorie dar. Sie werden im folgenden so häufig benötigt, daß sie ohne Verweise zitiert werden. 1 Der Probedivisionen Algorithmus kann auch als Faktorisierungsalgorithmus verwendet werden. 2 Der Algorithmus kann etwas beschleunigt werden, wenn man nur für Primzahlen überprüft ob sie n teilen. Allerdings muß man dafür über eine Liste aller Primzahlen im Bereich {2,..., [ n]} verfügen. Für große Zahlen ist dies wiederum inpraktikabel.

13 Klassische Primzahltests 12 Satz 2.1 (Division mit Rest) Seien s N 0 und t N, dann gibt es eindeutig bestimmte f, r N 0 mit r < t, so daß s = tf + r. Satz 2.2 Seien p, q N und sei d := ggt(p, q), dann gibt es e, f Z mit pe + qf = d Der Satz folgt aus dem folgenden Algorithmus zur Bestimmung von e, f und d = ggt(p, q) für vorgegebene p, q N (vgl. [BRK, S. 51]): Algorithmus 2.2 (Euklidischer Algorithmus) Seien p, q N. 1. Setze r 0 := p, r 1 := q und i := Setze e 0 := 1, e 1 := 0, f 0 := 0 und f 1 := 1. [ r 3. Setze s i+2 := i und r i+2 := r i r i+1 s i+2. r i+1 ] 4. Setze e i+2 := e i e i+1 s i+2 und f i+2 := f i f i+1 s i Ist r i+2 > 0, so setze i := i + 1 und gehe zu Es ist 1 d := r i+1 = ggt(r 0, r 1 ) = ggt(p, q), zudem ist 2 Satz 2.3 Sei n N und sei a Z/nZ, dann gilt d = r i+1 = pe i+1 + qf i+1 a (Z/nZ) ggt(a, n) = 1 Dieser Satz ist Grundlage für viele Faktorisierungsalgorithmen. Ist nämlich n N und hat man ein a (Z/nZ) {0} gefunden, so ist d := ggt(a, n) ein nichttrivialer Teiler von n. 1 Es gilt r i+1 r i, damit aber auch r i+1 r i 1,..., r i+1 r 1, r i r 0. Außerdem gilt für jeden Teiler t von r 0 und r 1, daß t r 0, t r 1,..., t r i+1. D.h. also, daß r i+1 = ggt(r 0, r 1 ). 2 Es ist wie man leicht nachprüfen kann, r j = pe j + qf j für j = 0, 1. Induktiv kann man zeigen, daß diese Gleichung für j = 0,..., i 1 gilt, denn r j+2 = r j r j+1 s j+2 = pe j + qf j (pe j+1 + qf j+1 )s j+2 = = p(e j e j+1 s j+2 ) + q(f j f j+1 s j+2 ) = pe j+2 + qf j+2

14 Klassische Primzahltests 13 Satz 2.4 (Chinesischer Restsatz) Sei n N mit n = p e p e l l, wobei p 1,..., p l paarweise verschiedene Primzahlen sind, dann gibt es einen Ringisomorphismus φ : Z/nZ = Z/p e 1 1 Z... Z/p e l l Z Dabei ist φ(1) = (1,..., 1) φ( 1) = ( 1,..., 1) Die einfachsten und schnellsten alternativen Primzahltests beruhen auf dem sogenannten kleinen Fermat : Satz 2.5 (Kleiner Fermat) Sei G eine endliche abelsche Gruppe, a G, dann gilt a ord(g) = e Der Beweis ist zwar bekannt, soll aber wegen der Schönheit des Arguments noch einmal aufgeführt werden: Beweis: Seien g 1,..., g n die Elemente von G. Dann gilt für i, j {1,..., n} mit i j, daß g i a g j a, und daher ist ag 1,..., ag n nur eine Umordnung von g 1,..., g n. Man erhält a n g 1... g n = (ag 1 )... (ag n ) = g 1... g n Daraus folgt, daß a n = e. Der kleine Fermat gilt auch für nichtabelsche Gruppen, allerdings ist der Beweis dafür etwas komplizierter, er kann in [Forster, S. 55] nachgelesen werden. Definition: Die Eulerfunktion φ ist folgendermaßen definiert: φ : N N n φ(n) := {b {1,..., n} ggt(b, n) = 1} Mit Hilfe des chinesischen Restsatzes kann man den folgenden Satz beweisen, welcher die Berechnung von φ(n) für ein beliebiges n N \ {1} ermöglicht (vgl. [Kunz94, S. 78]).

15 Klassische Primzahltests 14 Satz 2.6 Sei n N \ {1} mit n = p e p e l l, wobei p 1,..., p l paarweise verschiedene Primzahlen sind, dann gilt: φ(n) = (p 1 1)p e (p l 1)p e l 1 l Als Korollar aus dem kleinen Fermat (Satz 2.5) erhält man den folgenden Satz: Satz 2.7 Sei n N und sei a (Z/nZ). Dann gilt 1. φ(n) = ord((z/nz) ), 2. a φ(n) = 1, 3. a φ(n) = 1 mod n. Insbesondere gilt für alle e N mit e 1 mod φ(n), daß a e = a mod n. Man kann Satz 2.7 noch etwas schärfer formulieren: Satz 2.8 Seien p, q verschiedene Primzahlen und sei n := pq, sowie k 1 mod φ(n). Dann gilt für alle a Z/nZ, daß a k = a. Beweis: Für a (Z/nZ) gilt die Aussage nach Satz 2.7, für a = 0 ist die Aussage klar. Sei also a (Z/nZ) {0}. Es ist k = lφ(n) + 1 = l(p 1)(q 1) + 1 mit einem l Z. Dann gilt wegen a 0 mod p, daß a p 1 1 mod p, also a k a(a p 1 ) l(q 1) a1 l(q 1) a mod p Analog ist a k a mod q. Es ist also a k a = s p p = s q q mit s p, s q Z. Da p, q verschiedene Primzahlen sind, gibt es ein s n Z mit a k a = s n n. 2.2 Anwendung des kleinen Fermat Der kleine Fermat gibt eine notwendige Bedingung für die Primalität einer Zahl, denn jede Primzahl p erfüllt die Bedingung, daß a p 1 1 mod p für jedes a 0 mod p. Allerdings ist sie nicht hinreichend. Beispielsweise ist mod 91, obwohl 91 = 7 13 keine Primzahl ist. Dies motiviert die folgende Definition: Definition:

16 Klassische Primzahltests 15 Sei n N. Eine Zahl a {2,..., n 2} heißt Basis zu n, falls ggt(a, n) = 1. Die Menge aller Basen zu n wird mit B n bezeichnet. Ist n zusammengesetzt und gibt es eine Basis a B n mit a n 1 1 mod n so nennt man n Pseudoprimzahl zur Basis a. Es stellt sich die Frage, wieviele Pseudoprimzahlen es gibt. Für den Wertebereich bis kann die Zahl der Pseudoprimzahlen zur Basis 2 in Tabelle 1 nachgelesen werden. Für größere Zahlen kann dies allgemein abgeschätzt werden. Für n N bezeichne P P 2 (n) := {l {2,..., n} 2 B l und l ist Pseudoprimzahl zur Basis 2} P (n) := {l {2,..., n} l ist Primzahl} Nach [Pomerance81] ist ln n ln ln ln n P P 2 (n) ne 2 ln ln n Eine Abschätzung für P (n) liefert der vielleicht wichtigste Satz der analytischen Zahlentheorie (vgl. [Davenport, S.113]): Satz 2.9 (Primzahlsatz) Es gilt P (n) lim n n ln n = 1 Bezeichnet o(1) einen Term f(n) mit lim n f(n) = 0, dann ist P (n) = (1 + o(1)) n ln n Wählt man eine beliebige Zahl n N und ist 2 n 1 1 mod n, so gilt für die Wahrscheinlichkeit W (n), daß n nicht prim ist, daß P P 2 (n) W (n) = P P 2 (n) + P (n) Man erhält die folgende Tabelle:

17 Klassische Primzahltests 16 n P (n) P P 2 (n) W (n) Tabelle 1: Fehlerwahrscheinlichkeit beim Fermat Test Der Primzahltest auf Basis des kleinen Fermat sieht dann folgendermaßen aus: Verfahren 2.3 (Fermat) Sei n eine auf Primalität 1 zu überprüfende Zahl. 1. Wähle ein a {2,..., n 2}. Ist ggt(a, n) 1, so ist n sicher zusammengesetzt. Breche das Verfahren ab. 2. Berechne a n 1 mod n. 3. Ist a n 1 1 mod n, dann ist n sicher eine zusammengesetzte Zahl, ist hingegen a n 1 1 mod n, so handelt es sich bei n höchstwahrscheinlich um eine Primzahl. Für praktische Zwecke und große Zahlen ist der Fermat Test sehr sicher. Zudem geht die Berechnung von a n 1 mod n sehr schnell von statten, das Computerprogramm Enigma 2 benötigt z.b. für die Berechnung von 2 n 1 mod n mit n nur einige Sekunden. Im Gegensatz dazu benötigt der Probedivisionen Algorithmus für den Nachweis der Primalität einer 100 stelligen Primzahl etwa Jahre! Will man den Fermat Test noch sicherer machen, so wäre der nächstliegende Gedanke, den Test für verschiedene Basen durchzuführen, in der Hoffnung, 1 In der Fachliteratur wird dieses Verfahren oft als Zusammengesetztheitstest bezeichnet. Denn das einzig sichere Ergebnis, das man erhält, ist, daß eine Zahl zusammengesetzt ist. Eine Zahl, die den Fermat Test besteht, ist nicht sicher, sondern nur höchstwahrscheinlich prim. 2 Eine kurze Einführung in dieses Programm wird in Kapitel 7.1 gegeben.

18 Klassische Primzahltests 17 daß deutlich weniger zusammengesetzte Zahlen den Test bestehen. Allerdings gibt es zusammengesetzte Zahlen, die Pseudoprimzahlen zu allen Basen sind. Ein Beispiel dafür ist 561 = Definition: Ist n N Pseudoprimzahl zu allen Basen a B n, so wird n als Carmichael Zahl bezeichnet. Es gibt, wie erst vor wenigen Jahren von Alford, Granville und Pomerance bewiesen wurde, unendlich viele Carmichael Zahlen (vgl. [AGP]). Genauer gilt, daß C(n) := {l {1,..., n} l ist Carmichael-Zahl} > n c wobei c 0.1.

19 Klassische Primzahltests 18 Für die Charakterisierung der Carmichael Zahlen wird folgender Satz benötigt: Satz 2.10 Sei p > 2 eine Primzahl und e N. Dann gibt es eine Primitivwurzel g (Z/p e Z), d.h. es ist (Z/p e Z) = {g,..., g pe 1 (p 1) }. Der Beweis für den Fall e = 1 erfolgt in [Forster, S. 62], und für den Fall e > 2 erfolgt er in [Forster, S. 68f ]. Satz 2.11 Eine ungerade zusammengesetzte Zahl n 3 ist genau dann eine Carmichael Zahl, wenn 1. n quadratfrei ist, d.h. es gibt keine Primzahl p mit p 2 n, und 2. für jede Primzahl p mit p n gilt, daß p 1 n 1. Beweis: 1. Beweis, daß die Bedingungen hinreichend sind: Sei also n = p 1 p 2... p l, mit paarweise verschiedenen Primzahlen p i und n 1 =: (p i 1)s i. Dann gilt nach dem chinesischen Restsatz, daß Z/nZ = Z/p 1 Z... Z/p l Z Für a B n und alle i {1,..., l} gilt a n 1 a (p i 1)s i 1 mod p i Nach dem chinesischen Restsatz ist daher a n 1 1 mod n. 2. Beweis, daß die Bedingungen notwendig sind: Sei n eine Carmichael Zahl und p ein Primteiler von n. Dann ist n = p e m mit einem Exponenten e 1 und einer zu p teilerfremden Zahl m. Nach Satz 2.10 existiert eine Primitivwurzel g in Z/p e Z. Nach dem chinesischen Restsatz gibt es eine Zahl a {2,..., n 2} mit a g mod p e und a 1 mod m. Nach Konstruktion ist a zu n teilerfremd, d.h. a B n. Es ist also a n 1 1 mod n. Es folgt, daß g n 1 a n 1 1 mod p e. Da (Z/p e Z), und somit auch die Primitivwurzel g, die Ordnung p e 1 (p 1) besitzt, folgt daraus, daß p e 1 (p 1) (n 1). Wegen p n gilt p (n 1), es folgt, daß e = 1 und (p 1) (n 1).

20 Klassische Primzahltests 19 Zudem gilt der folgende Satz: Satz 2.12 Jede Carmichael Zahl n besitzt mindestens drei verschiedene Primteiler. Beweis: Angenommen, es gibt eine Carmichael Zahl n mit n = pq, wobei p und q verschiedene Primzahlen sind, o.b.d.a. sei p < q. Dann ist nach Satz 2.11 andererseits ist n 1 0 mod (q 1) n 1 (q 1)p + p 1 p 1 mod (q 1) Da 0 < p 1 < q 1, ist dies ein Widerspruch. Wie man an Tabelle 1 erkennen kann, sind Carmichael Zahlen nicht so viel seltener als Pseudoprimzahlen, als daß man daraus einen signifikant schärferen Primzahltest entwicklen könnte. Die Entwicklung hin zu einem stärkeren Primzahltest muß also in eine andere Richtung gehen. 2.3 Der Miller Rabin Test Mittels des Miller Rabin Tests kann man das Risiko, beim kleinen Fermat fälschlicherweise eine zusammengesetzte Zahl als Primzahl zu betrachten, beliebig verkleinern. Definition: Sei n N und a B n. Man sagt, n erfüllt die Miller Rabin Bedingung zur Basis a, wenn gilt: Ist n 1 = 2 s t, wobei 2 t, so ist entweder a t 1 mod n oder es gibt ein r {0,..., s 1} mit a 2rt 1 mod n

21 Klassische Primzahltests 20 Mit Hilfe des folgenden Satzes kann man eine schärfere Bedingung für Primzahlen formulieren: Satz 2.13 Sei p eine Primzahl, dann sind +1 und 1 die einzigen Quadratwurzeln von 1 in p. Beweis: Sei a eine Quadratwurzel von 1 in p, dann gilt a 2 1 mod p, d.h. p (a 2 1) = (a + 1)(a 1). Es folgt p (a + 1) oder p (a 1), dies ist gleichbedeutend mit a 1 mod p bzw. a 1 mod p. Als Korollar erhält man den folgenden Satz: Satz 2.14 (Miller Rabin) Sei p eine Primzahl und a B p, dann erfüllt p die Miller Rabin Bedingung zur Basis a. Beweis: Sei a B n und sei p 1 = 2 s t mit 2 t. Für alle r N 0 ist a 2rt eine Wurzel von a 2r+1t. Ist also a 2r+1t = 1, so gilt nach Satz 2.13, daß a 2rt = 1 oder a 2rt = 1. Da a 2st = 1, ist entweder a 2rt = 1 für alle r {0,..., s} oder es gibt ein r {0,..., s 1} mit a 2rt = 1. Allerdings gibt es auch jetzt wieder die Möglichkeit, daß eine zusammengesetzte Zahl die Bedingung zu einer Basis erfüllt: Definition: Sei n eine zusammengesetzte ungerade Zahl. Erfüllt n die Miller Rabin Bedingung zu einer Basis a B n, so sagt man, n ist starke Pseudoprimzahl zur Basis a. Ein Beispiel für eine starke Pseudoprimzahl zur Basis 2 ist 2047 =

22 Klassische Primzahltests 21 Die folgende Tabelle (welche [BRK, S. 155 und S. 166] entnommen ist) gibt einen Überblick über die Häufigkeit der verschiedenen Zahlentypen: n Anzahl der ungeraden Zahlen l {2,..., n 2} mit l prim Pseudoprimzahl starke Pseudoprim- Carmichael zur Basis 2 zahl zur Basis 2 Zahl Abbildung 1: Anzahl von Pseudoprimzahlen und Carmichael Zahlen. Vergleicht man die 3. und die 4. Spalte von Tabelle 1, so sieht man, daß starke Pseudoprimzahlen nicht sehr viel seltener sind als normale Pseudoprimzahlen. Den Fortschritt in Sachen Sicherheit bringt der folgende Satz: Satz 2.15 Ist n eine ungerade zusammengesetzte Zahl, dann gibt es höchstens n 1 Basen zu denen n eine starke Pseudoprimzahl 4 ist. Zum Beweis des Satzes wird folgendes Lemmas benötigt: Lemma 2.16 Sei G eine zyklische Gruppe mit m Elementen. Dann gibt es für ein k N genau d := ggt(k, m) Elemente h G, mit h k = 1. Beweis: Sei g ein Erzeuger von G, d.h. G = {g,..., g m = 1}. Für ein Element h = g j mit j {1,..., m} gilt h k = g jk = 1 genau dann, wenn m jk, d.h. m j k. Dies ist wegen ggt( m, k) = 1 gleichbedeutend mit m j, d.h. d d d d d j { m,..., (d 1) m, m}. d d

23 Klassische Primzahltests 22 Jetzt zum Beweis von Satz 2.15: Beweis: Sei n eine ungerade zusammengesetzte Zahl, dann setze P := {a B n n ist starke Pseudoprimzahl zur Basis a} A := {a (Z/nZ) n ist starke Pseudoprimzahl zur Basis a} { 1, 1} C := {a (Z/nZ) a n 1 = 1} Da π n (P ) A genügt es zu zeigen, daß A n 1. Offensichtlich ist A C. 4 Angenommen n ist nicht quadratfrei. Es gibt also eine Primzahl p mit p e n wobei e 2. Für a C gilt, daß insbesondere a n 1 1 mod p 2. Setze D := {a (Z/p 2 Z) a n 1 = 1}. Aus Satz 2.10 folgt, daß (Z/p 2 Z) eine zyklische Gruppe mit p(p 1) Elementen ist. Nach Lemma 2.16 gilt mit d := ggt (p(p 1), n 1), daß (D) = d. Da p n, folgt p (n 1) und daher p d, d.h. d p 1. Wegen (C) n d folgt (C) (p 1) n. Für den p 2 p 2 Anteil ergibt sich wegen p 3, daß A n 1 C n 1 (p 1) n p2 n 1 p 1 p 2 1 = 1 p Im folgenden sei angenommen, daß n quadratfrei ist, d.h. es ist n = p 1... p l ein Produkt aus paarweise verschiedenen ungeraden Primzahlen. Nach dem chinesischem Restsatz gibt es einen Isomorphismus ψ : (Z/nZ) = (Z/p 1 Z)... (Z/p l Z) Es seien g i (Z/p i Z) Primitivwurzeln von (Z/p i Z). 1. Fall: n ist eine Carmichael Zahl: Nach Satz 2.11 gilt (p i 1) (n 1) für alle i, d.h. n 1 =: 2 s i u i (p i 1) mit ungeraden Zahlen u i. O.B.d.A. sei s := s 1 s 2... s l. Aus a n 1 2 s a (p i 1)u i 2 s i s 1 mod p i folgt a n 1 (Z/nZ). (a) Fall: s = s i für alle i. Dann ist n 1 p = u i 1 2 s+1 i ein ungerades Vielfaches von p i 1. Offen- 2 2 sichtlich ist 2 s 1 mod n für alle a A B := {a (Z/nZ) a n 1 2 s+1 = ±1} Für a = ψ 1 (g k 1 1,..., g k l l ) mit k i {1,..., p i 1} gilt a n 1 2 s+1 1 mod n genau dann, wenn für alle i {1,..., l} a n 1 2 s+1 g k i n 1 2 s+1 i g k p iu i 1 i 2 i 1 mod p i

24 Klassische Primzahltests 23 d.h., wenn k i gerade für alle i. Analog ist a(k 1,..., k l ) n 1 2 s+1 1 mod n genau dann, wenn wenn k i ungerade für alle i. Nach Satz 2.12 ist l 3, d.h. (A) (B) = {(k 1,..., k l ) k i ungerade für alle i und k i {1,..., p i 1}} + {(k 1,..., k l ) k i gerade für alle i und k i {1,..., p i 1}} = 2( 1 (p 2 l 1 1)... (p l 1)) 1 n 1 φ(n) 4 4 (b) Fall: s = s 1 < s l. Dann ist n 1 = u 2 s+1 l 2 sl s 1 (p l 1) ein Vielfaches von p l 1, insbesondere geradzahlig. Es ist also a n 1 2 s+1 = 1 mod p l für alle zu n teilerfremden a {1,..., n 1}, es gibt deshalb kein a (Z/nZ) mit a n 1 2 s+1 = 1. Also gilt A B 1 := {a (Z/nZ) a n 1 2 s+1 = 1} B 1 ist insbesondere eine Untergruppe von (Z/nZ). Aus n 1 p = u s folgt, daß ψ 1 (g 1, 1,..., 1) n 1 2 s+1 = ψ 1 (g n 1 2 s+1 1, 1,..., 1) = ψ 1 ( 1, 1,..., 1) ±1 also ψ 1 (g 1, 1,..., 1) A \ B 1, d.h. B 1 ist sogar eine echte Untergruppe von (Z/nZ). Deshalb ist (B 1 ) 1 2 φ(n).1 Zudem gilt A B 2 := {a (Z/nZ) a n 1 2 s+2 = ±1} B 1 Für das Element a = ψ 1 (g 2 1, 1,..., 1) gilt a n 1 2 s+1 = 1, und a n 1 2 s+2 = ψ 1 (g 2 n 1 2 s+2 1, 1,..., 1) = ψ 1 ( 1, 1,..., 1) ±1 also a B 1 \ B 2, deshalb ist B 2 eine echte Untergruppe von B 1 und es folgt, daß (A) (B 2 ) 1 2 (B 1) 1 4 φ(n) n Fall: n ist keine Carmichael Zahl. Es ist also C eine echte Untergruppe von (Z/nZ). Setze d := ((Z/nZ) ) (C). 1 Bekanntlich gilt für eine echte Untergruppe H einer endlichen Gruppe G, daß (H) (G) (vgl. [Kunz94, S. 130]).

25 Klassische Primzahltests 24 Ist d 4, so folgt (A) (C) 1. Es sind also nur noch die Fälle d = 2 n 1 n 1 4 bzw. d = 3 zu betrachten. Aus dem chinesischen Restsatz und Lemma 2.16 folgt, daß ((Z/nZ) ) (C) = l i=1 p i 1 ggt(p i 1, n 1) Es gibt also nur ein i, so daß (p i 1) (n 1), o.b.d.a sei i = 1. Für i 2 setze n 1 =: 2 s i u i (p i 1) mit 2 u i, o.b.d.a. sei s := s 2... s l. Für i = 0,..., s + 1 setze D i := {a (Z/nZ) a n 1 2 i = 1} E i := {a (Z/nZ) a n 1 2 i = ±1} Offensichtlich sind D i und E i (für i > 0) Untergruppen von C. Gilt D i = C so ist wegen A D i = C insbesondere A E i+1 D i. Folgende zwei Fälle werden unterschieden: (a) D i = C für i {0,..., s}. Es ist also A E s+1. Aus n 1 = u 2 s 2 (p 2 1) folgt für a := (1, g 2, 1,..., 1), daß a n 1 2 s = ψ 1 (1, g u 2(p 2 1) 2, 1,..., 1) = ψ 1 (1, 1,..., 1) = 1 2 s+1 = ψ 1 (1, g u 2 (p 2 1) 2 2, 1,..., 1) = ψ 1 (1, 1,..., 1) ±1 a n 1 Es ist also a D s \ E s+1, damit ist E s+1 eine echte Untergruppe von D s, es folgt (A) (E s+1 ) 1 (D 2 s) = 1 n 1 (C). 2 4 (b) Sonst. Wegen D 0 = C gibt es ein j {0,..., s 1} mit D j = C aber D j+1 C. Sei a = ψ 1 (a 1,..., a l ) D j \ D j+1. Für i 2 ist a n 1 2 j+1 i a 2si j 1 u i (p i 1) i 1 mod p i Es ist also a n 1 2 j+1 = ψ 1 (a n 1 2 j+1 1, 1,..., 1). Da a D j \ D j+1 folgt a n 1 2 j+1 1 1, d.h. a n 1 2 j+1 ±1. Es ist also a E j+1, d.h. E j+1 ist eine echte Untergruppe von D j = C. Es folgt (A) (E j+1 ) 1 n 1 (C). 2 4

26 Klassische Primzahltests 25 Wählt man k paarweise verschiedene Basen a 1,..., a k B n und erfüllt n die Miller Rabin Bedingung zu allen k Basen, so ist die Wahrscheinlichkeit, daß es sich bei n um keine Primzahl handelt, höchstens 1 4 k.

27 Klassische Primzahltests 26 Damit kann nun das Miller Rabin Verfahren formuliert werden: Verfahren 2.4 (Miller Rabin) Sei n eine Zahl, die auf Primalität überprüft werden soll. 1. Wähle k paarweise verschiedene Zahlen a 1,..., a k {2,..., n 2}. Ist ggt(a i, n) 1 für ein i {1,..., k} so ist n sicher zusammengesetzt. Breche das Verfahren ab. 2. Bestimme die Zerlegung n 1 = 2 s t, wobei 2 t. 3. Setze i := Berechne a n 1 i mod n, ist a n 1 i Breche das Verfahren ab. 1 mod n, so ist n keine Primzahl. 5. Berechne a t i mod n. Ist a t i 1 mod n, so gehe zu Für l = 1,..., s berechne sukzessive a 2l t i l, so daß a 2l t i Breche das Verfahren ab. 1 mod n und a 2l 1 t i (a 2l 1 t i ) 2 mod n. Gibt es ein ±1 mod n, so ist n nicht prim. 7. Ist i < k, dann setze i := i + 1 und gehe zu 4. Andernfalls ist die Wahrscheinlichkeit, daß es sich bei n um keine Primzahl handelt, höchstens 1 4 k. Unter der Voraussetzung, daß die verallgemeinerte Riemannsche Vermutung gilt, kann das Miller Rabin Verfahren sogar zum Beweisen der Primalität einer Zahl verwendet werden. Es gilt nämlich der folgende Satz (vgl. [Miller]): Satz 2.17 Gilt die verallgemeinerte Riemannsche Vermutung, und erfüllt eine Zahl n die Miller Rabin Bedingung zu allen Basen a {2,..., [2(ln n) 2 ]} so ist n eine Primzahl. 2.4 Der Pocklington Primzahl Test Mit folgendem Satz ist es möglich, den Beweis der Primalität einer Zahl auf den Beweis der Primalität einer kleineren Zahl zurückzuführen: Satz 2.18 Sei n N. Gibt es eine Primzahl p > n 1 mit p (n 1), und gibt es ein a Z/nZ mit 1. a n 1 = 1, und

28 Klassische Primzahltests ) (a n 1 p 1 (Z/nZ), dann ist n prim.

29 Klassische Primzahltests 28 Beweis: Angenommen n ist nicht prim. Dann existiert eine Primzahl q n, welche n teilt. Da p eine Primzahl ist und p > n 1 q 1, ist ggt(p, q 1) = 1. Es existiert also ein u N mit up 1 mod (q 1). Dann gilt in Z/qZ, daß D.h. a n 1 p q n 1 up p q = a ) (a n 1 p 1 q(z/nz), im Widerspruch zu 2. = a u(n 1) q = ((a n 1 ) q ) u = 1 Die Bedeutung des Satzes liegt darin, daß er eine hinreichende Bedingung für die Primalität einer Zahl gibt, im Gegensatz zu den notwendigen Bedingungen, die der kleine Fermat bzw. der Satz von Miller Rabin geben. Aufbauend auf Satz 2.18 kann folgender deterministischer Algorithmus formuliert werden: Algorithmus 2.5 (Pocklington) Sei n eine Zahl, die auf Primalität überprüft werden soll. 1. Ist n klein (etwa n < 10 9 ), so überprüfe n mittels des Probedivisionen Algorithmus (Algorithmus 2.1) auf Primalität. Breche den Pocklington Algorithmus ab. 2. Wähle eine Schranke A n. 3. Finde alle Primfaktoren q < A von n 1. Sei p die Zahl, die man erhält, wenn man n 1 durch die maximal möglichen Potenzen der gefundenen Primfaktoren teilt. Ist p n 1, oder besteht p den Fermat Test zu einer beliebig gewählten Basis nicht, so breche den Algorithmus ab. Es wurde kein Ergebnis gefunden. 4. Wähle ein a {1,..., n 1}. 5. Ist a n 1 1 mod n, so ist n sicher zusammengesetzt, breche den Algorithmus ab. 6. Andernfalls setze d := ggt(a n 1 p 1, n). Ist d = 1, so setze n := p und starte erneut den Algorithmus. 1 Ist d := n, so gehe zu 4. und wähle ein anderes a, andernfalls ist d ein echter Teiler von n. Breche den Algorithmus ab. 1 Da p (n 1) und 2 (n 1), ist p n 1 2. D.h. der Algorithmus wird sich maximal ([log 2 n] + 1) mal selbst aufrufen, bis der Nachweis der Primalität von n auf den Nachweis der Primalität einer Zahl zurückgeführt ist, welche im Bereich des Probedivisionen Algorithmus liegt.

30 Klassische Primzahltests 29 Es kann also vorkommen, daß der Algorithmus ohne Ergebnis abgebrochen wird, obwohl n prim ist. Dieser Fall tritt dann auf, wenn n 1 von keiner großen Primzahl geteilt wird, die Wahrscheinlichkeit dafür ist etwa 30%. 1 Wird hingegen n 1 von einer großen Zahl p geteilt, welche nach dem kleinen Fermat höchstwahrscheinlich eine Primzahl ist, so ist noch die Primalität von p zu beweisen. Dies geschieht durch Anwenden des Algorithmus auf p. Dabei ist im Durchschnitt ln p 0.65 ln n. 1 Der Algorithmus wird irgendwann einmal bei einer Zahl m stoppen, für die m 1 nicht die gewünschten Eigenschaften hat. Erwartungsgemäß gilt dabei ln m = ( ) n= n=0 ( ) n 2 (0.65) n ln n = ln n 0.59 ln n 3 Der Beweis der Primalität von n ist auf den deutlich einfacheren Beweis der Primalität von m zurückgeführt. Satz 2.18 ist ein Spezialfall eines viel allgemeineren Satzes. Zur Einführung dieses Satzes wird folgende Defintion benötigt: Definition: Seien s, n N und G n (Z/nZ) s. Zudem gebe es eine Menge T G n G n und Abbildungen : T G n θ : (G n G n ) \ T {l {2,..., n 1} l ist Teiler von n} (G n,, φ), oder kurz G n, wird als n Pseudogruppe bezeichnet, wenn die teilweise Verknüpfung über ein neutrales Element O = (o 1,..., o s ) T verfügt, und wenn für jeden Primteiler p von n die Abbildung 2 π np : G n (Z/pZ) s A = (a 1,..., a s ) (a 1p,..., a sp ) =: A p die Eigenschaft hat, daß G p := {P p P G n } eine Gruppenstruktur p besitzt, und daß A p p B p = (A B) p, sofern A B definiert ist, d.h. sofern (A, B) T. 1 Vergleiche Abbildung 6. 2 Neben π np : Z/nZ Z/pZ wird also noch eine weitere Abbildung mit π np bezeichnet. Im folgenden dürfte allerdings immer klar sein, welche der beiden Abbildungen gemeint ist.

31 Klassische Primzahltests 30 Die letzte Eigenschaft bedeutet, daß folgendes Diagramm kommutiert: (A, B) A B π np π np π np (A p p, B p ) A p p B p Es folgt, daß O p das neutrale Element in der Gruppe ist. Eine n Pseudogruppe G n verfügt also insbesondere über eine teilweise Verknüpfung und eine Funktion, welche, falls die Verknüpfung nicht definiert ist, einen nichttrivialen Teiler von n liefert. Bemerkung 2.19 Wie man sich leicht vergewissern kann, ist (Z/nZ) mit T = (Z/nZ) und a b := a b eine n Pseudogruppe. Für die Anwendungen in den verschiedenen Sätzen benötigt man eine Definition von k A. Dies ist allerdings nicht ganz trivial, denn ebenso wie es verschiedene Möglichkeiten gibt, a k zu berechnen, gibt es verschiedene Möglichkeiten k A zu berechnen. Da G n keine Gruppe ist, müssen die verschiedenen Ergebnisse für k A nicht übereinstimmen. Definition: Sei G n eine n Pseudogruppe und sei k = (k l... k 0 ) 2 N sowie A G n. Sofern die folgenden Verknüpfungen definiert sind, setze 2 A := A A und induktiv 2 j A := (2 j 1 A) (2 j 1 A), sowie l ka := k A := 2 j A Anders ausgedrückt, k A soll mittels der Methode des sukzessiven Quadrierens berechnet werden. Satz 2.20 Sei G n eine n Pseudogruppe und sei m := G n. Es gebe eine Primzahl p welche m teilt und mit der Eigenschaft, daß p > min{ G q q ist Primteiler von n} falls n zusammengesetzt ist. Gibt es ein A G n mit den Eigenschaften 1. m A = O, und ( ) 2. A ist definiert, m p ( ) m 3. mit (b 1,..., b s ) := A sind (b p 1 o 1 ),..., (b s o s ) (Z/nZ), j=0

32 Klassische Primzahltests 31 so ist n eine Primzahl.

33 Klassische Primzahltests 32 Beweis: Angenommen n ist nicht prim, dann existiert eine Primzahl q welche n teilt und mit m q := G q < p. Da p eine Primzahl ist, folgt ggt(p, m q ) = 1. Es existiert daher ein u N mit up 1 mod m q. Dann gilt, daß (( m p ) ) A q = ( m p ) q A q = up q ( m p ) q A q = = u q (m q A q ) = u q (m A) q = O q (( ) ) m Es ist also π nq A = O p q, d.h. (b 1 o 1,..., b s o s ) q(z/nz). Dies aber ist ein Widerspruch zu 3. Satz 2.18 erhält man als Korollar, indem man (Z/nZ) als n Pseudogruppe wählt. Eine weitere Anwendung des Satzes wird in Kapitel 6.2 beschrieben. 2.5 Auffinden von Primzahlen gegebener Größenordnung Für den RSA Verschlüsselungsalgorithmus werden zwei verschiedene, große Primzahlen benötigt, wenn möglich sogar mit bestimmten Zusatzeigenschaften. Zum Beispiel sollten, wie in Kapitel 4.3 einsichtig wird, beide Primzahlen die Eigenschaften besitzen, daß p 1 eine große Primzahl als Teiler besitzt. Nach dem Primzahlsatz (Satz 2.9) ist die Wahrscheinlichkeit, daß eine beliebige Zahl n eine Primzahl ist, ungefähr. Sucht man also eine Primzahl p 1 ln n von der Größenordnung n, so wird man durchschnittlich etwa [ln n] Zahlen untersuchen müssen, bis man eine Primzahl findet. Zum Beispiel bedeutet das für n = , daß man im Durchschnitt 230 Zahlen überprüfen muß. Um eine beliebige Primzahl dieser Größenordnung zu finden, benötigt das Programm Enigma etwa 230 4, 87s 19 min. Diese Zeit kann deutlich reduziert werden. Denn die Berechnungsdauer von a n 1 mod n hängt nicht davon ab, ob n eine Primzahl ist oder nicht. Überprüft man zuerst, ob n durch kleine Primzahlen teilbar ist, kann man viele Zahlen, die offensichtlich zusammengesetzt sind, schon vorher aussieben. Die Zeitersparnis kann mit Hilfe des folgenden Satzes berechnet werden: Satz 2.21 Seien p 1,..., p k paarweise verschiedene Primzahlen. Dann gilt für die Wahrscheinlichkeit W, daß eine beliebige Zahl n keine dieser Primzahlen als Teiler besitzt, daß ) ) W = (1 1p1... (1 1pk

34 Klassische Primzahltests 33 Beweis: Für k = 1 ist die Aussage klar. Der Fall k > 1 folgt aus der Tatsache, daß die Wahrscheinlichkeiten W i dafür, daß eine Zahl n von p i nicht geteilt wird, stochastisch unabhängig sind. Es ergibt sich folgende Tabelle: Anzahl von Wahrscheinlichkeit W, daß eine Primzahlen k Zahl n nicht von den k kleinsten Primzahlen geteilt wird % % % % Folgendes Verfahren bietet sich an, um schnell eine Primzahl der Größenordnung n zu finden: Verfahren 2.6 Sei n eine Zahl, in deren Größenordnung eine Primzahl gefunden werden soll. 1. Wähle eine Zahl k N. 2. Berechne a i := n mod p i für i = 1,..., k, wobei {p 1,..., p k } die Menge der k kleinsten Primzahlen sei. 3. Ist a i = 0 für ein i {1,..., k}, dann gehe zu 4., ansonsten überprüfe ob n einen Primzahltest wie etwa den kleinen Fermat besteht. Wenn ja, dann breche das Verfahren ab. 4. Setze n := n + 1 und a i := (a i + 1) mod p i für i = 1,..., k. Gehe zu 3. Für l = 100 muß man nur noch jede 11. Zahl auf Primalität überprüfen. Da die Berechnung in 2. nur einmalig erfolgt, bedeutet dies eine deutliche Zeitersparnis.

35 Geschwindigkeitsabschätzung von Algorithmen 34 3 Geschwindigkeitsabschätzung von Algorithmen In diesem Kapitel wird eine Schreibweise eingeführt, die es ermöglicht, die Geschwindigkeit von Algorithmen abzuschätzen und zu vergleichen. Für den Rest des Kapitels sei b N \ {1} fest gewählt. Notation: Eine Zahl n N wird bzgl. der Basis b, d.h. in der b adischen Darstellung folgendermaßen geschrieben: n = (n k 1... n 0 ) b wobei n i {0,..., b 1} eindeutig festgelegt sind durch die Bedingung 1 n = n k 1 b k n 1 b + n 0 Beispielsweise ist 100 = (100) 10 = ( ) 2 = (202) 7. Definition: Die Addition bzw. Multiplikation von zwei b Ziffern wird als b Rechenschritt, oder auch kurz als b Schritt, bezeichnet. Ist b = 2, so sagt man anstatt 2 Schritt auch Bit Operation. Die Geschwindigkeit eines Verfahrens hängt vor allem davon ab, wieviele Rechenschritte es benötigt. 2 Um die Anzahl der Bit Operationen eines Verfahrens abschätzen zu können, müssen zuerst einige grundlegende Tatsachen dargelegt werden: Betrachte folgenden Algorithmus zur Addition von x und y: Algorithmus 3.1 Seien x = (x k 1... x 0 ) b und y = (y k 1... y 0 ) b zwei Zahlen, die addiert werden sollen. 1. Setze i := 0, u 0 := Setze z i := x i + y i + u i. 3. Ist z i b, dann setze u i+1 := 1 und z i := z i b. 4. Setze i := i + 1. Ist i k, dann gehe zu 2., ansonsten ist z := (z k... z 0 ) b = x + y 1 Zudem ist n i := 0 für i k. 2 Es gibt noch viele weitere geschwindigkeitsbeeinflußende Faktoren, wie z.b. Verschiebungen im Speicher. Diese werden allerdings bei den folgenden Geschwindigkeitsabschätzungen nicht berücksichtigt.

36 Geschwindigkeitsabschätzung von Algorithmen 35 Hier, wie bei den weiteren Geschwindigkeitsabschätzungen, wird der Rechenbedarf für den Schritt i := i + 1 vernachlässigt. Man erhält dann, daß der Algorithmus maximal 3(k + 1) b Schritte benötigt. Darauf aufbauend kann man den Rechenbedarf des folgenden Multiplikationsalgorithmus abschätzen: Algorithmus 3.2 Seien x = (x k 1... x 0 ) b und y = (y k 1... y 0 ) b zwei, Zahlen die multipliziert werden sollen. 1. Setze j := Setze i := 0, u 0 := Berechne f := x i y j + u i. 4. Ist f = (f 1, f 0 ) b, so setze u i+1 = f 1 und e i := f Setze i := i + 1. Ist i k, dann gehe zu Setze z j := (e l,..., e 0, 0,, 0) }{{} b. j mal 7. Setze j := j + 1. Ist j k, dann gehe zu Setze z := z z l. Dann ist z = x y. Für den 3. Schritt, welcher (k + 1) 2 mal erfolgt, benötigt man 5 b Schritte. Im Schritt 8 werden (k+1) Zahlen der maximalen Länge 2k+1 addiert. Dafür werden weitere 3(k + 1)(2k + 1) b Schritte benötigt. Insgesamt benötigt man also maximal 11(k + 1) 2 b Schritte für die Multiplikation zweier k stelliger Zahlen. Eine gröbere, aber auch besser lesbare Zeitabschätzung ermöglicht die folgende Notation: Notation: Seien f, g : R + R + beliebige Funktionen. Gibt es eine Konstante C R +, so daß f(x) < Cg(x) für alle x R +, so schreibt man f(x) = O(g(x)). Gilt f(x) sogar, daß lim x = 0, dann schreibt man f(x) = o(g(x)). g(x) Seien x = (x k 1... x 0 ) b, y = (y k 1... y 0 ) b N. Dann kann die Zeitabschätzungen der Algorithmen 3.1 und 3.2 auch so formuliert werden: Zeit(Berechnung von x + y) = O(k) Bit Operationen 1 Zeit(Berechnung von x y) = O(k 2 ) Bit Operationen

37 Geschwindigkeitsabschätzung von Algorithmen 36 Man kann auch leicht zeigen, daß gilt: Zeit(Berechnung von x y) = O(k) Bit Operationen Zeit(Berechnung von x/y) = O(k 2 ) Bit Operationen Es gibt Algorithmen welche für die Multiplikation großer Zahlen deutlich weniger Zeit verbrauchen. Ein Beispiel dafür ist der folgende, von Karatsuba und Ofman 1962 entwickelte, Multiplikationsalgorithmus (vgl. [KO]): Algorithmus 3.3 (Karatsuba und Ofman) Seien x und y zwei k stellige Zahlen, die multipliziert werden sollen. Sind x und y einstellige Zahlen, dann multipliziere sie wie üblich. Andernfalls: 1. Schreibe x und y folgendermaßen: x =: x 1 b m + x 0, y =: y 1 b m + y 0 wobei m := [ k 2 ] + 1 und x 0, y 0 < b m. 2. Berechne t 1 := x 1 y 1, t 2 := x 0 y 0 sowie t 3 := (x 1 + x 0 )(y 1 + y 0 ) mittels des gleichen Algorithmus. Dann ist 2 xy = t 1 b 2m + (t 3 t 2 t 1 )b m + t 2 Jede Multiplikation zweier k stelliger Zahlen wird durch drei Multiplikationen von zwei ([ ) k 2] + 1 stelligen Zahlen ersetzt. Ist l := [ln2 (k)] + 1, so benötigt man, wie man leicht durch Induktion zeigen kann, 3 l b Schritte für die Multiplikation von x und y. Es ergibt sich eine Gesamtzeit von O(3 ln 2 k ) = O(k ln 3 ln 2 ) = O(k 1.59 ), denn die Zeit für die Additionen bzw. die Multiplikationen mit b m bzw. b 2m wird von dieser Abschätzung dominiert. 3 Dies ist allerdings noch nicht der schnellste Algorithmus; durch Verwendung von Fourier Transformationen konnten Schönhage und Strassen einen Multiplikationsalgorithmus entwickeln, welcher zwei k stellige Zahlen x, y mit nur O(k ln k ln ln k) Bit Operationen multipliziert. Allerdings er erst sinnvoll für Zahlen mit mehreren hundert Stellen. Der Algorithmus wird ausführlich in [Forster] beschrieben. Bei den folgenden Geschwindigkeitsabschätzungen wird weiterhin davon ausgegangen, daß man für die Multiplikation O(k 2 ) Bit Operationen benötigt. 1 Genauer müßte man sagen, es gibt Algorithmen, so daß die Addition von x und y mit O(k) Bit Operationen erfolgt. 2 Denn xy = x 1 y 1 b 2m + (x 1 y 0 + x 0 y 1 )b m + x 0 y 0 = t 1 b 2m + (t 3 t 2 t 1 )b m + t 2 3 Die Multiplikation mit einer Potenz von b entspricht einer Verschiebung der Ziffern in der b adischen Notation. Man benötigt dafür also keine Rechnungen.

3: Zahlentheorie / Primzahlen

3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,

Mehr

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen 3: Primzahlen 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen Definition 40 (Teiler, Vielfache, Primzahlen, zusammengesetzte Zahlen) Seien a, b N. a ist ein Teiler von b ( a b ), falls es ein k N gibt

Mehr

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994).

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994). Primzahltest Wir wollen testen, ob eine gegebene Zahl n eine Primzahl ist Effizienter Algorithmus zum Faktorisieren ist unbekannt Kontraposition des Kleinen Satzes von Fermat liefert: Falls a n 1 1 mod

Mehr

Carmichael-Zahlen und Miller-Rabin-Test

Carmichael-Zahlen und Miller-Rabin-Test Institut für Mathematik Universität Hannover Proseminar: Zahlentheorie und Kryptographie Prof. Dr. C. Bessenrodt Carmichael-Zahlen und Miller-Rabin-Test Felix Pape 15. Mai 2003 1 Carmichael-Zahlen 1.1

Mehr

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen Miller-Rabin Test Primzahl- und Zerlegbarkeitstests Sei N eine positive ganze Zahl. Wie kann man möglichst effizient feststellen, ob N eine Primzahl oder zerlegbar ist? Dies ist die Aufgabe von Primzahlund

Mehr

n ϕ n

n ϕ n 1 3. Teiler und teilerfremde Zahlen Euler (1707-1783, Gymnasium und Universität in Basel, Professor für Physik und Mathematik in Petersburg und Berlin) war nicht nur einer der produktivsten Mathematiker

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests 23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl

Mehr

Klausurtermin. Klausur Diskrete Mathematik I Do stündig

Klausurtermin. Klausur Diskrete Mathematik I Do stündig Klausurtermin Klausur Diskrete Mathematik I Do. 28.02.2008 3-stündig 07.12.2007 1 Wiederholung Komplexität modularer Arithmetik Addition: O(n) Multiplikation: O(n 2 ) bzw. O(n log 2 3 ) Exponentiation:

Mehr

Algorithmische Kryptographie

Algorithmische Kryptographie Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Public-Key-Systeme: Rabin 1 Das System nach Rabin 2 Grundlagen Körper Endliche Körper F(q) Definitionen Quadratwurzel

Mehr

Kryptographische Protokolle

Kryptographische Protokolle Kryptographische Protokolle Lerneinheit 2: Generierung von Primzahlen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2018/2019 15.11.2018 Einleitung Einleitung Diese Lerneinheit

Mehr

3.5 Kryptographie - eine Anwendung der Kongruenzrechnung

3.5 Kryptographie - eine Anwendung der Kongruenzrechnung 1 3.5 Kryptographie - eine Anwendung der Kongruenzrechnung Das Wort Kryptographie leitet sich aus der griechischen Sprache ab, nämlich aus den beiden Worten κρυπτ oς(kryptos)=versteckt, geheim und γραϕɛιν(grafein)=schreiben.

Mehr

Die Ringe Z n. Invertierbare Elemente ( Einheiten ) für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: n : Z n Z n Z n : (a, b) (a b) mod n

Die Ringe Z n. Invertierbare Elemente ( Einheiten ) für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: n : Z n Z n Z n : (a, b) (a b) mod n Definitionen Die Ringe Z n für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: Beispiel n = 15 + n : Z n Z n Z n : (a, b) (a + b) mod n n : Z n Z n Z n : (a, b) (a b) mod n 9 + 15 11 = 5 9 15 11 = 9

Mehr

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

$Id: ring.tex,v /05/03 15:13:26 hk Exp $ $Id: ring.tex,v 1.13 2012/05/03 15:13:26 hk Exp $ 3 Ringe 3.1 Der Ring Z m In der letzten Sitzung hatten wir die sogenannten Ringe eingeführt, dies waren Mengen A versehen mit einer Addition + und einer

Mehr

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen Miller-Rabin Test Primzahl- und Zerlegbarkeitstests Sei N eine positive ganze Zahl. Wie kann man möglichst effizient feststellen, ob N eine Primzahl oder zerlegbar ist? Dies ist die Aufgabe von Primzahlund

Mehr

Zahlentheorie I. Christoph Egger. 18. Juni Christoph Egger Zahlentheorie I 18. Juni / 32

Zahlentheorie I. Christoph Egger. 18. Juni Christoph Egger Zahlentheorie I 18. Juni / 32 Zahlentheorie I Christoph Egger 18. Juni 2010 Christoph Egger Zahlentheorie I 18. Juni 2010 1 / 32 Übersicht 1 Modulare Arithmetik Addition & Subtraktion Multiplikation schnelles Potenzieren 2 Teiler Definition

Mehr

Primzahltest für Mersenne-Primzahlen

Primzahltest für Mersenne-Primzahlen Primzahltest für Mersenne-Primzahlen Satz Lucas-Lehmer Test Sei n = 2 p 1 N für p P\{2}. Wir definieren die Folge S k durch S 1 = 4 und S k = S 2 k 1 2. Falls n S p 1, dann ist n prim. Beweis: Seien ω

Mehr

ggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe.

ggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe. ggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe. Das heißt, um den ggt von zwei 1000-Bit-Zahlen zu ermitteln,

Mehr

In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0.

In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0. Kapitel 5: Die Einheitengruppe von Z/Z und Primitivwurzeln modulo In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0. 16

Mehr

4 Kryptologie. Übersicht

4 Kryptologie. Übersicht 4 Kryptologie Übersicht 4.1 Der erweiterte euklidische Algorithmus................................ 38 4.2 Rechnen mit Restklassen modulo p................................... 39 4.3 Der kleine Satz von

Mehr

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler Kapitel 3: Die Sätze von Euler, Fermat und Wilson In diesem Kapitel wollen wir nun die eulersche -Funktion verwenden, um einen berühmten Satz von Euler zu formulieren, aus dem wir dann mehrere interessante

Mehr

Beispiel für simultane Kongruenz

Beispiel für simultane Kongruenz Beispiel für simultane Kongruenz Jetzt wollen wir das Lemma der letzten Einheit anwenden. Wenn man eine Zahl sucht, die kongruent zu y modulo m und kongruent zu z modulo n ist, so nehme man zam + ybn wobei

Mehr

Lösungen der Aufgaben

Lösungen der Aufgaben Lösungen der Aufgaben Aufgabe 1.3.1 Es gibt 42 mögliche Verschlüsselungen. Aufgabe 2.3.4 Ergebnisse sind 0, 4 und 4 1 = 4. Aufgabe 2.3.6 Da in Z 9 10 = 1 ist, erhalten wir x = c 0 + + c m = c 0 + + c m.

Mehr

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung Kapitel 2. Elementare Zahlentheorie 2.1. Primfaktorzerlegung Menge der ganzen Zahlen Z = {..., 3, 2, 1, 0, 1, 2, 3,...} Addition Inverse Multiplikation Z Z Z, Z Z, Z Z Z, (a, b) a + b a a (a, b) a b Ausgezeichnete

Mehr

Der kleine Satz von Fermat

Der kleine Satz von Fermat Der kleine Satz von Fermat Luisa-Marie Hartmann 5. Mai 2017 Inhaltsverzeichnis 1 Einleitung 3 2 Hauptteil 4 2.1 Prime Restklassengruppen............................ 4 2.2 Ordnung von Gruppenelementen........................

Mehr

Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA

Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA Manfred Gruber http://www.lrz-muenchen.de/~gruber SS 2009, KW 15 Kleiner Fermatscher Satz Satz 1. Sei p prim und a 2 Z p. Dann

Mehr

Vorlesung 7. Tilman Bauer. 25. September 2007

Vorlesung 7. Tilman Bauer. 25. September 2007 Vorlesung 7 Universität Münster 25. September 2007 El. In Vorlesung 4 haben wir Modulo-Arithmetik behandelt. Definition Sei n N 1. Auf Z ist eine Äquivalenzrelation Kongruenz modulo n definiert durch x

Mehr

El. Zahlentheorie I: Der kleine Satz von Fermat

El. Zahlentheorie I: Der kleine Satz von Fermat Vorlesung 7 Universität Münster 25. September 2007 El. In Vorlesung 4 haben wir Modulo-Arithmetik behandelt. Definition Sei n N 1. Auf Z ist eine Äquivalenzrelation Kongruenz modulo n definiert durch x

Mehr

Seminarvortrag aus Reiner Mathematik Zweierpotenzen als Moduln und Satz von Wilson

Seminarvortrag aus Reiner Mathematik Zweierpotenzen als Moduln und Satz von Wilson Seminarvortrag aus Reiner Mathematik Zweierpotenzen als Moduln und Satz von Wilson Stefan Rosenberger November 16, 2009 1 Notationen und Vorbemerkungen 1.1 Erinnerung an bekannte Definitionen a) Für alle

Mehr

RSA-Verfahren Schnelle Ver- / Entschlüsselung Zusammenhang mit dem Faktorisierungsproblem. RSA-Verfahren. Herwig Stütz

RSA-Verfahren Schnelle Ver- / Entschlüsselung Zusammenhang mit dem Faktorisierungsproblem. RSA-Verfahren. Herwig Stütz 2007-11-23 Überblick 1 2 Schnelle modulare Exponentiation Chinesischer Restsatz 3 Allgemeines Public-Key Methode Rivest, Shamir und Adleman 1977 Sicherheit des Verfahrens beruht auf Schwierigkeit der Primfaktorenzerlegung

Mehr

Euklidische Division. Zahlentheorie - V Zusammenfassung 225 / 231

Euklidische Division. Zahlentheorie - V Zusammenfassung 225 / 231 Euklidische Division 1. Euklidische Division: Landau Notation: f(n) = O(g(n)). Definitionen: Gruppe, Ring, Ideal Teilbarkeit und Teilbarkeit mit Rest (euklidisch) Beispiel für euklidische Ringe Z euklidisch

Mehr

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2 Abschnitt 5: Kryptographie. Zunächst wollen wir die Struktur von (Z/mZ) untersuchen. 5.1 Definition: Die Eulersche ϕ-funktion: ϕ : N N; ϕ(m) := (Z/mZ) 5.2 Bemerkung: (Z/mZ) {a {1,..., m 1} ggt(a, m) =

Mehr

7 Die Sätze von Fermat, Euler und Wilson

7 Die Sätze von Fermat, Euler und Wilson 53 7 Die Sätze von Fermat, Euler und Wilson Es gibt einige Sätze aus der elementaren Zahlentheorie, die Spezialfälle von Aussagen über endliche Gruppen sind. Z.B. gilt für ein beliebiges Element x einer

Mehr

5 Grundlagen der Zahlentheorie

5 Grundlagen der Zahlentheorie 5 Grundlagen der Zahlentheorie 1 Primfaktorzerlegung Seienm, n N + := {k N k > 0} Man schreibt n n, gesprochen m teilt n oder m ist ein Teiler von n, wenn es eine positive natürliche Zahl k gibt mit mk

Mehr

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Satz von Euler Satz von Euler Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Beweis: Sei G = {g 1,..., g n } und a G. Betrachte die Abbildung f : G G, g ag. Da a G, besitzt a ein

Mehr

Zahlentheorie. Stefan Takacs Linz, am 2. Juni 2004

Zahlentheorie. Stefan Takacs Linz, am 2. Juni 2004 Zahlentheorie Anna Rieger 0355556 Stefan Takacs 0356104 Daniela Weberndorfer 0355362 Linz, am 2. Juni 2004 Zusammenfassung Die vorliegende Arbeit über die grundlegenden Sätze der Zahlentheorie beschäftigt

Mehr

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Satz 4.2.11 (Chinesischer Restsatz, Ring-Version) Sind N teilerfremd (d.h. ggt( ) =1), so ist die Abbildung ein Ring-Isomorphismus. :

Mehr

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Satz von Euler Satz von Euler Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Beweis: Sei G = {g 1,..., g n } und a G. Betrachte die Abbildung f : G G, g ag. Da a G, besitzt a ein

Mehr

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren Herwig Stütz 2007-11-23 1 Inhaltsverzeichnis 1 Einführung 2 2 Das RSA-Verfahren 2 2.1 Schlüsselerzeugung.................................

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 23 Die Gradformel Satz 1. Seien K L und L M endliche Körperweiterungen. Dann ist auch K M eine endliche Körpererweiterung und

Mehr

Das RSA Kryptosystem

Das RSA Kryptosystem Kryptografie Grundlagen RSA Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA mit geheimem mit öffentlichem Schlüssel Realisierung Kryptografie mit geheimem Schlüssel Alice

Mehr

Vorlesung Diskrete Strukturen Gruppe und Ring

Vorlesung Diskrete Strukturen Gruppe und Ring Vorlesung Diskrete Strukturen Gruppe und Ring Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung in

Mehr

Lineare Algebra I 5. Tutorium Die Restklassenringe /n

Lineare Algebra I 5. Tutorium Die Restklassenringe /n Lineare Algebra I 5. Tutorium Die Restklassenringe /n Fachbereich Mathematik WS 2010/2011 Prof. Dr. Kollross 19. November 2010 Dr. Le Roux Dipl.-Math. Susanne Kürsten Aufgaben In diesem Tutrorium soll

Mehr

Grundlagen der Arithmetik und Zahlentheorie

Grundlagen der Arithmetik und Zahlentheorie Grundlagen der Arithmetik und Zahlentheorie 1.0 Teilbarkeit In diesem Abschnitt werden wir einerseits die ganzen Zahlen an sich studieren und dabei besonders wichtige Zahlen, die Primzahlen, entsprechend

Mehr

Kryptographie und Codierungstheorie

Kryptographie und Codierungstheorie Proseminar zur Linearen Algebra Kryptographie und Codierungstheorie Thema: Faktorisierungsalgorithmen (nach der Fermat'schen Faktorisierungsmethode) Kettenbruchalgorithmus (Continued Fraction Method) Quadratisches

Mehr

Mathematische Grundlagen der Kryptografie (1321) SoSe 06

Mathematische Grundlagen der Kryptografie (1321) SoSe 06 Mathematische Grundlagen der Kryptografie (1321) SoSe 06 Klausur am 19.08.2006: Lösungsvorschläge zu den Aufgaben zu Aufgabe I.1 (a) Das numerische Äquivalent zu KLAUSUR ist die Folge [10, 11, 0, 20, 18,

Mehr

Lehrbuch der Algebra, Vieweg 2007

Lehrbuch der Algebra, Vieweg 2007 Lehrbuch der Algebra, Vieweg 2007 Korrekturen und Ergänzungen V 16 statt 1931 lies 1930 VI 25 statt vorenthalten lies vorbehalten 1 8 statt [We] lies [We 1 ] 2 3 statt nicht leere Menge lies Menge 9 9

Mehr

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen)

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen) WS 2015/16 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr

Mathematisches Institut II Universität Karlsruhe Priv.-Doz. Dr. N. Grinberg

Mathematisches Institut II Universität Karlsruhe Priv.-Doz. Dr. N. Grinberg 1 Mathematisches Institut II 06.07.004 Universität Karlsruhe Priv.-Doz. Dr. N. Grinberg SS 05 Schnupperkurs: Ausgewählte Methoden zur Aufgabenlösung Vorlesung 5: Elementare Zahlentheorie: Teilbarkeit Primfaktorzerlegung

Mehr

Kongruenz ist Äquivalenzrelation

Kongruenz ist Äquivalenzrelation Kongruenz ist Äquivalenzrelation Lemma Kongruenz ist Äquivalenzrelation Die Kongruenz modulo n ist eine Äquivalenzrelation auf Z. D.h. für alle a, b, c Z gilt 1 Reflexivität: a a mod n 2 Symmetrie: a b

Mehr

Körper- und Galoistheorie

Körper- und Galoistheorie Prof. Dr. H. Brenner Osnabrück SS 2011 Körper- und Galoistheorie Vorlesung 11 Zerfällungskörper Wir wollen zu einem Polynom F K[X] einen Körper konstruieren, über dem F in Linearfaktoren zerfällt. Dies

Mehr

Prof. Dr. H. Brenner Osnabrück SS Zahlentheorie. Vorlesung 4. Die Restklassenringe Z/(n)

Prof. Dr. H. Brenner Osnabrück SS Zahlentheorie. Vorlesung 4. Die Restklassenringe Z/(n) Prof. Dr. H. Brenner Osnabrück SS 2008 Zahlentheorie Vorlesung 4 Die Restklassenringe Z/(n) Satz 4.1. (Einheiten modulo n) Genau dann ist a Z eine Einheit modulo n (d.h. a repräsentiert eine Einheit in

Mehr

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner Public-Key Kryptographie mit dem RSA Schema Torsten Büchner 7.12.2004 1.Einleitung 1. symmetrische-, asymmetrische Verschlüsselung 2. RSA als asymmetrisches Verfahren 2.Definition von Begriffen 1. Einwegfunktionen

Mehr

2008W. Vorlesung im 2008W Institut für Algebra Johannes Kepler Universität Linz

2008W. Vorlesung im 2008W   Institut für Algebra Johannes Kepler Universität Linz Mathematik Institut für Algebra Johannes Kepler Universität Linz Vorlesung im http://www.algebra.uni-linz.ac.at/students/win/ml Inhalt Definierende Eigenschaften Definition 0 ist eine natürliche Zahl;

Mehr

1.2 Eigenschaften der ganzen Zahlen

1.2 Eigenschaften der ganzen Zahlen Lineare Algebra I WS 2015/16 c Rudolf Scharlau 13 1.2 Eigenschaften der ganzen Zahlen Dieser Abschnitt handelt von den gewöhlichen ganzen Zahlen Z und ihren Verknüpfungen plus und mal. Man kann die natürlichen

Mehr

χ a : N + {0, 1, 1} {( a χ a (n) = χ a (n ). ψ(mn) < ψ(m)ψ(n).

χ a : N + {0, 1, 1} {( a χ a (n) = χ a (n ). ψ(mn) < ψ(m)ψ(n). September 007, Zahlentheorie 1 a) Formulieren Sie das quadratische Reziprozitätsgesetz einschließlich der Definitionen der Legendre- und Jacobi-Symbole. b) Für a Z \ {0} definieren wir durch χ a (n) =

Mehr

Zahlentheorie, Arithmetik und Algebra

Zahlentheorie, Arithmetik und Algebra Zahlentheorie, Arithmetik und Algebra Seminar Hallo Welt für Fortgeschrittene 2008 Matthias Niessner June 20, 2008 Erlangen 1 von 29 Matthias Niessner Zahlentheorie, Arithmetik und Algebra Übersicht 1

Mehr

Fibonacci-Zahlen und goldener Schnitt

Fibonacci-Zahlen und goldener Schnitt Fibonacci-Zahlen und goldener Schnitt Suche eine Darstellung der Form F n = x n für reelle Zahl x > 0. Aus der definierenden Gleichung folgt sofort x 2 = x + 1. Dann liefert die p-q-formel: x 1,2 = 1 2

Mehr

Zusatzkapitel Algebra Anton Deitmar

Zusatzkapitel Algebra Anton Deitmar Zusatzkapitel Algebra 1 Zusatzkapitel Algebra Anton Deitmar 1 Gruppen 1.9 Kommutatoren Definition 1.9.1. Sind a, b Elemente einer Gruppe G, so sei [a, b] = aba 1 b 1 der Kommutator von a und b. Sei [G,

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 11 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Public Key Kryptographie

Public Key Kryptographie 3. Juni 2006 1 Algorithmen für Langzahlen 1 RSA 1 Das Rabin-Kryptosystem 1 Diskrete Logarithmen Grundlagen der PK Kryptographie Bisher: Ein Schlüssel für Sender und Empfänger ( Secret-Key oder symmetrische

Mehr

Kapitel 3 Elementare Zahletheorie

Kapitel 3 Elementare Zahletheorie Kapitel 3 Elementare Zahletheorie 89 Kapitel 3.1 Ganze Zahlen, Gruppen und Ringe 90 Die ganzen Zahlen Menge der ganzen Zahlen Z={..., 3, 2, 1,0,1,2,3,...} Es gibt zwei Operationen Addition: Z Z Z, (a,b)

Mehr

3. Diskrete Mathematik

3. Diskrete Mathematik Diophantos von Alexandria um 250 Georg Cantor 1845-1918 Pythagoras um 570 v. Chr Pierre de Fermat 1607/8-1665 Seite 1 Inhalt der Vorlesung Teil 3: Diskrete Mathematik 3.1 Zahlentheorie: Abzählbarkeit,

Mehr

1 Zahlentheorie. 1.1 Kongruenzen

1 Zahlentheorie. 1.1 Kongruenzen 3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern

Mehr

Seminar zum Thema Kryptographie

Seminar zum Thema Kryptographie Seminar zum Thema Kryptographie Michael Hampton 11. Mai 2017 Inhaltsverzeichnis 1 Einleitung 3 1.1 Konventionen.................................. 3 1.2 Wiederholung.................................. 3

Mehr

Aufgabe der Kryptografie

Aufgabe der Kryptografie Aufgabe der Kryptografie Eve möchte die Unterhaltung mithören und/oder ausgetauschte Informationen ändern. Alice & Bob kommunzieren über einen unsicheren Kanal. Alice & Bob nutzen Verschlüsselung und digitale

Mehr

Übungen zum Vorkurs Mathematik für Studienanfänger 2009 ***

Übungen zum Vorkurs Mathematik für Studienanfänger 2009 *** Universität Bonn Mathematisches Institut Dr. Michael Welter Übungen zum Vorkurs Mathematik für Studienanfänger 2009 Einige Zeichen und Konventionen: IN := {1, 2, 3, 4,...} Die Menge der natürlichen Zahlen

Mehr

Primzahlen. Herbert Koch Mathematisches Institut Universität Bonn Die Primfaktorzerlegung. a = st

Primzahlen. Herbert Koch Mathematisches Institut Universität Bonn Die Primfaktorzerlegung. a = st Primzahlen Herbert Koch Mathematisches Institut Universität Bonn 12.08.2010 1 Die Primfaktorzerlegung Wir kennen die natürlichen Zahlen N = 1, 2,..., die ganzen Zahlen Z, die rationalen Zahlen (Brüche

Mehr

Übungen zu Zahlentheorie, SS 2017

Übungen zu Zahlentheorie, SS 2017 Übungen zu Zahlentheorie, SS 017 Christoph Baxa 1) Finde alle positiven Teiler von a) 1799 b) 997. ) Zeige (a b) (a n b n ) für alle a, b Z und alle n N. 3) Zeige: Wenn m n dann (a m b m ) (a n b n ) (mit

Mehr

Zahlentheorie, Arithmetik und Algebra I

Zahlentheorie, Arithmetik und Algebra I Zahlentheorie, Arithmetik und Algebra I Ulrich Rabenstein 18.06.2013 Ulrich Rabenstein Zahlentheorie, Arithmetik und Algebra I 18.06.2013 1 / 34 1 Modulare Arithmetik 2 Teiler 3 Primzahlen Ulrich Rabenstein

Mehr

Kapitel 6: Das quadratische Reziprozitätsgesetz

Kapitel 6: Das quadratische Reziprozitätsgesetz Kapitel 6: Das quadratische Reziprozitätsgesetz Ziel dieses Kapitels: die Untersuchung der Lösbarkeit der Kongruenzgleichung X also die Frage, ob die ganze Zahl Z eine Quadratwurzel modulo P besitzt. Im

Mehr

Lösungsvorschlag zur Nachklausur. Zeigen Sie die folgenden voneinander unabhängigen Aussagen:

Lösungsvorschlag zur Nachklausur. Zeigen Sie die folgenden voneinander unabhängigen Aussagen: Lösungsvorschlag zur Nachklausur Aufgabe 1 Es seien G eine Gruppe und H, K zwei Untergruppen von G. Weiterhin gelte G = {hk h H, k K}. Zeigen Sie die folgenden voneinander unabhängigen Aussagen: a) Sind

Mehr

Inhalt 2007W. Vorlesung im 2007W

Inhalt 2007W. Vorlesung im 2007W Institut für Algebra Johannes Kepler Universität Linz Vorlesung im http://www.algebra.uni-linz.ac.at/students/win/ml Inhalt Definierende Eigenschaften 0 ist eine natürliche Zahl; Zu jeder natürlichen Zahl

Mehr

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren VI.3 RSA - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman - vorgestellt 1977 - erstes Public-Key Verschlüsselungsverfahren - auch heute noch das wichtigste Public-Key Verfahren 1

Mehr

Algorithmentheorie Randomisierung

Algorithmentheorie Randomisierung Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

Übungen zum Vorkurs Mathematik für Studienanfänger Ein leeres Produkt ist gleich 1, eine leere Summe 0. ***

Übungen zum Vorkurs Mathematik für Studienanfänger Ein leeres Produkt ist gleich 1, eine leere Summe 0. *** Universität Bonn Mathematisches Institut Dr. Michael Welter Übungen zum Vorkurs Mathematik für Studienanfänger 2010 Einige Zeichen und Konventionen: IN := {1, 2, 3, 4,...} Die Menge der natürlichen Zahlen

Mehr

Körper- und Galoistheorie

Körper- und Galoistheorie Prof. Dr. H. Brenner Osnabrück SS 2011 Körper- und Galoistheorie Vorlesung 10 Endliche Untergruppen der Einheitengruppe eines Körpers Wir wollen zeigen, dass die Einheitengruppe Z/(p), p Primzahl, zyklisch

Mehr

3-1 Elementare Zahlentheorie

3-1 Elementare Zahlentheorie 3-1 Elementare Zahlentheorie 3. Der Restklassenring Z/n und seine Einheitengruppe 3.0. Erinnerung: Teilen mit Rest, euklidscher Algorithmus, Bézoutsche Gleichung. Sei n eine feste natürliche Zahl. Sei

Mehr

Kryptographie - eine mathematische Einführung

Kryptographie - eine mathematische Einführung Kryptographie - eine mathematische Einführung Rosa Freund 28. Dezember 2004 Überblick Grundlegende Fragestellungen Symmetrische Verschlüsselung: Blockchiffren, Hashfunktionen

Mehr

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16 Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16 21. Januar 2016 Definition 8.1 Eine Menge R zusammen mit zwei binären Operationen

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 4.4 Semantische Sicherheit 1. Sicherheit partieller Informationen 2. Das Verfahren von Rabin 3. Sicherheit durch Randomisierung Semantische Sicherheit Mehr als nur

Mehr

Einführung in Algebra und Zahlentheorie Lösungsvorschläge zur Klausur vom Aufgabe 1 (6 Punkte)

Einführung in Algebra und Zahlentheorie Lösungsvorschläge zur Klausur vom Aufgabe 1 (6 Punkte) Aufgabe 1 (6 Punkte) Einführung in Algebra und Zahlentheorie svorschläge zur Klausur vom 23.09.2016 a) Bestimmen Sie das multiplikativ inverse Element zu 22 in Z/61Z. b) Finden Sie ein x Z mit folgenden

Mehr

1 Der Ring der ganzen Zahlen

1 Der Ring der ganzen Zahlen 1 Der Ring der ganzen Zahlen Letztendlich wird die Addition und Multiplikation in endlichen Körpern auf die Addition und Multiplikation von ganzen Zahlen zurückgeführt. Deswegen müssen wir die an sich

Mehr

Anwendungen der Linearen Algebra: Kryptologie

Anwendungen der Linearen Algebra: Kryptologie Anwendungen der Linearen Algebra: Kryptologie Philip Herrmann Universität Hamburg 5.12.2012 Philip Herrmann (Universität Hamburg) AnwLA: Kryptologie 1 / 28 No one has yet discovered any warlike purpose

Mehr

Inhalt der Vorlesung Elemente der Algebra und Zahlentheorie Prof. Dr. Arno Fehm TU Dresden SS Grundlegende Definitionen (Wiederholung)

Inhalt der Vorlesung Elemente der Algebra und Zahlentheorie Prof. Dr. Arno Fehm TU Dresden SS Grundlegende Definitionen (Wiederholung) Inhalt der Vorlesung Elemente der Algebra und Zahlentheorie Prof. Dr. Arno Fehm TU Dresden SS2017 Kapitel I. Gruppen 1 Grundlegende Definitionen (Wiederholung) 1.1 Definition. Eine Gruppe ist ein Paar

Mehr

3. Untergruppen. 3. Untergruppen 23

3. Untergruppen. 3. Untergruppen 23 3. Untergruppen 23 3. Untergruppen Nachdem wir nun einige grundlegende Gruppen kennengelernt haben, wollen wir in diesem Kapitel eine einfache Möglichkeit untersuchen, mit der man aus bereits bekannten

Mehr

6: Public-Key Kryptographie (Grundidee)

6: Public-Key Kryptographie (Grundidee) 6: Public-Key Kryptographie (Grundidee) Ein Teil des Schlüssels ist nur dem Empfänger bekannt. Der auch dem Sender bekannte Teil kann sogar veröffentlicht werden. Man spricht dann von einem Schlüsselpaar.

Mehr

Quantenalgorithmus für die Faktorisierung ganzer Zahlen

Quantenalgorithmus für die Faktorisierung ganzer Zahlen Quantenalgorithmus für die Faktorisierung ganzer Zahlen Ausgehend von dem allgemeinen Algorithmus für das Hidden Subgroup Problem behandlen wir in diesem Abschnitt den Quantenalgorithmus für die Faktorisierung

Mehr

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik UNIVERSITÄT ULM Institut für Zahlentheorie und Wahrscheinlichkeitstheorie Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik Prof. Dr. Helmut Maier, Hans- Peter Reck Gesamtpunktzahl: 100

Mehr

Thema: Die Einheitengruppe des Restklassenrings /n

Thema: Die Einheitengruppe des Restklassenrings /n RWTH Aachen Lehrstuhl D für Mathematik Betreuer: Prof. U. Schoenwaelder Hausaufsatz zur Vorlesung Algebra I im WS 99/00 Thema: Die Einheitengruppe des Restklassenrings /n Vorgelegt von Sascha Haarkötter

Mehr

11. Das RSA Verfahren

11. Das RSA Verfahren Chr.Nelius: Zahlentheorie (SoSe 2017) 53 11. Das RSA Verfahren Bei einer asymmetrischen Verschlüsselung lässt sich der Schlüssel zum Entschlüsseln nicht aus dem Schlüssel zum Verschlüsseln bestimmen und

Mehr

Ganzzahlige Division mit Rest

Ganzzahlige Division mit Rest Modulare Arithmetik Slide 1 Ganzzahlige Division mit Rest Für a,b Æ mit a b gibt es stets eine Zerlegung von a der Form a = q b+r mit 0 r b 1. Hierbei gilt q = a b (salopp formuliert: b passt q-mal in

Mehr

Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor du dir die Lösungen anschaust!

Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor du dir die Lösungen anschaust! Chr.Nelius: Zahlentheorie (SoSe 2016) 1 14. Aufgabenblatt ZAHLENTHEORIE (für Master G und HRG) Lösungen Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 4.2 Primzahltests 1. Deterministische Primzahltests 2. Der Primzahltest von Solovay-Strassen 3. Der Milner-Rabin Test Wozu Primzahltests? RSA Schlüssel benötigen sehr

Mehr

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.) 3. Untergruppen 19 3. Untergruppen Nachdem wir nun einige grundlegende Gruppen kennengelernt haben, wollen wir in diesem Kapitel eine einfache Möglichkeit untersuchen, mit der man aus bereits bekannten

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr