Zahlentheorie, Arithmetik und Algebra 1

Ähnliche Dokumente
Hallo Welt für Fortgeschrittene

Zahlentheorie, Arithmetik und Algebra I. Felix Teufel Hallo Welt! -Seminar - LS 2

Zahlentheorie, Arithmetik und Algebra I

Zahlentheorie, Arithmetik und Algebra

. Zahlentheorie, Arithmetik und Algebra I. Tobias Polzer. Tobias Polzer Zahlentheorie, Arithmetik und Algebra I.. /

Zahlentheorie, Arithmetik und Algebra I

3. Diskrete Mathematik

Ganzzahlige Division mit Rest

Form der Äquivalenzklassen

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.

Der Primzahltest von Agrawal, Kayal und Saxena. Dr. Gerold Jäger

Bsp. Euklidischer Algorithmus

WIEDERHOLUNG (BIS ZU BLATT 7)

Elementare Zahlentheorie. Diskrete Strukturen. Winter Semester 2012 #

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

Ältere Aufgaben (bis 1998)

5 Grundlagen der Zahlentheorie

Lösungen der Aufgaben

Probabilistische Primzahltests

Die Menge C der komplexen Zahlen wird im Kapitel Weitere Themen behandelt.

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

1 Zahlentheorie. 1.1 Kongruenzen

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

Grundlagen der Arithmetik und Zahlentheorie

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9

3. Der größte gemeinsame Teiler

Arithmetik und Algebra

Äquivalenzrelation. Tischler-Problem. Euklidischer Algorithmus. Erweiterter euklidischer Algorithmus. Lineare diophantische Gleichung

3: Zahlentheorie / Primzahlen

Vorlesung Mathematik 2 für Informatik

Algorithmentheorie Randomisierung. Robert Elsässer

Chr.Nelius: Zahlentheorie (WS 2006/07) ggt und kgv

Euklidische Algorithmus, Restklassenringe (Z m,, )

5. Der größte gemeinsame Teiler

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik Dr. Hartmut Lanzinger, Hans- Peter Reck

Einführung in die Zahlentheorie

Prof. Dr. H. Brenner Osnabrück SS Zahlentheorie. Vorlesung 3. Der euklidische Algorithmus

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

Beispiel: Primelemente in den Gaußschen Zahlen

Diskrete Mathematik Kongruenzen

Beispiel: Primelemente in den Gaußschen Zahlen

1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl

Relationen und DAGs, starker Zusammenhang

7 Der kleine Satz von Fermat

Kapitel III Ringe und Körper

4 Das RSA public-key System der Kryptographie 5

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik

Der chinesische Restsatz mit Anwendung

1.1.1 Konstruktion der ganzen Zahlen, Vertretersystem (nicht-negative und negative ganze Zahlen)

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 4: Zahlentheorie

Einführung in die Algebra

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

Diskrete Mathematik. Christina Kohl Georg Moser Oleksandra Panasiuk Christian Sternagel Vincent van Oostrom

WS 2009/10. Diskrete Strukturen

UE Zahlentheorie. Markus Fulmek

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

Zahlentheorie. Kapitel 6. Verständnisfragen. Sachfragen. 1. Erläutern Sie die ganzzahlige Division! 2. Was versteht man unter a mod b für a, b Z?

Lineare Algebra I (WS 13/14)

El. Zahlentheorie I: Der kleine Satz von Fermat

Vorlesung 7. Tilman Bauer. 25. September 2007

Bitte tragen Sie zuerst in Druckschrift Ihren Namen und Ihre Matrikelnummer ein.

SFZ FN Sj. 12/13. Python 4 Grundlagen. W.Seyboldt. Python, SFZ FN, Sj 12/13

Kapitel 2. Kapitel 2 Natürliche und ganze Zahlen

Primzahlen und Pseudoprimzahlen

Effiziente Algorithmen mit Python. D. Komm, T. Kohn

n ϕ n

Zahlentheorie I. smo osm. Thomas Huber. Inhaltsverzeichnis. Aktualisiert: 1. August 2016 vers Teilbarkeit 2.

Kapitel 2. Ganze Zahlen. 2.1 Teilbarkeit

Zahlentheorie für den Landeswettbewerb für Anfängerinnen und Anfänger der Österreichischen Mathematik-Olympiade

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

Elemente der Algebra und Zahlentheorie Musterlösung, Serie 5, Wintersemester vom 21. Januar 2006

Kapitel 3 Elementare Zahletheorie

Lineare Algebra I 5. Tutorium Die Restklassenringe /n

kgv-berechnung Invertieren modulo m Simultane Kongruenzen Restklassenringe Modulare Arithmetik Euler sche Funktion Sätze von Fermat und Euler

1.2. Teilbarkeit und Kongruenz

Kapitel 2: Zahlentheoretische Algorithmen Gliederung

Diskrete Mathematik 1

Kryptographie und Komplexität

IT-Security. Teil 8b: Rechnen mit beliebiger Genauigkeit Algorithmen

3. Vorlesung. Arithmetische Theorien.

Kapitel 6: Das quadratische Reziprozitätsgesetz

3.5 Ringe und Körper. Diese Eigenschaften kann man nun auch. 1. (R, +) ist eine kommutative Gruppe. 2. Es gilt das Assoziativgesetz bezüglich.

3.5 Kryptographie - eine Anwendung der Kongruenzrechnung

Einführung in die Algebra

Interim. Kapitel Einige formale Definitionen

Zahlentheorie I - Tipps & Lösungen. Aktualisiert: 15. Oktober 2016 vers Teilbarkeit

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

Asymmetrische Kryptographie u

1. Übung Elemente der Zahlentheorie SS2016

Kryptographie und Codierungstheorie

3. Diskrete Mathematik

Kanonische Primfaktorzerlegung

Seminar zum Thema Kryptographie

4 Kryptologie. Übersicht

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

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

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

Elementare Zahlentheorie

Der euklidische Algorithmus für ganze Zahlen

Transkript:

Zahlentheorie, Arithmetik und Algebra 1 Monika Huber 24.6.2015 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 1 / 52

Übersicht Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Grundlagen Primfaktorzerlegung Primzahltests Diophantische Gleichungen Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 2 / 52

Übersicht Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Grundlagen Primfaktorzerlegung Primzahltests Diophantische Gleichungen Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 3 / 52

Anwendung Problem: GCPC Für den CGPC haben sich 16 Personen einzeln angemeldet. Kann man diese Personen in 3-er-Gruppen aufteilen, ohne dass jemand übrig bleibt? Anwendung - Kalenderrechnung - letzte Ziffer z.b. für Prüfziffer der ISBN - RSA-Verschlüsselung (vgl. ZAA2) - Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 4 / 52

Kongruenz Definition a heißt kongruent zu b modulo m : a b mod m : m (a-b) k Z : a = k m + b Gilt dies nicht, so heißt a inkongruent zu b modulo m Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 5 / 52

Rechenregeln Für ganze Zahlen a, b, m Z gilt: (a+b) mod m = (a mod m + b mod m) mod m (a-b) mod m = (a mod m - b mod m) mod m (a b) mod m = ((a mod m) (b mod m)) mod m a b mod m = (a mod m) b mod m a d b d mod (m d) = a b mod m Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 6 / 52

Rechenregel: Division Das multiplikativ Inverse b modulo m besitzt ein multiplikativ Inverses, falls eine Zahl b 1 Z mit b b 1 1 (mod m) existiert. Division = Multiplikation mit dem Inversen: a b mod m = a b 1 mod m a b mod m nur berechenbar, wenn das Inverse zu b mod m existiert Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 7 / 52

Schnelle Exponentiation Für eine Zahl oder Matrix a lässt sich a b durch folgende rekursive Formel deutlich schneller berechnen: Schnelle Exponentiation { b a b a 2 a b 2, wenn b%2 = 0 = a b 1 a sonst Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 8 / 52

Schnelle Exponentiation Berechnung von a b mod m: long mod_exp ( long a, long b, long m){ if(b == 0) return 1; long res = mod_exp (a, b/2, m); res = ( res * res )%m; if(b%2 == 1) return ( res *a)%m; else return res ; } Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 9 / 52

Schnelle Exponentiation Berechnung von a b mod m: long mod_exp ( long a, long b, long m){ if(b == 0) return 1; long res = mod_exp (a, b/2, m); res = ( res * res )%m; if(b%2 == 1) return ( res *a)%m; else return res ; } Laufzeit: O(log b) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 9 / 52

In der Programmierung %-Operation a%m berechnet den Rest der Division a m Ist a negativ, so ist auch der Wert a%m negativ Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 10 / 52

In der Programmierung %-Operation a%m berechnet den Rest der Division a m Ist a negativ, so ist auch der Wert a%m negativ Lösung: ((a%m)+m)%m) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 10 / 52

Übersicht Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Grundlagen Primfaktorzerlegung Primzahltests Diophantische Gleichungen Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 11 / 52

Anwendung Problem: Ferienfreizeit Bei einer Ferienfreizeit sollen 49 Kinder und 14 Leiter auf Gruppen gleicher Zusammensetzung aufgeteilt werden. Was ist die größtmögliche Gruppenanzahl? Anwendung - Rechnen mit Brüchen - Bestimmen des multiplikativ Inversen - Chinesischer Restsatz (vgl. ZAA2) -... Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 12 / 52

Teilbarkeit von ganzen Zahlen Def: Teiler d teilt n bzw. d ist Teiler von n, wenn ein b existiert, so dass n = b d. Schreibweise: d n Lemma von Euklid Teilt eine Primzahl p ein Produkt ganzer Zahlen, so teilt sie mindestens einen der beiden Faktoren: p ab p a oder p b. Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 13 / 52

Größter gemeinsamer Teiler Definition a, b Z (a 0 b 0) besitzen einen größten gemeinsamen Teiler ggt(a,b) N, für den gilt: - ggt(a,b) a und ggt(a,b) b - wenn d a und d b d ggt(a,b) Festgelegt: ggt(0,0) = 0 ggt(a,b,c) = ggt(ggt(a,b), c) Gilt ggt(a,b) = 1, nennen wir a und b teilerfremd. Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 14 / 52

Euklidischer Algorithmus Idee - Wenn b a, dann ggt(a,b) = b - Wenn a = b t+r für t,r N, dann gilt: ggt(a,b) = ggt(b,r) = ggt(b, a mod b) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 15 / 52

Euklidischer Algorithmus Idee - Wenn b a, dann ggt(a,b) = b - Wenn a = b t+r für t,r N, dann gilt: ggt(a,b) = ggt(b,r) = ggt(b, a mod b) long euklid ( long a, long b){ if (b == 0) return a; else return euklid (b, a % b); } Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 15 / 52

Euklidischer Algorithmus Idee - Wenn b a, dann ggt(a,b) = b - Wenn a = b t+r für t,r N, dann gilt: ggt(a,b) = ggt(b,r) = ggt(b, a mod b) long euklid ( long a, long b){ if (b == 0) return a; else return euklid (b, a % b); } Laufzeit: O(log max(a,b)) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 15 / 52

Erweiterung Lemma von Bézout Der größte gemeinsame Teiler zweier ganzer Zahlen lässt sich als Linearkombination mit ganzzahligen Koeffizienten darstellen: ggt(a, b) = a x + b y mit x,y Z Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 16 / 52

Erweiterung Lemma von Bézout Der größte gemeinsame Teiler zweier ganzer Zahlen lässt sich als Linearkombination mit ganzzahligen Koeffizienten darstellen: ggt(a, b) = a x + b y mit x,y Z Diese Koeffizienten lassen sich mit dem erweiterten euklidischen Algorithmus bestimmen: Idee rekursiv bestimmbar durch b x + (a b a/b ) y = ggt (a, b) Basisfall: a 1 + 0 0 = ggt (a, 0) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 16 / 52

Erweiterter Euklid long euklid_erweitert ( long a, long b, long *x, long *y){ long x1, y1; /* vorherige Koeffizienten */ long g; /* Wert von ggt (a,b)*/ if(b == 0){ *x = 1; *y = 0; return a; } g = euklid_erweitert (b, a % b, &x1, &y1 ); *x=y1; *y=( x1 - floor (a/b) * y1 ); return g; } Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 17 / 52

Erweiterter Euklid long euklid_erweitert ( long a, long b, long *x, long *y){ long x1, y1; /* vorherige Koeffizienten */ long g; /* Wert von ggt (a,b)*/ if(b == 0){ *x = 1; *y = 0; return a; } g = euklid_erweitert (b, a % b, &x1, &y1 ); *x=y1; *y=( x1 - floor (a/b) * y1 ); return g; } Laufzeit: O(log max(a,b)) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 17 / 52

Erweiterter Euklid Linearkombination nach Bézout: ggt(a, b) = ax+by Das multiplikativ Inverse Für teilerfremde a,b Z ist x das multiplikativ Inverse zu a mod b und y das multiplikativ Inverse zu b mod a. z.b. ggt(5,3) = 1 = -1 5 + 2 3 3 1 2 mod 3 5 1-1 2 mod 3 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 18 / 52

Kleinstes gemeinsames Vielfaches Definition Das kleinste gemeinsame Vielfache kgv(a,b) zweier ganzer Zahlen a,b Z ist das Minimum aller m N, für die a m und b m. Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 19 / 52

Kleinstes gemeinsames Vielfaches Definition Das kleinste gemeinsame Vielfache kgv(a,b) zweier ganzer Zahlen a,b Z ist das Minimum aller m N, für die a m und b m. Satz a b = ggt(a,b) kgv(a,b) z.b. a = 6, b = 15 ggt(6, 15) = 3, kgv(6, 15) = 30 6 15 = 90 = 3 30 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 19 / 52

Übersicht Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Grundlagen Primfaktorzerlegung Primzahltests Diophantische Gleichungen Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 20 / 52

Primzahlen Definition Eine natürliche Zahl n>1 heißt Primzahl/prim, wenn sie nur durch sich selbst und 1 teilbar ist (in N). Sonst nennt man n zusammengesetzt. Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 21 / 52

Primzahlen Definition Eine natürliche Zahl n>1 heißt Primzahl/prim, wenn sie nur durch sich selbst und 1 teilbar ist (in N). Sonst nennt man n zusammengesetzt. Achtung Die natürlichen Zahlen 0 und 1 sind weder Primzahlen noch zusammengesetzt. Es gibt genau eine gerade Primzahl, nämlich die 2. Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 21 / 52

Verteilung von Primzahlen Satz von Euklid Es gibt unendlich viele Primzahlen. Beweisidee: Widerspruchsbeweis Primzahlsatz Für π(x), die Anzahl der Primzahlen p x, gilt: π(x) x log(x) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 22 / 52

Übersicht Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Grundlagen Primfaktorzerlegung Primzahltests Diophantische Gleichungen Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 23 / 52

Anwendung Problem: Aus welchen Faktoren besteht die zusammengesetzte Zahl 42? Anwendung - Bestimmen des ggt - Rechnen mit Brüchen - eulersche Phi-Funktion (vgl. ZAA2) -... Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 24 / 52

Primfaktorzerlegung Fundamentalsatz der Arithmetik Jede natürliche Zahl n besitzt eine eindeutige Primfaktorzerlegung, d.h. es gibt eindeutig bestimmte Exponenten v p (n) N 0, so dass folgende Produktdarstellung besteht: n = p pv p(n) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 25 / 52

Bestimmung der Zerlegung prime_ factorization ( long n){ long c = n; /* remaining product to factor */ while ((c%2) == 0){ print (2); c = c /2; } long i =3; /* counter */ while (i <= ( sqrt (c )+1)){ if ((c%i )==0){ print (i); c = c/i; } else { i = i +2; } if(c > 1) print (c); } Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 26 / 52

Bestimmung der Zerlegung prime_ factorization ( long n){ long c = n; /* remaining product to factor */ while ((c%2) == 0){ print (2); c = c /2; } long i =3; /* counter */ while (i <= ( sqrt (c )+1)){ if ((c%i )==0){ print (i); c = c/i; } else { i = i +2; } if(c > 1) print (c); } Laufzeit: O( n) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 26 / 52

Pollard-Rho-Methode Ziel Zu einer zusammengesetzten Zahl n sucht man einen Teiler p. Hierfür erzeugt man mit einer beliebigen Funktion eine Folge von Zahlen modulo n. Die Menge der Funktionswerte ist beschränkt auf {1, 2,, n-1}, sodass spätestens nach n Iterationen ein Zyklus auftreten wird. Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 27 / 52

Bestimmung mit 2 Folgen Idee Wenn x i mod p x j mod p, dann ist x i x j ein Vielfaches von p und es gilt: ggt ( x i x j, n) p ist ein Teiler von n Zur besseren Vergleichbarkeit verwendet man 2 Folgen (x 0, x 1, x 2, x 3, x 4,...) und (y 0, y 1, y 2, y 3,...) = (x 0, x 2, x 4, x 6,...) und berechnet jeweils den ggt ( x i y i, n) für i>0. Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 28 / 52

Beispiel Aufgabe: Suche Teiler von n = 42 und verwende f (x) = (x 2 + 1) mod n x 0 = y 0 = 1 1 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 29 / 52

Beispiel Aufgabe: Suche Teiler von n = 42 und verwende f (x) = (x 2 + 1) mod n x 0 = y 0 = 1 5 2 1 x 1 = 2, y 1 = 5 ggt ( 2 5, 42) = 3 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 29 / 52

Beispiel Aufgabe: Suche Teiler von n = 42 und verwende f (x) = (x 2 + 1) mod n x 0 = y 0 = 1 5 2 1 26 x 1 = 2, y 1 = 5 ggt ( 2 5, 42) = 3 x 2 = 5, y 2 = 5 ggt ( 5 5, 42) = 42 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 29 / 52

Beispiel Aufgabe: Suche Teiler von n = 42 und verwende f (x) = (x 2 + 1) mod n x 0 = y 0 = 1 5 2 1 26 x 1 = 2, y 1 = 5 ggt ( 2 5, 42) = 3 x 2 = 5, y 2 = 5 ggt ( 5 5, 42) = 42 x 3 = 26, y 3 = 5 ggt ( 26 5, 42) = 21 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 29 / 52

Hase-Igel-Algorithmus Ziel Auffinden von Zyklen in einer verketteten Liste Idee Man durchläuft die Liste gleichzeitig mit 2 Zeigern mit unterschiedlicher Schrittweite (Igel: 1, Hase: 2). Wenn die beiden Zeiger irgendwann auf dasselbe Element zeigen, enthält die Liste einen Zyklus. Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 30 / 52

Hase-Igel-Algorithmus Ziel Auffinden von Zyklen in einer verketteten Liste Idee Man durchläuft die Liste gleichzeitig mit 2 Zeigern mit unterschiedlicher Schrittweite (Igel: 1, Hase: 2). Wenn die beiden Zeiger irgendwann auf dasselbe Element zeigen, enthält die Liste einen Zyklus. Laufzeit (m Elemente vor Zyklus, Zykluslänge n): best case: m Schritte worst case: m + n Schritte Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 30 / 52

Algorithmus long pollard_rho ( long n, long f( long x )){ long x = random (0, n -1); long y = x; long p = 1; while (p == 1){ x = f(x); y = f(f(y )); if(x==y) return -1; /* Zyklus entdeckt */ p = ggt ( x - y, n); } return p; } Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 31 / 52

Pollard-Rho-Methode Termination: Man endet entweder wenn man einen Teiler gefunden hat oder wenn beide Folgen den gleichen Wert annehmen (Zyklus erkannt) Erwartete Laufzeit bis Teiler p gefunden wurde: O( p) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 32 / 52

Pollard-Rho-Methode Termination: Man endet entweder wenn man einen Teiler gefunden hat oder wenn beide Folgen den gleichen Wert annehmen (Zyklus erkannt) Erwartete Laufzeit bis Teiler p gefunden wurde: O( p) Achtung Der Algorithmus findet nicht immer einen Teiler. andere Funktion versuchen Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 32 / 52

Übersicht Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Grundlagen Primfaktorzerlegung Primzahltests Diophantische Gleichungen Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 33 / 52

Anwendung Problem: Ist 561 eine Primzahl? Anwendung - in der Kryptographie (z.b. RSA) - neuen Rekord aufstellen: größte bekannte Primzahl aktuell: 2 57.885.161 1 (2013, Quelle: Spiegel.de) -... Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 34 / 52

Primzahltest boolean isprime ( long n){ if(n ==2) return true ; if(n < 2 n%2 == 0) return false ; for ( int i =3; i <= sqrt (n )+1; i=i +2){ if(n % i == 0) return false ; } return true ; } Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 35 / 52

Primzahltest boolean isprime ( long n){ if(n ==2) return true ; if(n < 2 n%2 == 0) return false ; for ( int i =3; i <= sqrt (n )+1; i=i +2){ if(n % i == 0) return false ; } return true ; } Laufzeit: O( n) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 35 / 52

Sieb des Eratosthenes Ziel Finde aller Primzahlen bis zu gegebener Obergrenze n Idee Liste aller natürlichen Zahlen von 2 bis n anlegen sukzessive die echten Vielfachen der kleinsten Primzahlen streichen Primzahlen bis p n ermitteln, alle weiteren vorhandenen Zahlen n sind auch prim Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 36 / 52

Sieb des Eratosthenes Beispielhafte Suche nach Primzahlen 50 11 21 31 41 2 12 22 32 42 3 13 23 33 43 4 14 24 34 44 5 15 25 35 45 6 16 26 36 46 Ermittelte Primzahlen: 7 17 27 37 47 8 18 28 38 48 9 19 29 39 49 10 20 33 40 50 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 37 / 52

Sieb des Eratosthenes Beispielhafte Suche nach Primzahlen 50 11 21 31 41 2 12 22 32 42 3 13 23 33 43 4 14 24 34 44 5 15 25 35 45 6 16 26 36 46 Ermittelte Primzahlen: 2 7 17 27 37 47 8 18 28 38 48 9 19 29 39 49 10 20 33 40 50 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 37 / 52

Sieb des Eratosthenes Beispielhafte Suche nach Primzahlen 50 11 21 31 41 2 12 22 32 42 3 13 23 33 43 4 14 24 34 44 5 15 25 35 45 6 16 26 36 46 Ermittelte Primzahlen: 2 3 7 17 27 37 47 8 18 28 38 48 9 19 29 39 49 10 20 33 40 50 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 37 / 52

Sieb des Eratosthenes Beispielhafte Suche nach Primzahlen 50 11 21 31 41 2 12 22 32 42 3 13 23 33 43 4 14 24 34 44 5 15 25 35 45 6 16 26 36 46 Ermittelte Primzahlen: 2 3 5 7 17 27 37 47 8 18 28 38 48 9 19 29 39 49 10 20 33 40 50 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 37 / 52

Sieb des Eratosthenes Beispielhafte Suche nach Primzahlen 50 11 21 31 41 2 12 22 32 42 3 13 23 33 43 4 14 24 34 44 5 15 25 35 45 6 16 26 36 46 Ermittelte Primzahlen: 2 3 5 7 7 17 27 37 47 8 18 28 38 48 9 19 29 39 49 10 20 33 40 50 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 37 / 52

Sieb des Eratosthenes Beispielhafte Suche nach Primzahlen 50 11 21 31 41 2 12 22 32 42 3 13 23 33 43 4 14 24 34 44 5 15 25 35 45 6 16 26 36 46 7 17 27 37 47 8 18 28 38 48 9 19 29 39 49 10 20 33 40 50 Ermittelte Primzahlen: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 37 / 52

Fermat scher Primzahltest Kleiner Fermat scher Satz Wenn p eine Primzahl ist, gilt: a p a mod p. Ist a kein Vielfaches von p (p a) gilt a p 1 1 mod p. boolean pseudoprime ( long a, long n){ if( mod_exp (a, n -1, n)!= 1) return false ; /* zusammengesetzt */ else return true ; /* hoffentlich prim */ } Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 38 / 52

Fermat scher Primzahltest Fermat sche Pseudoprimzahl zur Basis a Eine zusammengesetzte Zahl m, für die es ein a mit a 1 mod m und a m 1 1 mod m gibt Carmichael-Zahl Eine zusammengesetzte Zahl m, für die a m 1 1 mod m sogar für alle zu m teilerfremden a 2 gilt z.b. 561, 1105, 1729 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 39 / 52

Miller-(Selfridge-)Rabin-Test Satz Wenn n > 2 eine Primzahl ist, gibt es s,d N mit n 1 = 2 s d, sodass s 1, d ungerade und minimal. Dann gilt: a d 1 mod n oder a 2r d 1 mod n für ein 0 r s 1 Idee des Tests: - Folge a d, a 2d, a 4d,, a 2sd auf obigen Satz prüfen - mehrfaches Durchführen des Fermat-Tests Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 40 / 52

Miller-(Selfridge-)Rabin-Test boolean witness ( long a, long n){ long d = n -1, s = 0; while (d %2 == 0){ s = s +1; d = d /2; } long xlast = mod_exp (a,d,n), xnew ; for ( long i =1; i<s; i ++){ } xnew = ( xlast * xlast ) %n; if( xnew == 1 && xlast!= 1 && xlast!= n -1) return true ; /* zusammengesetzt */ } if( xnew!= 1) return true ; /* zusammengesetzt */ return false ; /* hoffentlich prim */ Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 41 / 52

Miller-(Selfridge-)Rabin-Test boolean miller_rabin_prime (n, s){ if(n ==2) return true ; for ( int i =0; i<s; i ++){ a = random (1,n -1); if( witness (a,n )== true ) return false ; /* zusammengesetzt */ } return true ; /* ziemlich sicher prim */ } Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 42 / 52

Miller-(Selfridge-)Rabin-Test boolean miller_rabin_prime (n, s){ if(n ==2) return true ; for ( int i =0; i<s; i ++){ a = random (1,n -1); if( witness (a,n )== true ) return false ; /* zusammengesetzt */ } return true ; /* ziemlich sicher prim */ } Fehlerwahrscheinlichkeit Nach s Schritten ist die Wahrscheinlichkeit, eine zusammengesetzte Zahl für prim zu halten, kleiner als 1 4 s Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 42 / 52

Übersicht Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Primzahltests Diophantische Gleichungen Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 43 / 52

Anwendung Problem: Einkaufen An einem Marktstand gibt es Erdbeeren für 2 und Kirschen für 3. Wie viele Packungen Erdbeeren und Kirschen kann man für 13 kaufen? Anwendung Probleme, die nur ganzzahlige Ergebnisse zulassen: - Modulare Arithmetik - Stückzahlverteilung in der Produktion -... Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 44 / 52

Diophantische Gleichungen Definition Polynomielle Gleichungen mit ganzzahligen Koeffizienten, die in den ganzen Zahlen gelöst werden sollen. Lösbarkeit Es gibt keinen Algorithmus, der entscheidet, ob eine beliebige gegebene diophantische Gleichung in den ganzen Zahlen lösbar ist! Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 45 / 52

Lineare diophantische Gleichungen Definition Gleichung der Form a 1 x 1 + a 2 x 2 +... + a n x n + c = 0 mit ganzzahligen Koeffizienten a i, bei der man sich nur für ganzzahlige Lösungen interessiert. Linear bedeutet also, dass die Variablen x i nicht in Potenzen auftreten, sondern maximal mit Grad 1. Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 46 / 52

Bei 2 Unbekannten Satz von Bézout Die lineare Gleichung ax + by = c mit ganzen Zahlen a,b,c ist genau dann ganzzahlig lösbar, wenn der ggt(a,b) ein Teiler von c ist. In diesem Fall erhält man die spezielle ganzzahlige c Lösung (x 0, y 0 ) = ggt (a,b) (x s, y s ) durch ax s + by s = ggt (a, b). Die Menge der ganzzahligen Lösungen ist gegeben durch: (x, y) = (x 0 + b ggt (a,b) m, y 0 a ggt (a,b) m) für m Z. Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 47 / 52

Bei mehr als 2 Unbekannten Lösbarkeit Eine lineare diophantische Gleichung a 1 x 1 + a 2 x 2 +... + a n x n = c ist genau dann lösbar, wenn ggt (a 1, a 2,..., a n ) c. Idee Durch sukzessives Substitution auf lineare diophantische Gleichungen mit zwei Unbekannten zurückführen Beispiel: 8x + 6y - 4z = 2 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 48 / 52

Großer Fermat scher Satz Fermats letzter Satz Jede Lösung der Gleichung x n + y n = z n mit ganzzahligem n 3 in ganzen Zahlen x,y,z ist trivial, d.h. es gilt xyz=0. Alternativ: Für x,y,z > 0 hat x n + y n = z n mit n > 3 keine Lösung. Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 49 / 52

Fragen? Fragen??? Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 50 / 52

Fragen? Fragen??? Danke für eure Aufmerksamkeit! Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 50 / 52

Quellen Elementare Zahlentheorie Nicola Oswald & Jörn Steuding (2015) Programming Challenges Steven S. Skiena & Miguel A. Revilla (2003) Introduction to Algorithmus (3 rd edition) Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein (2009) Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 51 / 52

Quellen Lineare diophantische Gleichungen Facharbeit von Jan Stellet, 2006 http://jstc.de/blog/uploads/lineare_diophantische_ Gleichungen.pdf Folien alter Hallo-Welt Vorträge zum Thema ZAA1 (v.a. 2013 & 2014) http://de.wikipedia.org Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 52 / 52