Primzahltests und Faktorisierung. Primzahltests. Nuria Brede Universität Potsdam - Kryptographie SoSe 2005 Seite 1

Ähnliche Dokumente
Kryptographie und Komplexität

3: Zahlentheorie / Primzahlen

Probabilistische Primzahltests

Primzahltests und Faktorisierung

Randomisierte Primzahltests Paul Gamper

Probabilistische Primzahltests

Primzahlzertifikat von Pratt

Gewinnung und Test großer Primzahlen

4 Das RSA public-key System der Kryptographie 5

Algorithmentheorie Randomisierung. Robert Elsässer

Der Miller-Rabin Primzahltest Florian Rienhardt Alle Rechte vorbehalten.

Prima Zahlen? Primzahlen

Proseminar SS08 - Miller-Rabin-Primzahltest

Erzeugung von Pseudozufallszahlen

Pollards Rho-Methode zur Faktorisierung

Primzahlen und Pseudoprimzahlen

Randomisierte Algorithmen 2. Erste Beispiele

Vortrag zum Proseminar: Kryptographie

Kryptographie und Codierungstheorie

Public-Key-Verschlüsselung und Diskrete Logarithmen

Praktikum Diskrete Optimierung (Teil 11)

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren

Pratts Primzahlzertifikate

Was können Schüler anhand von Primzahltests über Mathematik lernen?

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

MGI Exkurs: RSA-Kryptography

PRIMHEITSZERTIFIKATE UND TEST VON PROTH Seminar Primzahltests von zur Gathen & Müller & Krummel

Primzahlen. Die Zahl 1 ist weder prim noch zusammengesetzt. Es gilt: N=P Z {1} Definition: (Primzahlen) Definition: (zusammengesetzte Zahlen)

5 Harte zahlentheoretische Probleme

Zahlentheorie, Arithmetik und Algebra 1

Vorlesung Sicherheit

Seminararbeit Sommersemester 2003

Zahlentheorie. Vorlesung 14. Fermatsche Primzahlen

Asymmetrische Kryptographie u

Probabilistische Primzahlensuche. Marco Berger

Zahlentheorie, Arithmetik und Algebra I

Kryptographie und Komplexität

Kryptographische Algorithmen

TU Chemnitz. Fachbereich Informatik. Proseminar Effiziente Algorithmen. Thema: Effiziente Primzahlverfahren. Bearbeitet von:

Primzahltests und Faktorisierungsalgorithmen

Einführung in die Zahlentheorie

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem

Mathematische Grundlagen der Kryptografie (1321)SoSe 06

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

3-9 Elementare Zahlentheorie

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp

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

Einführung in die Kryptographie ,

Primzahlen, Faktorisierung und Komplexitätstheorie

5 Grundlagen der Zahlentheorie

Eine kurze Tabelle soll uns erste Einsichten erleichtern. Der Strich heißt, dass es eine solche Darstellung nicht gibt.

Das P versus N P - Problem

Kryptographie: Verteidigung gegen die dunklen Künste in der digitalen Welt

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

Seminararbeit. Primzahlerzeugung

1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben?

Digitale Unterschriften mit ElGamal

Effiziente Algorithmen für den Primzahltest

Pseudozufallsgeneratoren

Logik und Beweise. Logik und Beweise. Vorsemesterkurs SoSe März 2016

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

Vorlesung Sicherheit

7 Asymmetrische Kryptosysteme

Rabin Verschlüsselung 1979

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Primzahltests G abor SAS

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

9. Primitivwurzeln. O. Forster: Einführung in die Zahlentheorie

Behauptung: Es gibt unendlich viele Primzahlen.

Der Euklidische Algorithmus Dieter Wolke

Anhang I zur Vorlesung Kryptologie: Elementare Zahlentheorie

Effiziente Algorithmen für den Primzahltest

1 Das RSA-Verfahren und seine algorithmischen Grundlagen

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

Lenstras Algorithmus für Faktorisierung

Zufallszahlen in AntBrain

Einführung in die Kryptographie

Primzahltests und Faktorisierungsmethoden

Grosse Primzahlen - wenn der Umweg schneller ist...

Kryptographie und Komplexität

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

Technikseminar SS2012

Primzahlen. 1.Einführung. Oberstufe Mathematik Projekt Unendlichkeit 2,3,5,7,9,11,13

Kryptosystem von Paillier: Analyse und Verbesserungen

Der RSA-Algorithmus. 2. Anschließend ist n = p q und ϕ (n) = (p 1) (q 1) zu berechnen.

Seminar zur Zahlentheorie Spezialfälle des Satzes von Fermat

IT-Sicherheitsmanagement. Teil 12: Asymmetrische Verschlüsselung

Stichpunktezettel fürs Tutorium

Digitale Signaturen. Sven Tabbert

Diskrete Mathematik Kongruenzen

Lösungen der Aufgaben

L-Funktionen in Geometrie und Arithmetik

Primzahlen: vom antiken Griechenland bis in den Computer

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:

Basiswissen Zahlentheorie

Seminarvortrag aus Reiner Mathematik Existenz von Primitivwurzeln

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

Einführung in die Kryptographie

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

Transkript:

Primzahltests und Faktorisierung Primzahltests Primzahltests Nuria Brede 16.06.2005 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 1

Primzahltests und Faktorisierung Primzahltests Inhalt 1. Einleitung 2. Probabilistische Primzahltests Mathematische Grundlagen Miller-Rabin Primzahltest 3. Deterministische Primzahltests 4. Fazit 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 2

Primzahltests und Faktorisierung 1 Einleitung Inhalt 1. Einleitung 2. Probabilistische Primzahltests Mathematische Grundlagen Miller-Rabin Primzahltest 3. Deterministische Primzahltests 4. Fazit 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 3

Primzahltests und Faktorisierung 1 Einleitung Motivation - Warum Primzahltests? Public Key Kryptographie benötigt möglichst große beliebige Primzahlen Problem: Suche nach Primzahlen mit intuitiven Mitteln - wie einfaches Durchtesten - für sehr grosse Zahlen ineffizient Abhilfe: Zufällige Erzeugung sehr großer Zahlen und Primzahltest mit mathematisch ausgefeilten probabilistischen Algorithmen 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 4

Primzahltests und Faktorisierung 1 Einleitung Primzahlen per Zufall suchen? in der Praxis nur sinnvoll, wenn nicht zu viele Zufallszahlen getestet werden müssen, bis eine Primzahl gefunden ist hilfreiche Erkenntnis aus der Zahlentheorie (nach Gauss): Das Primzahl-Theorem Sei π(n) die Anzahl der Primzahlen N. Dann gilt π(n) N ln N. daraus folgt: eine zufällig gewählte ganze Zahl zwischen 1 und N ist mit einer Wahrscheinlichkeit von 1 ln N eine Primzahl 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 5

Primzahltests und Faktorisierung 1 Einleitung Primzahlen per Zufall zu suchen? Beispiel. angewandt auf RSA: für einen 1024 bit Modulus n = p q sind p und q 512 bit Primzahlen ein 512 bit Integer ist nach der Formel 1 ln N Wahrscheinlichkeit von 1 ln 2 512 1 355 Primzahl mit einer da nur ungerade Zahlen betrachtet werden müssen ist die Wahrscheinlichkeit sogar 2 355 Fazit: Diese Art der Primzahl-Suche ist in der Praxis tatsächlich sinnvoll 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 6

Primzahltests und Faktorisierung 1 Einleitung Welche Primzahltests gibt es? früher Primzahltest: Sieb des Eratosthenes schon im 3. Jh. v.chr. moderne Tests lassen sich in zwei Gruppen unterteilen: deterministische Tests eindeutig, aber nicht so schnell lange offene Frage: ist polynomielle Laufzeit möglich? probabilistische Tests schnell, dafür Fehlermöglichkeit bereits 1977 probabilistischer Test mit polynomieller Laufzeit 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 7

Inhalt 1. Einleitung 2. Probabilistische Primzahltests Mathematische Grundlagen Miller-Rabin Primzahltest 3. Deterministische Primzahltests 4. Fazit 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 8

Probabilistische Algorithmen probabilistische Algorithmen sind schnell - liefern aber mit einer gewissen Wahrscheinlichkeit ɛ ein falsches Ergebnis ein einseitiger probabilistischer Algorithmus liefert mit einer Wahrscheinlichkeit 1 2 das richtige Ergebnis durch entsprechende Zahl von Wiederholungen lässt sich die Fehlerwahrscheinlichkeit unter eine beliebig niedrige Schranke senken 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 9

Solovay-Strassen-Test Probabilistische Primzahltests erster probabilistischer Primzahltest: vorgestellt 1977 von Robert Solovay (IBM) und Volker Strassen (Universität Zürich) ɛ < 1 2 und Laufzeit polynomiell in O((log n)3 ) Miller-Rabin-Test vorgestellt 1980 von Michael O. Rabin, basiert auf Gary Millers deterministischem Test von 1976 ɛ < 1 4 und Laufzeit ebenfalls O((log n)3 ) ECPP - Elliptic Curve Primality Proving erste Variante 1986 von Goldwasser und Kilian, verbessert 1992 von Adleman und Huang basierend auf Theorie elliptischer Kurven, Laufzeit O((ln n) 4 ) 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 10

Monte-Carlo-Algorithmus Definition Ein yes-biased Monte-Carlo-Algorithmus ist ein probabilistischer Algorithmus für Entscheidungsprobleme, bei dem Antwort,,ja immer korrekt ist - Antwort,,nein kann jedoch mit Fehlerwahrscheinlichkeit ɛ falsch sein. Ein no-biased Monte-Carlo-Algorithmus wird analog definiert. Beispiele: Monte-Carlo-Algorithmen für zusammengesetzte Zahlen yes-biased: Tests von Solovay-Strassen und Miller-Rabin 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 11

Las-Vegas-Algorithmus Definition Ein Las-Vegas-Algorithmus ist ein probabilisitscher Algorithmus für Entscheidungsprobleme, dessen Antwort immer korrekt ist - jedoch gibt er möglicherweise keine Antwort. Beispiel: Las-Vegas-Algorithmus ECPP - erster probabilistischer Test, der die Primalität einer Zahl beweist 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 12

Inhalt 1. Einleitung 2. Probabilistische Primzahltests Mathematische Grundlagen Miller-Rabin Primzahltest 3. Deterministische Primzahltests 4. Fazit 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 13

Der kleine Satz von Fermat Definition Sei p eine Primzahl und a eine ganze Zahl und es sei a 0 (mod p). Dann gilt a p 1 1 (mod p) 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 14

Quadratische Reste Definition Sei p Primzahl und a eine ganze Zahl. Dann heißt a quadratischer Rest mod p g.d.w. a 0 (mod p) und y 2 a (mod p) hat eine Lösung y Z p. Gilt a 0 (mod p) und a ist nicht quadratischer Rest modulo p, dann heißt a nicht-quadratischer Rest modulo p. Beispiel: Z 11 1 2 = 1 2 2 = 4 3 2 = 9 4 2 = 5 5 2 = 3 6 2 = 3 7 2 = 5 8 2 = 9 9 2 = 4 10 2 = 1 1,3,4,5,9 sind also quadratische Reste modulo 11 2,6,7,8,10 sind nicht-quadratische Reste modulo 11 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 15

Quadratische Reste - Folgerungen Sei p eine ungerade Primzahl und a ein quadratischer Rest modulo p. Dann gilt: y Z p, so dass y 2 a (mod p) Es gilt auch: ( y) 2 a (mod p) und y y (mod p) da p ungerade ist Betrachtet man die quadratische x 2 a 0 (mod p) Kongruenz lässt sich faktorisieren (x y)(x + y) 0 (mod p) also: p (x y)(x + y) daraus folgt p (x y) oder p (x + y) weil p Primzahl ist x 2 a 0 (mod p) hat genau zwei Lösungen: x ±y (mod p) 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 16

Quadratische Reste - Beispiel 2 Folgerung: x 2 a 0 (mod p) hat genau zwei Lösungen: x 1,2 ±y (mod p) Beispiel in Z 11 : x 2 a 0 (mod 11) Inverse in Z 11 Quadratischer Rest a Inverse in Z 11 x 1 = 10 = 1 ( 1) 2 = 10 2 = 1 = 1 2 = 10 2 x 2 = 1 = 10 x 1 = 9 = 2 ( 2) 2 = 9 2 = 4 = 2 2 = 9 2 x 2 = 2 = 9 x 1 = 8 = 3 ( 3) 2 = 8 2 = 9 = 3 2 = 8 2 x 2 = 3 = 8 x 1 = 7 = 4 ( 4) 2 = 7 2 = 5 = 4 2 = 7 2 x 2 = 4 = 7 x 1 = 6 = 5 ( 5) 2 = 6 2 = 3 = 5 2 = 6 2 x 2 = 5 = 6 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 17

Carmichael-Zahlen Kriterien nach Korselt 1. Eine ungerade, quadratfreie Zahl n N, so dass a n 1 1 (mod n) für alle teilerfremden a N 2. Für alle Primteiler p von n gilt (p 1) (n 1),,ungünstige Eigenschaften: Kongruenz des kleinen Fermat schen Satzes erfüllt für fast alle a es gibt unendlich viele Carmichael-Zahlen Beispiele für Carmichael-Zahlen: 561 = 3 11 17 1105 = 5 13 17 1729 = 7 13 19 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 18

Inhalt 1. Einleitung 2. Probabilistische Primzahltests Mathematische Grundlagen Miller-Rabin Primzahltest 3. Deterministische Primzahltests 4. Fazit 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 19

Der Miller-Rabin Test Idee: nutzt den kleinen Satz von Fermat, umgeht aber das Problem der Carmichael-Zahlen - deshalb auch,,the Strong Pseudo-Prime Test genannt yes-biased Monte-Carlo-Algorithmus für zusammengesetzte Zahlen mit Fehlerwahrscheinlichkeit ɛ < 1 4 bei ausreichender Wiederholung ( 30 mal) ist die Wahrscheinlichkeit eines falschen Ergebnisses geringer als die eines Hardware-Fehlers! wird neben Kryptographie z.b. in Programmen wie Maple oder Mathematica eingesetzt 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 20

Der Miller-Rabin Test - Funktionsweise Grundlage: Nutzung des kleinen Satzes von Fermat Problem: Fermat sche Pseudo-Primzahlen und insbesondere Carmichael-Zahlen sind falsche Zeugen für die Primalität einer Zahl Gedanke: bei Carmichael-Zahlen hält zwar a n 1 1 (mod n) mit n Carmichael-Zahl für alle Basen a ausser den eigenen Teilern - jedoch gilt nicht a: n (a n 1 1), was nach Fermat folgen würde, wäre n Primzahl Faktorisierung nach 3. binomischer Formel: ) ( ) a n 1 1 = (a n 1 2 1 a n 1 2 + 1 }{{} ) ) (a n 1 4 1 (a n 1 4 + 1 } {{ } etc. Zahl n kann nur Primzahl sein, falls sie einen dieser Faktoren teilt! 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 21

Miller-Rabin-Algorithmus Miller-Rabin(n) schreibe n 1 = 2 k m, wobei m ungerade wähle einen beliebigen Integer-Wert a, 1 a n 1 b := a m mod n if b 1 (mod n) then return (,,n ist Primzahl ) for i in 0 to k 1 8 >< if b 1 (mod n) do then return (,,n ist Primzahl ) >: else b := b 2 mod n // k-te Wurzel von a 2k m // b = a 2i m return (,,n ist keine Primzahl ) // a n 1 a 2k m 1 (mod n) 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 22

Der Miller-Rabin Test - Korrektheit zu zeigen: Bei Ausgabe,,n ist keine Primzahl gilt: n nicht prim. Annahme: Ausgabe,,n ist keine Primzahl, aber n ist prim aus der Ausgabe,,n ist keine Primzahl folgt a 2i m 1 (mod n) für 0 i k 1 da n prim sein soll gilt nach Fermat: a 2k m 1 (mod n) da n 1 = 2 k m a 2k 1m = a 2 k m 2 1 ±1 (mod n) da n prim gibt es genau zwei Wurzeln dann ist wir wissen aber a 2k 1m 1 (mod n), also: a 2k 1m 1 (mod n) damit ist wiederum a 2k 2m 1 ±1 (mod n) usw. man erhält schließlich a m 1 (mod n) Widerspruch! der Algorithmus hätte in diesem Fall,,n ist Primzahl geantwortet 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 23

Primzahltests und Faktorisierung 3 Deterministische Primzahltests Inhalt 1. Einleitung 2. Probabilistische Primzahltests Mathematische Grundlagen Miller-Rabin Primzahltest 3. Deterministische Primzahltests 4. Fazit 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 24

Primzahltests und Faktorisierung 3 Deterministische Primzahltests Deterministische Primzahltests lange gab es nur determinitische Tests mit polynomieller Laufzeit, die die Richtigkeit der unbewiesenen Riemannschen Hypothese voraussetzten oder nur bestimmte Zahlen (z.b. Lucas-Lehmer-Test für Mersenne-Zahlen) testeten Richtigkeit der Riemannschen Hypothese vorauszusetzen problematisch, da somit mathematisches Fundament unsicher - fatal falls Riemannsche Hypothese widerlegt würde Millers Grundlage für Miller-Rabin-Test gehört zu dieser Sorte deterministischer Tests Wissenstand vor 2002: Problem PRIMES ist nicht NP-vollständig - offene Frage war: liegt es in P? 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 25

Primzahltests und Faktorisierung 3 Deterministische Primzahltests Der AKS-Test veröffentlicht im August 2002 durch Manindra Agrawal, Neeraj Kayal und Nitin Saxena vom indischen Institute of Technology Kanpur unter dem Titel,,PRIMES is in P Durchbruch in der mathematischen Welt: Laufzeit O((log n) 12 ) Idee: basiert auf einer Erweiterung des kleinen Satzes von Fermat auf Polynomring Z [x] (Anmerkung: Löst nicht das Problem, ob P = NP!) 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 26

Primzahltests und Faktorisierung 4 Fazit Inhalt 1. Einleitung 2. Probabilistische Primzahltests Mathematische Grundlagen Miller-Rabin Primzahltest 3. Deterministische Primzahltests 4. Fazit 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 27

Primzahltests und Faktorisierung 4 Fazit Fazit Derzeit sind probabilistische Primzahltests am schnellsten In der Praxis werden besonders der Miller-Rabin-Test und ECPP erfolgreich eingesetzt Tests der AKS-Familie sind zeitlich - noch? - um Faktor 10 5 langsamer verglichen mit den Spitzengeschwindigkeiten probabilistischer Tests 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 28

Primzahltests und Faktorisierung 4 Fazit Ausblick P. Leyland (Universität Oxford Computing Services) schreibt zu AKS:,,One reason for the excitement within the mathematical community is not only does this algorithm settle a long-standing problem, it also does so in a brilliantly simple manner. Everyone is now wondering what else has been similarly overlooked. 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 29

Primzahltests und Faktorisierung 4 Fazit Literatur [1] Douglas R. Stinson. Cryptography - Theory and Practice, pages 171 180. Chapman & Hall/CRC, second edition, 2002. [2] Neeraj Kayal Agrawal, Manindra and Nitin Saxena. PRIMES is in P, August 2002. [3] Evangelos Kranakis. Primality and Cryptography. Wiley-Teubner series in computer science, 1986. [4] Volker Strassen. Zufalls-Primzahlen und Kryptographie, März 1996. [5] B.L. van der Waerden. Algebra I. Springer-Verlag, 1971. [6] Eric W. Weisstein. Elliptic curve primality proving. From MathWorld A Wolfram Web Resource, 2005. http://mathworld.wolfram.com/ellipticcurveprimalityproving.html. [7] Folkmar Bornemann. PRIMES is in P: A Breakthrough for Everyman. Notices of the AMS, Mai 2003. [8] Ganze Zahlen, Teiler und Primzahlen. http://www.biologie.de/sixcms/ media.php/370/leseprobe.106690.pdf. [9] Wikipedia. http://www.wikipedia.org. 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 30

Primzahltests und Faktorisierung Dank Danke für die Aufmerksamkeit......und jetzt weiter mit: Faktorisierung 16.06.2005 Universität Potsdam - Kryptographie SoSe 2005 Seite 31