Kryptographie und Codierungstheorie

Ähnliche Dokumente
Das RSA Kryptosystem

Ferienakademie 2001: Kryptographie und Sicherheit offener Systeme. Faktorisierung. Stefan Büttcher

Ältere Aufgaben (bis 1998)

1.Rationale und irrationale Zahlen. Quadratwurzel.

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

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

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

Computeralgebra in der Lehre am Beispiel Kryptografie

Primzahlen im Schulunterricht wozu?

Lineare Algebra I (WS 13/14)

Probabilistische Primzahltests

Kapitel 6: Das quadratische Reziprozitätsgesetz

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

3 Primzahlen. j,... stets Primzahlen. 3.1 Satz. Jedes a > 1 ist als Produkt von Primzahlen darstellbar (Primfaktorzerlegung. n=1

3. Diskrete Mathematik

Primzahlen und Pseudoprimzahlen

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

Hauptsatz der Zahlentheorie.

KAPITEL 13. Polynome. 1. Primfaktorzerlegung in den ganzen Zahlen. ,, p r

Quadratisches Sieb. Aufgabenstellung

Zahlentheorie, Arithmetik und Algebra

Zahlen und elementares Rechnen

Lenstras Algorithmus für Faktorisierung

Zahlen 25 = = 0.08

Fachwissenschaftliche Grundlagen

Lösungen der Aufgaben

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

Prima Zahlen? Primzahlen

Das RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel

Primzahlen im Schulunterricht wozu?

Rabin Verschlüsselung 1979

Grundlegendes der Mathematik

RSA Äquivalenz der Parameter

Basiswissen Zahlentheorie

Faktorisieren mit dem Quadratischen Sieb

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

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 8 2. Semester ARBEITSBLATT 8 DIE REELLEN ZAHLEN

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

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

Bsp. Euklidischer Algorithmus

Zahlenlehre 1. Die Mathematik ist die Königin der Wissenschaften und die Zahlentheorie ist die Königin der Mathematik (Carl Friedrich Gauß)

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

Einführung in die Zahlentheorie

3.5 Kryptographie - eine Anwendung der Kongruenzrechnung

Zahlen und elementares Rechnen (Teil 1)

5 Grundlagen der Zahlentheorie

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

2. Teilbarkeit. Euklidischer Algorithmus

Quadrate und Wurzelziehen modulo p

Zahlentheorie. Vorlesung 14. Fermatsche Primzahlen

Kapitel 2. Kapitel 2 Natürliche und ganze Zahlen

Kryptographie und Komplexität

Primzahlen und RSA-Verschlüsselung

Vorlesung Mathematik 2 für Informatik

WS 2009/10. Diskrete Strukturen

SCHRIFTLICHE ZUSAMMENFASSUNG ZUM VORTRAG DIE GRUNDLAGEN DER RSA-VERSCHLÜSSELUNG VON DANIEL METZSCH

Stichwortverzeichnis. Symbole. Stichwortverzeichnis

Wirtschaftsmathematik: Mathematische Grundlagen

1 Theorie der Kettenbrüche II

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

Beispiel: Primelemente in den Gaußschen Zahlen

Seminararbeit zur Zahlentheorie. Die Gaußschen Zahlen

Mathematische Grundlagen der Kryptografie (1321) SoSe 06

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

RSA (Rivest, Shamir, Adleman)

RSA Verfahren. Kapitel 7 p. 103

Einführung in Algebra und Zahlentheorie Lösungsvorschlag zur Klausur am 16. Februar 2016

Danach arithmetische Fragestellungen wie vollkommene Zahlen und Dreieckszahlen der Griechen.

Übungen zu Zahlentheorie für TM, SS 2013

Vorkurs Mathematik 2016

Der Zwei-Quadrate-Satz von Fermat. Hauptseminar: Eine Einladung in die Mathematik Leitung: Prof. Dr. Lukacova Referent: Julia Breit Datum:

31 Polynomringe Motivation Definition: Polynomringe

Kapitel III Ringe und Körper

2 Polynome und rationale Funktionen

Seminar der WE AlZAGK. Glatte Zahlen

Der chinesische Restsatz mit Anwendung

1. Beschreiben Sie folgende Zahlenmengen durch Markierung auf der Zahlengeraden, der Zahlenebene bzw. durch Aufzählen der Elemente:

(1 + o(1)) n ln(n) π(n) =

Primzahlzertifikat von Pratt

Grundlagen der Mathematik

Über das Hüten von Geheimnissen

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

8. Woche Quadratische Reste und Anwendungen. 8. Woche: Quadratische Reste und Anwendungen 163/ 238

Kombinatorik von Zahlenfolgen

Polynomiale Gleichungen

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

1 Das RSA-Verfahren und seine algorithmischen Grundlagen

Der diskrete Logarithmus und der Index-Calculus

1.2 Eigenschaften der ganzen Zahlen

Faktorisieren mit dem Quadratischen Sieb

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

3 Vom Zählen zur Induktion

Beispiel: Primelemente in den Gaußschen Zahlen

Analysis für Informatiker

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.

Transkript:

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

Gliederung: 0. Einleitung 0.1 Geschichtliche Entwicklung 0.2 Fermat'sche Idee von Quadratischen Resten 1. Continued Fraction Method 1.1 Einführung in die Kettenbrüche (Continued Fractions) 1.2 Die Continued Fraction Method 2. Quadratisches Sieb 2.1 Strategie und Liste 2.2 Wahl der Faktorbasis 2.3 Ermitteln der B-glatten Werte durch Sieben 2.4 Faktorisieren der B-glatten Zahlen und Bestimmung eines Quadrats 2.5 Auswertung 2.6 Ausblick: Verbesserungen 3. Implementierungen 3.1 Quadratisches Sieb 3.2 Continued Fraction Method

0. Einleitung: Sei N eine natürliche Zahl, dann folgt: (nach Euklid (360 280 v. Chr.)): jede natürliche Zahl ist zerlegbar in eindeutige Primteiler) Nächstliegende Idee: Trial Division bis Sieb des Eratosthenes (276 194 v. Chr.): Ermitteln aller Primzahlen bis zu einer Schranke n

Strategie zur Faktorisierung einer natürlichen Zahl N: 1. N durch 2 teilen, bis N ungerade wird 2. Primteiler von N durch Trial Division und/oder der eben vorgestellten Methode abspalten 3. Methoden für kleine Primzahlen nutzen, um diese abzuspalten (Elliptische-Kurven-Methode, Pollard-Methoden, ) 4. Primzahl- und Primzahlpotenztests durchführen (Gruppe 1) 5. Faktorisierungsalgorithmen mit quadratischen Resten nach Fermats Ideen (CFM, QS, Zahlkörpersieb) Je nach Größe des N, des benutzten Programms und der Literatur werden unterschiedliche Grenzen zwischen den einzelnen Punkten gezogen bzw. empfohlen.

Fermats Idee (1607-1665 n. Chr.): Sei dazu ungerade und keine Primzahl ungerade Faktorisierung

Gliederung: 0. Einleitung 0.1 Geschichtliche Entwicklung 0.2 Fermat'sche Idee von Quadratischen Resten 1. Continued Fraction Method 1.1 Einführung in die Kettenbrüche (Continued Fractions) 1.2 Die Continued Fraction Method 2. Quadratisches Sieb 2.1 Strategie und Liste 2.2 Wahl der Faktorbasis 2.3 Ermitteln der B-glatten Werte durch Sieben 2.4 Faktorisieren der B-glatten Zahlen und Bestimmung eines Quadrats 2.5 Auswertung 2.6 Ausblick: Verbesserungen 3. Implementierungen 3.1 Quadratisches Sieb 3.2 Continued Fraction Method

1. Continued Fraction Method: Definition: Als Kettenbruch definiert man Objekte der Form a 0 heißt das Anfangsglied. Die a i und die b i heißen Teilnenner bzw. zähler. Sind alle b i =1 und ist a 0 eine ganze Zahl so heißt der Kettenbruch regulär.

Reguläre Kettenbrüche Nun schreiben wir eine reelle Zahl x in der Form wie folgt: wobei die b i ganze Zahlen sind.

Beispiel 1: Wir erweitern die Wurzel aus 2 zu einem Kettenbruch: Man sieht die Entwicklung setzt sich periodisch fort.

Beispiel 2: Kettenbrucherweiterung von e: Dies führt in unserer Darstellung zu

Bemerkung: Ein endlicher Kettenbruch stellt eine rationale Zahl dar. Stellt man x als Kettenbruch dar, so stellt der vorzeitig abgebrochene Kettenbruch eine Approximation an x dar. Insbesondere: Man kann x (irrational) als endlichen Kettenbruch darstellen indem man das b n durch x n ersetzt. (Siehe Bsp. 1)

Auswertung von Kettenbrüchen Ziel: auszuwerten. Achtung: Nicht einfach drauflos rechnen! Satz: Seien b i ganze Zahlen und alle b i > 0 >0. Dann lässt sich der reguläre Kettenbruch mit vollständig gekürzten A s /B s durch folgende Rekursionsformel darstellen: mit A -1 :=1, B -1 :=0, A 0 :=b 0 und B 0 :=1.

Beispiel 3: Berechne: Schritt 0 1 2 1 2 2 3 A n /B n 1/0 2/1 3/1 8/3 11/4 30/11 71/26 243/89 Ergebnis:

Ein kleiner Satz den wir für einen Beweis benötigen: Satz: Es gilt für die A s und B s : A s-1 B s A s B s-1 =(-1) s Beweis per Induktion, hier nur der Induktionsschluss: A s B s+1 A s+1 B s = A s (b s+1 B s +B s-1 ) - (b s+1 A s +A s-1 )B s =-(A s-1 B s A s B s-1 ) = -(-1) s =(-1) s+1

Kettenbrucherweiterungen von Quadratwurzeln Die Quadratwurzeln lassen sich leicht mit der Formel berechnen: D.h. die Wurzel aus N lässt sich damit so schreiben

Beispiel 4: N=69 => b 0 =8

Das Ergebnis ist ein periodischer Kettenbruch:

Bemerkung: Jede Kettenbrucherweiterung einer irrationalen Zahl, die Quadratwurzel ist, ist periodisch.

Kettenbrüche und Quadratische Reste Folgende Formel ist Basis der Methode zur Bestimmung quadratischer Reste (mod N): (+) (A n-1 ) 2 - N(B n-1 ) 2 =(-1) n Q n

Aus (+) erhält man den Ausdruck D.h. (-1) n Q n ist ein quadratischer Rest (mod N) Wir haben bereits rausgefunden: Kettenbrucherweiterung von liefert daher schnell kleine quadratische Reste.

Nachteil: Die Kettenbrucherweiterung ist periodisch => die Q i werden sich periodisch wiederholen Ist die Periode klein, so auch die Anzahl der quadratischen Reste. Verbesserung: Die Periode kann durch die KB-Erweiterung von verbessert werden, dadurch wird die Periode verlängert. (siehe Continued Fraction Method)

Continued Fraction Method Dieser Algorithmus benutzt die Idee: x 2 =y 2 mod N 1) Man wählt endlich viele kleine Primzahlen p 1 p n-1 und p 0 =-1 2) Wir suchen ganze Zahlen P i und C i mit s.d. die Primfaktorzerlegung von C i nur mit p 0,..., p n 1 auskommt d.h. 3) Nun definiere also als, sodass gilt:

4) Findet man jetzt Indizes gilt, so ist eine quadratische Zahl und man erhält: 5) Nun nur noch probieren ob ein Teiler von N ist. Bemerkung: Die in 2) gesuchten P i und C i bekommen wir durch die quadratischen Reste aus der vorherigen Teil.

Beispiel 5: Sei n= 13290059 Wir finden folgende quadratische Reste R i (ohne Rechnung): mit (a i ) 2 =R i mod n (die R i sind die C i aus der alten Folie)

Und damit die folgende Matrix =:A Gauss -> (0,1,0,0,1,0,1) tr, (1,0,1,0,0,1,0) tr und (1,0,1,1,0,0,0) tr liegen im Kern(A)

Nun probieren: - ergibt:,also keinen Teiler. - ergibt: jedoch: ggt(13058409-231650,n)=1, ergibt ebenfalls keinen Teiler. - ergibt: und damit ist ggt(1469504-46330,n)=4261 ein Teiler von n.

Gliederung: 0. Einleitung 0.1 Geschichtliche Entwicklung 0.2 Fermat'sche Idee von Quadratischen Resten 1. Continued Fraction Method 1.1 Einführung in die Kettenbrüche (Continued Fractions) 1.2 Die Continued Fraction Method 2. Quadratisches Sieb 2.1 Strategie und Liste 2.2 Wahl der Faktorbasis 2.3 Ermitteln der B-glatten Werte durch Sieben 2.4 Faktorisieren der B-glatten Zahlen und Bestimmung eines Quadrats 2.5 Auswertung 2.6 Ausblick: Verbesserungen 3. Implementierungen 3.1 Quadratisches Sieb 3.2 Continued Fraction Method

Das Quadratische Sieb: 1981 von Carl Pomerance entwickelt. Der Algorithmus beruht auf Fermats Faktorisierunsmethode, Gauß` und Kraitchiks Ideen, u.v.a. Mit Ausnahme des Siebschrittes gleicht er Dixons Algorithmus. Schneller als CFM, da für die Glattheitstests Trail Division durch Sieben ersetzt werden kann. Effizient bis zu Zahlen von ca. 100 Dezimalstellen, für größere ist das Zahlkörpersieb schneller. Geschwindigkeit: ca. ln( N)ln(ln( N)) Rechenschritte. Für die Zahl RSA-129 benötigte man 1994 acht Monate RSA-129 = 11438162575788886766923577997614661201021829672124236256256184293 5706935245733897830597123563958705058989075147599290026879543541 = 3490529510847650949147849619903898133417764638493387843990820577 * 32769132993266709549961988190834461413177642967992942539798288533

Definitionen: Legendre-Symbol:,, p Primzahl N p 1 : 0 1 ggt(n, p) 1 und N ist ein Quadrat mod. p p teilt N ggt(n, p) 1 und N ist kein Quadrat mod. p z q* d, q B- glatt und B d B² heißt B-glatt, falls sie komplett in Primzahlen kleiner-gleich B zerfällt. z heißt B-semiglatt, falls sie noch einen zusätzlichen Primfaktor kleiner-gleich B² besitzt, d.h. z q* d, q B- glatt und B d B²

Algorithmus: 1 Liste erstellen: 2 Wahl der Faktorbasis 3 Ermitteln der B-glatten Werte durch Sieben 4 Faktorisieren der B-glatten Zahlen und Bestimmung eines Quadrats 5 Auswertung

Gliederung: 0. Einleitung 0.1 Geschichtliche Entwicklung 0.2 Fermat'sche Idee von Quadratischen Resten 1. Continued Fraction Method 1.1 Einführung in die Kettenbrüche (Continued Fractions) 1.2 Die Continued Fraction Method 2. Quadratisches Sieb 2.1 Strategie und Liste 2.2 Wahl der Faktorbasis 2.3 Ermitteln der B-glatten Werte durch Sieben 2.4 Faktorisieren der B-glatten Zahlen und Bestimmung eines Quadrats 2.5 Auswertung 2.6 Ausblick: Verbesserungen 3. Implementierungen 3.1 Quadratisches Sieb 3.2 Continued Fraction Method (kommt nächste Woche)