Kryptographische Protokolle

Größe: px
Ab Seite anzeigen:

Download "Kryptographische Protokolle"

Transkript

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

2 Einleitung Einleitung Diese Lerneinheit beschäftigt sich mit der Generierung von Primzahlen. Es interessieren folgende Fragen: Wie hoch ist die Chance, dass eine zufällig gezogene Zahl eine Primzahl ist? Wie kann man überprüfen, ob eine Zahl eine Primzahl ist? Gibt es effiziente Algorithmen für Primzahltests? Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 2 / 45

3 Wissenswertes über Primzahlen Wissenswertes über Primzahlen Definition. π(n) steht für die Anzahl der Primzahlen, die kleiner-gleich n sind Satz 1 (Primzahlsatz) Es gilt für alle ganzen Zahlen n: π(n) n ln(n) Dies bedeutet, daß eine zufällig aus der Menge {1, 2,..., n} gezogene Zahl mit Wahrscheinlichkeit 1/ ln(n) eine Primzahl ist. Die Wahrscheinlichkeit erhöht sich auf 2/ ln(n), wenn ausschließlich ungerade Zahlen zieht. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 3 / 45

4 Wissenswertes über Primzahlen Wissenswertes über Primzahlen (Forts.) n π(n) n/ ln(n) Zieht man eine ungerade Zahl aus {1, 3,..., } zufällig, dann ist sie mit Wahrscheinlichkeit 2/ ln(2 256 ) 1/88.7 eine Primzahl. Mit anderen Worten: Im Schnitt muss man 89 ungerade Zahlen unter Gleichverteilung ziehen, um eine Primzahl aus obiger Menge zu finden. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 4 / 45

5 Ein einfacher Primzahltest Ansatz Ein einfacher Primzahltest Satz von Fermat: Ist n eine Primzahl, dann gilt für alle a Z n: a n 1 1 (mod n). Konsequenz: Existiert ein a {1, 2,..., n 1} so dass a n 1 1 (mod n), dann ist n mit Sicherheit keine Primzahl. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 5 / 45

6 Ein einfacher Primzahltest Ansatz Pseudo-Primzahl-Test PseudoPrime(n, s) Input: Ganze Zahlen n, s, wobei n 3 ungerade und s > 0 Output: Primzahl oder Keine Primzahl 1 for i := 1 to s do 2 a := Random(1, n 1) 3 if gcd(a, n) 1 then 4 return Keine Primzahl 5 if a n 1 1 (mod n) then 6 return Keine Primzahl 7 return Primzahl Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 6 / 45

7 Ein einfacher Primzahltest Analyse Analyse von PseudoPrime(n, s) Ziel: Bewertung der Qualität von PseudoPrime(n, s) Definition. Sei n eine natürliche Zahl. Die Zahl a Z n ist ein Beweis, dass n eine zusammengesetzte Zahl ist, falls a n 1 1 (mod n). Wunsch: Es gibt viele Beweise, dass n eine zusammengesetzte Zahl ist gute Chance, dass eine solche Zahl gezogen wird Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 7 / 45

8 Ein einfacher Primzahltest Analyse Analyse von PseudoPrime(n, s) (Forts.) Satz 2 Sei n eine beliebige natürliche Zahl. Angenommen, es existiert ein Beweis, dass n eine zusammengesetzte Zahl ist. Dann sind mindestens die Hälfte der Zahlen in Z n Beweise, dass n eine zusammengesetzte Zahl ist. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 8 / 45

9 Ein einfacher Primzahltest Analyse Analyse von PseudoPrime(n, s) (Forts.) Beweis. Sei n N beliebig gewählt. Betrachte die Menge B = {a Z n a n 1 1 (mod n)} Für alle a, b B gilt: (a b) n 1 a n 1 b n (mod n) Folglich ist auch a b B Also ist B abgeschlossen unter der Multiplikation modulo n Laut ZTK (Satz 9.9) ist B eine Untergruppe von Z n Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 9 / 45

10 Ein einfacher Primzahltest Analyse Analyse von PseudoPrime(n, s) (Forts.) Angenommen, es existiert ein Beweis a Z n, dass n eine zusammengesetzte Zahl ist. Da a / B, ist B eine echte Untergruppe von Z n, d.h., B Z n. Wegen ZTK (Satz 10.2) muss B ein Teiler von Z n sein. Hieraus folgt, dass B Z n 2. Also gibt es mindestens Z n 2 Beweise, dass n eine zusammengesetzte Zahl ist. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 10 / 45

11 Ein einfacher Primzahltest Analyse Analyse von PseudoPrime(n, s) (Forts.) Satz 3 Sei n eine beliebige natürliche Zahl. Angenommen, es existiert ein Beweis, dass n eine zusammengesetzte Zahl ist. Dann ist die Wahrscheinlichkeit, dass PseudoPrime(n, s) die Zahl n als Primzahl einstuft, ist höchstens 1 2 s. Bemerkungen: Die Wahl von s beeinflusst die Fehlerwahrscheinlichkeit. Die Fehlerwahrscheinlichkeit nimmt exponentiell in s ab. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 11 / 45

12 Ein einfacher Primzahltest Analyse Analyse von PseudoPrime(n, s) (Forts.) Beweis. Sei n N eine Zahl, für die ein Beweis für deren Zusammengesetztheit existiert. Betrachte einen Durchlauf der for Schleife von PseudoPrime(n, s) und die gezogene Zufallszahl a. n wird als zusammengesetzte Zahl eingestuft, falls 1. a ein Beweis ist, dass n zusammengesetzt ist, oder 2. a / Z n, d.h., gcd(a, n) > 1 Beide Fälle sind disjunkt. Die Anzahl der Zahlen in {1,..., n 1}, die einen der beiden Fälle erfüllen ist: Z n B + (n 1) Z }{{}}{{ n } Fall 1 Fall 2 Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 12 / 45

13 Ein einfacher Primzahltest Analyse Analyse von PseudoPrime(n, s) (Forts.) Die Wahrscheinlichkeit, dass in einem Schleifendurchlauf die Zahl n als zusammengesetzte Zahl klassifiziert wird, ist: ( Z n B ) + (n 1 Z n ) n 1 Z n + (n 1 Z 2 n ) n 1 = n 1 Z n 2 n 1 = 1 Z n 2(n 1) 1 Z n 2 Z n = 1 2 Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 13 / 45

14 Ein einfacher Primzahltest Analyse Analyse von PseudoPrime(n, s) (Forts.) Die Wahrscheinlichkeit, dass n in einem Schleifendurchlauf nicht als zusammengesetzt erkannt wird, ist demnach höchstens 1 2. Damit n als Primzahl eingestuft wird, muss n alle s Schleifendurchläufe passieren, ohne als zusammengesetzte Zahl erkannt zu werden. Da die Schleifendurchläufe stochastisch unabhängig von einander sind, ist die Wahrscheinlichkeit hierfür höchstens ( 1 2) s. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 14 / 45

15 Ein einfacher Primzahltest Bemerkungen Bemerkungen zu PseudoPrime(n, s) Der Fehler von PseudoPrime(n, s) ist einseitig: PseudoPrime(n, s)= Keine Primzahl n definitiv keine Primzahl PseudoPrime(n, s)= Primzahl n vermutlich eine Primzahl. Die Laufzeit von PseudoPrime(n, s) ist polynomial in log 2 n und s. Es gibt zusammengesetzte Zahlen, die von PseudoPrime(n, s) als Primzahl eingestuft werden. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 15 / 45

16 Carmichael Zahlen Carmichael Zahlen Definition. Eine zusammengesetzte Zahl nennt man Carmichael Zahl, falls a n 1 1 (mod n) für alle a Z n gilt. Bemerkungen: Es gibt unendlich viele Carmichael Zahlen. Die Folge der Carmichael Zahlen beginnt mit 561, 1105, 1729, 2465, 2821, 6601, 8911, 10585,... Carmichael Zahlen sind extrem selten. Es gibt z.b. nur 255 Carmichael Zahlen, die kleiner als 10 8 sind. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 16 / 45

17 Carmichael Zahlen Carmichael Zahlen und PseudoPrime(n, s) Fakt: Eine Carmichael Zahl wird von PseudoPrime(n, s) nur als zusammengesetzte Zahl erkannt, wenn ein a mit gcd(a, n) > 1 gezogen wird. Dies ist sehr unwahrscheinlich. Ziel: Verbesserung des Primzahltests, so dass auch Carmichael Zahlen erkannt werden. Ansatz: Tuning von PseudoPrime(n, s) durch Einbau eines zusätzlichen Tests, der für alle zusammengesetzten Zahlen funktioniert. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 17 / 45

18 Quadratwurzeln Quadratwurzeln Definition. Sei n N beliebig gewählt. Die Zahl x Z n nennt man Quadratwurzel von 1 (mod n), falls x 2 1 (mod n). Bemerkung. Für alle n N gilt: 1 n 1 (mod n). Wissen aus Lerneinheit 1: Falls p > 2 eine Primzahl ist, dann sind 1 und p 1 die einzigen Quadratwurzeln von 1 (mod p) in Z p. Folgerung. Besitzt n eine Quadratwurzel x von 1 (mod n) mit x ±1 (mod n), dann ist n keine Primzahl. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 18 / 45

19 Solide Beweise Solide Beweise Definition. Sei n > 1 beliebige ungerade natürliche Zahl. Wähle r, u N, so dass r 1, u ungerade und n 1 = 2 r u. Die Zahl a Z n ist ein solider Beweis, dass n eine zusammengesetzte Zahl ist, falls (1) a u ±1 (mod n) (2) Für alle i = 1,..., r 1 gilt: a 2iu 1 (mod n) Bemerkungen: Für jede ungerade ganze Zahl n existiert ein r und u, so dass n 1 = 2 r u. Die Berechnung von r und u gemäß obiger Definition ist anhand der Binärdarstellung von n 1 einfach durchzuführen. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 19 / 45

20 Solide Beweise Solide Beweise (Forts.) Beispiel. Gegeben ist die Zahl n = Es gilt: n 1 = Also ist u = und r = 4. Betrachte a = 2. Es gilt: a u mod n = ±1 a 21u mod n = a 22u mod n = a 23u mod n = Also ist a ein solider Beweis, dass n eine zusammengesetzte Zahl ist. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 20 / 45

21 Solide Beweise Solide Beweise (Forts.) Anwendung: Angenommen, a ist ein solider Beweis, dass n eine zusammengesetzte Zahl ist. Seien r und u so gewählt, dass n 1 = 2 r u. Fall 1: a n 1 1 (mod n). Also kann n wegen dem Satz von Fermat keine Primzahl sein. Fall 2: a n 1 1 (mod n). Dann existiert ein i {1,... r}, so dass a 2iu 1 (mod n) und a 2i 1u ±1 (mod n). Also kann n keine Primzahl sein, da es eine von ±1 verschiedene Quadratwurzel von 1 modulo n gibt. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 21 / 45

22 Solide Beweise Existenz von soliden Beweisen Definition. Sei n N beliebig gewählt. Falls eine Primzahl p und ein k N existiert, so dass n = p k, dann nennt man n eine Primzahlpotenz. Satz 4 Sei n N eine beliebige zusammengesetzte Zahl, die keine Primzahlpotenz ist. Dann sind mindestens die Hälfte der Elemente in Z n solide Beweise dafür, dass n eine zusammengesetzte Zahl ist. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 22 / 45

23 Solide Beweise Existenz von soliden Beweisen (Forts.) Beweis. Sei n beliebige zusammengesetzte Zahl, die keine Primzahlpotenz ist. Die Menge B 1 ist definiert als B 1 = {b Z n b ist kein solider Beweis für n}. Ziel: Definition einer Menge B 2 mit (i) B 1 B 2 (ii) B 2 ist eine echte Untergruppe von Z n Hieraus folgt der Satz, denn B 1 B 2 Z n 2. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 23 / 45

24 Solide Beweise Existenz von soliden Beweisen (Forts.) Wähle nun r 1 und u so, dass n 1 = 2 r u und u ungerade. Die Zahl j ist definiert als { j = max i {0, 1,..., r 1} es gibt ein a B 1 mit a 2iu 1 (mod n) } Da 1 B 1 und u ungerade, ist ( 1) 20u 1 (mod n). Also ist j wohldefiniert. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 24 / 45

25 Solide Beweise Existenz von soliden Beweisen (Forts.) Die Menge B 2 ist definiert als B 2 = {a Z n a 2ju ±1 (mod n)}. B 1 B 2 : Wähle ein beliebiges a B 1. Demnach ist a kein solider Beweis. Also existiert ein i {0, 1,..., r 1} mit: a 2iu a 2i+1u... a 2ru 1 (mod n) Gemäß Definition von j gilt i j und somit a 2ju 1 (mod n). Also ist a B 2. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 25 / 45

26 Solide Beweise Existenz von soliden Beweisen (Forts.) B 2 ist eine Untergruppe von Z n: Wähle beliebige a, b B 2. Es gilt: (a b) 2ju a 2ju b 2ju (±1) (±1) ±1 (mod n) Also ist a b B 2. Mit ZTK (Satz 9.9) folgt, dass B 2 eine Untergruppe von Z n ist. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 26 / 45

27 Solide Beweise Existenz von soliden Beweisen (Forts.) B 2 ist eine echte Untergruppe von Z n: Laut Annahme ist n eine zusammengesetzte Zahl und keine Primzahlpotenz. Somit ist n = n 1 n 2 mit gcd(n 1, n 2 ) = 1. Anwendung des Chinesischen Restsatzes: Für alle a B 2 gilt entweder a 2ju CRT n 1,n 2 ( 1, 1) oder a 2ju CRT n 1,n 2 (1, 1) Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 27 / 45

28 Solide Beweise Existenz von soliden Beweisen (Forts.) Wähle ein a B 2 mit a 2ju 1 (mod n). Definiere b CRT n 1,n 2 (a 1, 1), wobei a 1 = a mod n 1. Es gilt: b 2j u a 2j u 1 (mod n 1 ) 1 (mod n 1 ) b 2j u 1 (mod n 2 ) Also: b 2ju CRT n 1,n 2 ( 1, 1). Folglich kann b nicht in B 2 enthalten sein. Ergebnis: B 2 ist eine echte Untergruppe von Z n. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 28 / 45

29 Ganzzahlpotenzen Erkennen von Potenzen Definition. Sei n eine natürliche Zahl. n nennt man eine Ganzzahlpotenz, falls es natürliche Zahlen b > 1 und e > 1 gibt, so dass n = b e. Entscheidungsproblem Ganzzahlpotenz: Gegeben: Natürliche Zahl n > 2 Gefragt: Ist n eine Ganzzahlpotenz? Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 29 / 45

30 Ganzzahlpotenzen Erkennen von Potenzen (Forts.) Ziel: Entwicklung eines Polynomialzeit Algorithmus für das obige Problem. Ansatz: Zwei Schritte 1. Algorithmus, der für gegebene natürliche Zahlen n > 2 und e > 2 überprüft, ob ein b N existiert, so dass n = b e. 2. Algorithmus, der für alle theoretisch möglichen Exponenten unter Einsatz von Algorithmus 1 überprüft, ob es eine passende Basis b für n gibt. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 30 / 45

31 Ganzzahlpotenzen Erkennen von Potenzen (Forts.) SearchBase(n, e) Input: Natürliche Zahlen n, e, wobei n 2 und 2 e log 2 n + 1 Output: b mit b e = n, falls ein solches b existiert, 0 sonst 1 left := 2; right := n; 2 do 3 b := left + (right left)/2; 4 x := b e ; 5 if x > n then 6 right := b; 7 else 8 left = b; 9 while x n and (right left)/2 > 0 Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 31 / 45

32 Ganzzahlpotenzen Erkennen von Potenzen (Forts.) 10 if x = n then 11 return b 12 else 13 return 0 Bemerkungen: Zur Berechnung der Basis wird Binäre Suche eingesetzt. Den Wert b e berechnet man mittels eines an die modulare Exponentation angelehntes Verfahren. Die Berechnung von b e wird abgebrochen, wenn feststeht, dass b e > n ist. Die Laufzeit von SearchBase(n, e) ist polynomial in der Größe der Binärdarstellung von n. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 32 / 45

33 Ganzzahlpotenzen Erkennen von Potenzen (Forts.) Satz. Für alle natürlichen Zahlen n gilt: Falls n eine Ganzzahlpotenz b e ist, dann gilt 1 < e log 2 n + 1. Konsequenz: Alle möglichen Werte für e können mittels SearchBase(n, e) überprüft werden Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 33 / 45

34 Ganzzahlpotenzen Erkennen von Potenzen (Forts.) PerfectPower(n) Input: Natürliche Zahl n > 2 Output: (b, e) mit b e = n, falls n eine Ganzzahlpotenz ist, false, sonst 1 found := false; e := 2 2 while e log 2 n + 1 and found = false do 3 b := SearchBase(n, e) 4 if b > 0 then 5 found := true 6 else 7 e := e if found = true then 9 return (b, e) 10 else 11 return false Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 34 / 45

35 Der Algorithmus Algorithmus Witness(a, n) Witness(a, n) Input: a, n ganze Zahlen, wobei n > 2 ungerade und 1 a n 1 Output: true, falls n keine Primzahl 1 Berechne u und r so dass n 1 = u 2 r 2 d := ModularExponentation(a, u, n); 3 for i := 1 to r do 4 x := d; 5 d := (d d) mod n 6 if (d = 1) and (x 1) and (x n 1) then 7 return true 8 if (d 1) then 9 return true 10 return false Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 35 / 45

36 Der Algorithmus Eigenschaften von Witness(a, n) Die Funktion Witness(a, n) ist eine abgewandelte Form von modularer Exponentiation. Der Algorithmus berechnet a n 1 mod n und sucht während der Berechnung nach Lösungen für die Gleichung x 2 1 (mod n), die verschieden zu 1 und n 1 sind. Falls Witness(a, n) = true, dann wird a als Beleg (engl. witness) für die Tatsache angesehen, daß n keine Primzahl ist. Ist n > 2 eine zusammengesetzte Zahl, dann existieren hierfür mindestens (n 1)/2 Belege in {1, 2,..., n 1}. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 36 / 45

37 Der Algorithmus Miller Rabin Primzahltest MillerRabinTest(n, s) Input: Natürliche Zahl n > 2, Qualitätsparameter s N Output: true, falls n eine Primzahl ist, false, sonst 1 if n mod 2 = 0 then 2 return false 3 for i := 1 to s do 4 a := Random(1, n 1) 5 if gcd(a, n) > 1 then 6 return false 7 if Witness(a, n) = true then 8 return false 9 if n ist eine Ganzzahlpotenz then 10 return false 11 return true Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 37 / 45

38 Der Algorithmus Analyse des Miller Rabin Primzahltests Satz. Sei n eine beliebige natürliche Zahl. Falls n eine Primzahl ist, dann liefert der Miller-Rabin Primzahltest immer true zurück. Falls n eine zusammengesetzte Zahl ist, dann liefert der Miller-Rabin Primzahltest mit einer Wahrscheinlichkeit von höchstens 2 s true zurück. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 38 / 45

39 Der Algorithmus Analyse des Miller Rabin Primzahltests (Forts.) Beweis. Sei n N beliebig gewählt. Falls n > 2 eine Primzahl ist, dann existieren keine soliden Beweise für die Zusammengesetztheit von n. Ferner ist n nicht gerade und es gilt gcd(a, n) = 1 für alle a {1,..., n 1}. In diesem Fall liefert der Miller-Rabin Test true zurück. Angenommen, n ist eine zusammengesetzte Zahl. Ist n gerade oder eine Ganzzahlpotenz, dann liefert der Miller-Rabin Test immer false zurück. Ist n ungerade, dann muss ein solider Beweis a für die Zusammengesetztheit von n oder ein a mit gcd(a, n) > 1 gefunden werden, damit der Miller-Rabin Test false zurückliefert. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 39 / 45

40 Der Algorithmus Analyse des Miller Rabin Primzahltests (Forts.) Analog zur Analyse von PseudoPrime(n, s) (siehe Folie 13) kann man die Wahrscheinlichkeit, dass ein solches a gezogen wird, abschätzen als ( Z n B 2 ) + (n 1 Z n ) n Folglich ist die Wahrscheinlichkeit, dass kein passendes a gezogen wird, kleiner-gleich 1 2. Damit der Miller-Rabin Test einen Fehler liefert, muss in allen s Schleifendurchläufen kein passendes a gezogen werden. Da die Durchläufe unabhängig sind, ist die Wahrscheinlichkeit hierfür kleiner-gleich ( 1 2) s. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 40 / 45

41 Bemerkungen Bemerkungen Der Miller-Rabin Primzahltest ist ein Monte Carlo Algorithmus mit einseitigem Fehler. Fallunterscheidung: Stuft der Miller-Rabin Test eine Zahl als zusammengesetzt ein, dann ist das Ergebnis immer korrekt. Stuft der Miller-Rabin Test eine Zahl als Primzahl ein, dann ist das Ergebnis mit einer Wahrscheinlichkeit von 1 2 s korrekt. Durch die Wahl von s kann die Fehlerwahrscheinlichkeit beeinflusst werden. Die Laufzeit des Miller-Rabin Tests ist polynomial in log 2 n und s. Voraussetzung für den Einsatz des Miller-Rabin Tests sind kryptographisch gute Zufallszahlen. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 41 / 45

42 Bemerkungen Primzahlpotenzen sind keine Carmichael Zahlen Satz. Eine Primzahlpotenz ist keine Carmichael Zahl. Beweis. Sei p eine ungerade Primzahl und e > 1 eine ganze Zahl. Betrachte die Zahl n = p e. Da Z n eine zyklische Gruppe ist, existiert ein erzeugendes Element g für Z n. Es gilt: φ(n) = Z n = (p 1)p e 1 Angenommen n = p e ist eine Carmichael Zahl. Dann gilt: g n 1 1 (mod n) Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 42 / 45

43 Bemerkungen Primzahlpotenzen sind keine Carmichael Z. (Forts.) Hieraus folgt, dass n 1 0 (mod φ(n)) Also ist n 1 ein Vielfaches von (p 1)p e 1, oder als Formel: n 1 = p e 1 = k(p 1)p e 1 Dies ist ein Widerspruch, denn p teilt k(p 1)p e 1, aber nicht p e 1. Anwendung des Satzes im Miller-Rabin Test: Verzicht auf die Überprüfung, ob n eine Ganzzahlpotenz ist Vorteil: bessere Laufzeit Nachteil: Risiko, dass eine Ganzzahlpotenz als Primzahl eingestuft wird Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 43 / 45

44 Generierung von Primzahlen Generierung von Primzahlen RandomPrime(l, s) Input: Natürliche Zahlen l > 0, s > 0 Output: Natürliche l-bit Zahl n, die mit Wahrscheinlichkeit 1 2 s eine Primzahl ist 1 do 2 Generiere eine l-bit Zufallszahl n 3 while MillerRabinTest(n, s) = false 4 return n Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 44 / 45

45 Zusammenfassung Zusammenfassung Primzahlen spielen für kryptographische Anwendungen eine wichtige Rolle Zieht man zufällig eine Zahl, dann stehen die Chancen gut, dass man eine Primzahl erhält. Der Miller-Rabin Primzahltest ist ein effizienter Monte Carlo Algorithmus, mit dem man überprüfen kann, ob eine Zahl eine Primzahl ist. Es gibt auch einen deterministischen Polynomialzeit Algorithmus für das Primzahlproblem. Jedoch ist dieser deutlich langsamer als der Miller-Rabin Test. Prof. Dr. C. Karg (HS Aalen) Kryptographische Protokolle Generierung von Primzahlen 45 / 45

Kryptographische Protokolle

Kryptographische Protokolle Kryptographische Protokolle Lerneinheit 4: Schlüsselvereinbarung Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2017 8.5.2017 Einleitung Einleitung In dieser Lerneinheit

Mehr

Diskrete Mathematik 1

Diskrete Mathematik 1 Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer Lösungsblatt zur Vorlesung Diskrete Mathematik 1 WS 008/09 Blatt

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

Kryptographische Algorithmen

Kryptographische Algorithmen Kryptographische Algorithmen Lerneinheit 6: Public Key Kryptosysteme Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2016/2017 19.9.2016 Public Key Kryptosysteme Einleitung

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

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

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

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

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

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

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

Algorithmentheorie Randomisierung. Robert Elsässer

Algorithmentheorie Randomisierung. Robert Elsässer Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

IT-Security. Teil 14: Primzahltest

IT-Security. Teil 14: Primzahltest IT-Security Teil 14: Primzahltest 08.05.17 1 Literatur [14-1] Willems, Wolfgang: Codierungstheorie und Kryptographie. Mathematik Kompakt, Birkhäuser, 2008 [14-2] Socher, Rolf: Algebra für Informatiker.

Mehr

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

Der Primzahltest von Agrawal, Kayal und Saxena. Dr. Gerold Jäger Der Primzahltest von Agrawal, Kayal und Saxena Dr. Gerold Jäger Habilitationsvortrag Christian-Albrechts-Universität zu Kiel Institut für Informatik 19. Januar 2011 Dr. Gerold Jäger Habilitationsvortrag

Mehr

Wiederholung. Gruppen. Untergruppen. Gruppenisomorphismen. Ordnung: Gruppe, Element Satz von Euler: a ord(g) = 1 Elementordung teilt Gruppenordnung

Wiederholung. Gruppen. Untergruppen. Gruppenisomorphismen. Ordnung: Gruppe, Element Satz von Euler: a ord(g) = 1 Elementordung teilt Gruppenordnung Wiederholung Gruppen Ordnung: Gruppe, Element Satz von Euler: a ord(g) = 1 Elementordung teilt Gruppenordnung Untergruppen Satz von Lagrange Untergruppenordnung teilt Gruppenordnung Nebenklassen von Untergruppen

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

6 Zahlentheoretische Grundlagen

6 Zahlentheoretische Grundlagen 6 Zahlentheoretische Grundlagen 89 6 Zahlentheoretische Grundlagen In diesem Abschnitt stellen wir die Hilfsmittel aus der Zahlentheorie bereit, die wir zum Verständnis der Public-Key Verfahren, die im

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

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Zahlentheorie, Arithmetik und Algebra 1 Florian Habur Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Modulare Arithmetik Rechenregeln Fast Exponentiation

Mehr

Der Miller-Rabin Primzahltest Florian Rienhardt Alle Rechte vorbehalten.

Der Miller-Rabin Primzahltest Florian Rienhardt Alle Rechte vorbehalten. 1 Der Miller-Rabin Primzahltest Der Miller-Rabin Primzahltest 2002-2009 Florian Rienhardt Alle Rechte vorbehalten. Zusammenfassung Für viele moderne Computeranwendungen, etwa für die Kryptographie, benötigt

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

Primes ist in P Der AKS-Primzahltest

Primes ist in P Der AKS-Primzahltest Primes ist in P Der AKS-Primzahltest Hans-Gert Gräbe Institut für Informatik, Universität Leipzig 10. Oktober 2003 1 Anfang August 2002 verbreitete sich die Nachricht, dass einige bis dahin unbekannte

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

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

Kryptographische Algorithmen

Kryptographische Algorithmen Kryptographische Algorithmen Lerneinheit 6: Public Key Kryptosysteme Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2016/2017 19.9.2016 Public Key Kryptosysteme Einleitung

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte Algorithmen 2. Erste Beispiele Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest

Mehr

Kryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 11. Primzahltests: Fermat, Miller-Rabin

Kryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 11. Primzahltests: Fermat, Miller-Rabin Kryptologie Bernd Borchert Univ. Tübingen SS 2017 Vorlesung Teil 11 Primzahltests: Fermat, Miller-Rabin Primzahltests Problem: Gegeben n. Ist n Primzahl? Naive Methoden: Ausprobieren: gehe der Reihe nach

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

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

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

9. Primitivwurzeln. O. Forster: Einführung in die Zahlentheorie 9. Primitivwurzeln 9.1. Satz. Sei G eine zyklische Gruppe der Ordnung m und g G ein erzeugendes Element. Das Element a := g k, k Z, ist genau dann ein erzeugendes Element von G, wenn k zu m teilerfremd

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, 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

Stichpunktezettel fürs Tutorium

Stichpunktezettel fürs Tutorium Stichpunktezettel fürs Tutorium Moritz und Dorian 11. November 009 1 Kleiner Fermat Behauptung. Seien a, b N relativ prim und b eine Primzahl. Dann ist a b 1 = 1. Beweis. Wir definieren die Funktion f

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

Zufall oder Absicht?

Zufall oder Absicht? Zufall oder Absicht? Randomisierung und Derandomisierung Prof. Markus Bläser Universität des Saarlandes 4. Januar 2010 1 / 21 Zufall oder Absicht? 1 Randomisierte Algorithmen 2 Polynom-Identitätstests

Mehr

4 Das RSA public-key System der Kryptographie 5

4 Das RSA public-key System der Kryptographie 5 Inhaltsverzeichnis 1 Kurze Einführung 1 2 Teibarkeit,größter gemeinsamer Teiler und der Algorithmus von Euklid 2 2.1 Der euklidische Algorithmus................... 3 2.2 Laufzeit des euklidischen Algorithmus..............

Mehr

Quadrate und Wurzelziehen modulo p

Quadrate und Wurzelziehen modulo p Quadrate und Wurzelziehen modulo p Sei im Folgenden p eine Primzahl größer als. Wir möchten im Körper Z p Quadratwurzeln ziehen. Die Quadrierabbildung Q :Z p Z p ist aber nicht surjektiv, daher gibt es

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt

Mehr

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

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008 Problemseminar Komplexitätstheorie und Kryptographie Martin Huschenbett Student am Institut für Informatik an der Universität Leipzig 30. Oktober 2008 1 / 33 Gliederung 1 Randomisierte Algorithmen und

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

Schleifeninvarianten. Dezimal zu Binär

Schleifeninvarianten. Dezimal zu Binär Schleifeninvarianten Mit vollstandiger Induktion lasst sich auch die Korrektheit von Algorithmen nachweisen. Will man die Werte verfolgen, die die Variablen beim Ablauf eines Algorithmus annehmen, dann

Mehr

Wahrscheinlichkeitsrechnung und Statistik

Wahrscheinlichkeitsrechnung und Statistik Babeş-Bolyai Universität Fakultät für Mathematik und Informatik Oktober 2018 Im Alltag... Laut den meteorologischen Vorhersagen wird es morgen regnen. Ob ich riskiere und die Wette verlieren werde? Ich

Mehr

Diskreter Logarithmus und Primkörper

Diskreter Logarithmus und Primkörper Diskreter Logarithmus und Primkörper Neben dem RSA-Verfahren ist die ElGamal-Verschlüsselung 8 ein weiteres klassische Public-Key-Verfahren, welches von Taher ElGamal auf der Konferenz CRYPTO 84 vorgestellt

Mehr

Pseudo-Zufallsgeneratoren basierend auf dem DLP

Pseudo-Zufallsgeneratoren basierend auf dem DLP Seminar Codes und Kryptografie SS 2004 Struktur des Vortrags Struktur des Vortrags Ziel Motivation 1 Einleitung Ziel Motivation 2 Grundlegende Definitionen Zufallsgeneratoren 3 Generator Sicherheit 4 Generator

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

3 Probabilistische Komplexitätsklassen

3 Probabilistische Komplexitätsklassen 3 Probabilistische Komplexitätsklassen 3.1 Probabilistische Turingmaschinen 3.1 Wir gehen davon aus, dass die Konzepte deterministischer und nichtdeterministischer Turingmaschinen im wesentlichen bekannt

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

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

Effiziente Algorithmen mit Python. D. Komm, T. Kohn Effiziente Algorithmen mit Python D. Komm, T. Kohn Copyright c 2017, ABZ, ETH Zürich http://www.abz.inf.ethz.ch/ Version vom 7. September 2017. Effiziente Algorithmen mit Python 3 1 Effizienz Effizient

Mehr

Algorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen

Algorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen Ludwig-Maximilians-Universität München München, 16.04.2018 Institut für Informatik Prof. Dr. Thomas Seidl Anna Beer, Florian Richter Algorithmen und Datenstrukturen SS 2018 Übungsblatt 1: Grundlagen Tutorien:

Mehr

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Vorlesung Diskrete Strukturen Die natürlichen Zahlen Vorlesung Diskrete Strukturen Die natürlichen Zahlen Bernhard Ganter WS 2009/10 Alles ist Zahl? Wenn in der modernen Mathematik alles auf Mengen aufgebaut ist, woher kommen dann die Zahlen? Sind Zahlen

Mehr

Definition der Kolmogorov-Komplexität I

Definition der Kolmogorov-Komplexität I Definition der Kolmogorov-Komplexität I Definition: Die Komplexität K A (x) eines Wortes x V + bezüglich des Algorithmus A ist die Länge der kürzesten Eingabe p {0, 1} + mit A(p) = x, d.h. in formalisierter

Mehr

PRIMES is in P. Ein Vortrag von Holger Szillat.

PRIMES is in P. Ein Vortrag von Holger Szillat. PRIMES is in P Ein Vortrag von Holger Szillat szillat@informatik.uni-tuebingen.de Übersicht Geschichte Notationen und Definitionen Der Agrawal-Kayal-Saxena-Algorithmus Korrektheit und Aufwand Fazit Geschichte

Mehr

Primzahltest in Polynomialzeit Der Algorithmus von Agrawal, Kayal und Saxena

Primzahltest in Polynomialzeit Der Algorithmus von Agrawal, Kayal und Saxena Primzahltest in Polynomialzeit Der Algorithmus von Agrawal, Kayal und Saxena 1. Worum geht es? Das Problem, um das es geht, heißt PRIMES. Es entscheidet für eine vorgegebene Zahl n > 2 die Frage, ob n

Mehr

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

Primzahltests und Faktorisierung. Primzahltests. Nuria Brede Universität Potsdam - Kryptographie SoSe 2005 Seite 1 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

Mehr

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

8. Woche Quadratische Reste und Anwendungen. 8. Woche: Quadratische Reste und Anwendungen 163/ 238 8 Woche Quadratische Reste und Anwendungen 8 Woche: Quadratische Reste und Anwendungen 163/ 238 Quadratische Reste Ḋefinition Quadratischer Rest Sei n N Ein Element a Z n heißt quadratischer Rest in Z

Mehr

Seminararbeit. Seminar IT-Sicherheit. Efficient Number-Theoretic Algorithms

Seminararbeit. Seminar IT-Sicherheit. Efficient Number-Theoretic Algorithms Fachhochschule Wedel Studiengang: Wirtschaftsinformatik Sommersemester 016 Seminararbeit Seminar IT-Sicherheit Efficient Number-Theoretic Algorithms vorgelegt von: Antonio Galeazzi Matrikelnummer: 100183

Mehr

Vortrag zum Proseminar: Kryptographie

Vortrag zum Proseminar: Kryptographie Vortrag zum Proseminar: Kryptographie Thema: Oliver Czernik 6.12.2005 Historie Michael Rabin Professor für Computerwissenschaft Miller-Rabin-Primzahltest Januar 1979 April 1977: RSA Asymmetrisches Verschlüsselungssystem

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

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

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben

Mehr

Zahlentheorie, Arithmetik und Algebra 1

Zahlentheorie, Arithmetik und Algebra 1 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

Mehr

Interim. Kapitel Einige formale Definitionen

Interim. Kapitel Einige formale Definitionen Kapitel 1 Interim Da ich keine Infos über Titel und Nummerierungen anderer Kapitel dieser Vorlesung habe, nenne ich dies einfach mal Kapitel 1. 17.11.04 1.1 Einige formale Definitionen Wir rekapitulieren

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

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Vorlesung Diskrete Strukturen Die natürlichen Zahlen Vorlesung Diskrete Strukturen Die natürlichen Zahlen 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

Mehr

Elliptic Curve Cryptography

Elliptic Curve Cryptography Elliptic Curve Cryptography Institut für Informatik Humboldt-Universität zu Berlin 10. November 2013 ECC 1 Aufbau 1 Asymmetrische Verschlüsselung im Allgemeinen 2 Elliptische Kurven über den reellen Zahlen

Mehr

Kryptografische Protokolle

Kryptografische Protokolle Kryptografische Protokolle Lerneinheit 1: Zufallszahlengeneratoren Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 1.4.2016 Einleitung Einleitung Zufallszahlen spielen

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 20 (9.7.2018) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)

Mehr

Exponentiation: das Problem

Exponentiation: das Problem Problemstellung Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element a n = } a a a {{ a } H n (schreiben ab jetzt a n statt a n ) Hinweis:

Mehr

Elliptische Kurven in der Kryptographie, Teil III. 1 Supersingularität

Elliptische Kurven in der Kryptographie, Teil III. 1 Supersingularität Elliptische Kurven in der Kryptographie, Teil III Vortrag zum Seminar zur Funktionentheorie, 03.1.007 Julia Baumgartner In diesem Vortrag wollen wir supersinguläre elliptische Kurven betrachten und dann

Mehr

Monte-Carlo-Algorithmen für innermathematische Fragestellungen

Monte-Carlo-Algorithmen für innermathematische Fragestellungen Monte-Carlo-Algorithmen für innermathematische Fragestellungen Katharina Klembalski Humboldt-Universität Berlin 30. August 2012 Warum Monte-Carlo-Algorithmen im Mathematikunterricht? schriftl. Addieren

Mehr

Rabin Verschlüsselung 1979

Rabin Verschlüsselung 1979 Rabin Verschlüsselung 1979 Idee: Rabin Verschlüsselung Beobachtung: Berechnen von Wurzeln in Z p ist effizient möglich. Ziehen von Quadratwurzeln in Z N ist äquivalent zum Faktorisieren. Vorteil: CPA-Sicherheit

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

Der euklidische Algorithmus für ganze Zahlen

Der euklidische Algorithmus für ganze Zahlen Der euklidische Algorithmus für ganze Zahlen Ein unverzichtbares Verfahren in der Kryptographie ist der euklidische Algorithmus. In diesem Kapitel stellen wir die erste Version für ganze Zahlen vor. Sei

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

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

Cognitive Interaction Technology Center of Excellence

Cognitive Interaction Technology Center of Excellence Kanonische Abdeckung Motivation: eine Instanz einer Datenbank muss nun alle funktionalen Abhängigkeiten in F + erfüllen. Das muss natürlich immer überprüft werden (z.b. bei jedem update). Es reicht natürlich

Mehr

3 Public-Key-Kryptosysteme

3 Public-Key-Kryptosysteme Stand: 05.11.2013 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger 3 Public-Key-Kryptosysteme 3.1 Verschlüsselung von Nachrichten Wir betrachten ganz einfache Kommunikationsszenarien.

Mehr

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekte mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Satz 94 Sei b N 0 und p N eine Primzahl. Dann gilt:

Satz 94 Sei b N 0 und p N eine Primzahl. Dann gilt: 5.6 Satz von Fermat Satz 94 Sei b N 0 und p N eine Primzahl. Dann gilt: b p b mod p, (falls b 0 mod p : b p 1 1 mod p) (gemeint ist: die Gleichung b p = b gilt modulo p) Diskrete Strukturen 5.6 Satz von

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 20 (13.7.2016) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)

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

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

Diskrete Mathematik. Christina Kohl Georg Moser Oleksandra Panasiuk Christian Sternagel Vincent van Oostrom Diskrete Mathematik Christina Kohl Georg Moser Oleksandra Panasiuk Christian Sternagel Vincent van Oostrom Institut für Informatik @ UIBK Sommersemester 2017 Zusammenfassung Zusammenfassung der letzten

Mehr

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

Zahlentheorie, Arithmetik und Algebra I. Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I Felix Teufel 26.07.2017 Hallo Welt! -Seminar - LS 2 Überblick Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Eulersche Φ-Funktion RSA Quellen 26.07.2017

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

Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element

Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element Problemstellung Banale smethode : das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element a n = } a a a {{ a } H n (schreiben ab jetzt a n statt a n ) Hinweis:

Mehr

Proseminar SS08 - Miller-Rabin-Primzahltest

Proseminar SS08 - Miller-Rabin-Primzahltest Proseminar SS08 - Miller-Rabin-Primzahltest von Technische Unviersität München Vorlesung Perlen der Informatik 2, 2008 Professor Tobias Nipkow 17. April 2008 Inhaltsverzeichnis 1 Einleitung 3 2 Primzahltests

Mehr

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0. 8.4 Digraphen mit negativen Kantengewichten 8.4.1 Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0. k 4 5 1 s 1 3 2 C k 0 k 3 1 1 1 k 1 k 2 v Sollte ein Pfad von s nach C und

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am..03 Randomisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Probabilistische Algorithmen

Probabilistische Algorithmen Proseminar Theoretische Informatik 02.02.2016 Diane Hanke, Alexander Korzec Probabilistische Algorithmen Wolfgang Mulzer 1 Einführung 1.1 Probabilistischer Algorithmus Definition 1. [Probabilistischer

Mehr

p Z >1 ist Primzahl, wenn gilt Euklid:

p Z >1 ist Primzahl, wenn gilt Euklid: Grundlegende Tatsachen über den Ring Z Z; +, ist ein nullteilerfreier Ring Divisionseigenschaft a Z, b Z > q, r Z : a = b q + r, r < b Arithmetik Grundlegende Tatsachen über den Ring Z Euklidischer Algorithmus

Mehr

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1) für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Asymptotische Komplexität): Ordnen Sie die folgenden Funktionen nach

Mehr

Relationen und DAGs, starker Zusammenhang

Relationen und DAGs, starker Zusammenhang Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind

Mehr

Beispiel 85. Satz 86 Eine Unteralgebra (bzgl. ) einer Gruppe ist eine Untergruppe, falls sie unter der Inversenbildung 1 abgeschlossen ist.

Beispiel 85. Satz 86 Eine Unteralgebra (bzgl. ) einer Gruppe ist eine Untergruppe, falls sie unter der Inversenbildung 1 abgeschlossen ist. 5.4 Untergruppen Definition 84 Eine Unteralgebra T,, 1 einer Gruppe G = S,, 1 heißt Untergruppe von G, falls T,, 1 eine Gruppe ist. Bemerkung: Nicht jede Unteralgebra einer Gruppe ist eine Untergruppe!

Mehr

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

IT-Security. Teil 8b: Rechnen mit beliebiger Genauigkeit Algorithmen IT-Security Teil 8b: Rechnen mit beliebiger Genauigkeit Algorithmen 06.06.17 1 Überblick Potenzieren Quadrieren Euklid'scher Algorithmus In den meisten Fällen wird nur mit positiven Werten gerechnet. Bei

Mehr

7 Der kleine Satz von Fermat

7 Der kleine Satz von Fermat 7 Der kleine Satz von Fermat Polynomkongruenz modulo p. Sei p eine Primzahl, n 0 und c 0,..., c n Z. Wir betrachten die Kongruenz ( ) c 0 + c 1 X +... + c n 1 X n 1 + c n X n 0 mod p d.h.: Wir suchen alle

Mehr