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

Größe: px
Ab Seite anzeigen:

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

Transkript

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

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

3 Modulare Arithmetik

4 Modulare Arithmetik (1) - Motivation Motivation Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 4

5 Modulare Arithmetik (1) - Motivation Motivation Rechnen mit Integern: Rest der Division Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 5

6 Modulare Arithmetik (1) - Motivation Motivation Rechnen mit Integern: Rest der Division Große Zahlen, bei denen n letzte Stellen interessieren Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 6

7 Modulare Arithmetik (1) - Motivation Motivation Rechnen mit Integern: Rest der Division Große Zahlen, bei denen n letzte Stellen interessieren zum Beispiel ISBN-Nummern Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 7

8 Modulare Arithmetik (1) - Motivation Motivation Rechnen mit Integern: Rest der Division Große Zahlen, bei denen n letzte Stellen interessieren zum Beispiel ISBN-Nummern Kalenderrechnung Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 8

9 Modulare Arithmetik (1) - Motivation Motivation Rechnen mit Integern: Rest der Division Große Zahlen, bei denen n letzte Stellen interessieren zum Beispiel ISBN-Nummern Kalenderrechnung Viele kryptographische Verfahren benötigen Modulo Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 9

10 Modulare Arithmetik (2) - Rechenregeln Rechenregeln (1) Für Zahlen x, y, m Z, c N, c m

11 Modulare Arithmetik (2) - Rechenregeln Rechenregeln (1) Für Zahlen x, y, m Z, c N, c m (x + y) mod m = (x mod m + y mod m) mod m

12 Modulare Arithmetik (2) - Rechenregeln Rechenregeln (1) Für Zahlen x, y, m Z, c N, c m (x + y) mod m = (x mod m + y mod m) mod m (x y) mod m = (x mod m y mod m) mod m

13 Modulare Arithmetik (2) - Rechenregeln Rechenregeln (1) Für Zahlen x, y, m Z, c N, c m (x + y) mod m = (x mod m + y mod m) mod m (x y) mod m = (x mod m y mod m) mod m (x y) mod m = ((x mod m) (y mod m)) mod m

14 Modulare Arithmetik (2) - Rechenregeln Rechenregeln (1) Für Zahlen x, y, m Z, c N, c m (x + y) mod m = (x mod m + y mod m) mod m (x y) mod m = (x mod m y mod m) mod m (x y) mod m = ((x mod m) (y mod m)) mod m x y mod m = ((x mod m) y ) mod m

15 Modulare Arithmetik (2) - Rechenregeln Rechenregeln (1) Für Zahlen x, y, m Z, c N, c m (x + y) mod m = (x mod m + y mod m) mod m (x y) mod m = (x mod m y mod m) mod m (x y) mod m = ((x mod m) (y mod m)) mod m x y mod m = ((x mod m) y ) mod m ((x c) (y c)) mod (m c) = (x y) mod m Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 15

16 Modulare Arithmetik (3)- Rechenregeln Achtung bei Division Division funktioniert mittels Multiplikation des Inversen. Dementsprechend ist eine Division nur möglich, wenn dieses auch existiert. Durch 0 teilen geht hier natürlich auch nicht Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 16

17 Modulare Arithmetik (3)- Rechenregeln Achtung bei Division Division funktioniert mittels Multiplikation des Inversen. Dementsprechend ist eine Division nur möglich, wenn dieses auch existiert. Durch 0 teilen geht hier natürlich auch nicht. Rechenregeln (2) y y -1 1 mod m (x y) mod m = (x y -1 ) mod m Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 17

18 Modulare Arithmetik (4) - Programmierung Achtung: %!= mod Modulo ist definiert als Rest der Division. % dagegen kann je nach Programmmiersprache auch negative Werte liefern Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 18

19 Modulare Arithmetik (4) - Programmierung Achtung: %!= mod Modulo ist definiert als Rest der Division. % dagegen kann je nach Programmmiersprache auch negative Werte liefern. Beispiel In Java,C,..: 15 mod 4 = 3 Python: 15 mod 4 = Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 19

20 Modulare Arithmetik (4) - Programmierung Achtung: %!= mod Modulo ist definiert als Rest der Division. % dagegen kann je nach Programmmiersprache auch negative Werte liefern. Beispiel In Java,C,..: 15 mod 4 = 3 Python: 15 mod 4 = 1 Tipp Um positive Werte zu garantieren funktioniert: (x%y) (x%y + y)%y Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 20

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

22 Modulare Arithmetik (5) - Fast Exponentiation von x y Naive Exponentiation hat eine Laufzeit von O(y) Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 22

23 Modulare Arithmetik (5) - Fast Exponentiation von x y Naive Exponentiation hat eine Laufzeit von O(y) Idee: Mit Quadrieren eine Laufzeit von O(log y) erreichen Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 23

24 Modulare Arithmetik (5) - Fast Exponentiation von x y Naive Exponentiation hat eine Laufzeit von O(y) Idee: Mit Quadrieren eine Laufzeit von O(log y) erreichen. Formel Fast Exp 1, y = 0 x y = x y-1 x, y%2 = 1 x y/2 x y/2, sonst Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 24

25 Modulare Arithmetik (6) - Fast Exponentiation mod m 1 long fast_exp_mod(long x, long y, long mod){ 2 if(y==0){ 3 return 1; 4 } 5 if(y % 2==1){ 6 return ( x * fast_exp_mod(x,y-1,mod)) % mod; 7 } 8 else{ 9 return ( fast_exp_mod(x,y/2,mod) * fast_exp_mod(x,y/2,mod)) % mod; 10 } 11 } Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 25

26 Modulare Arithmetik (7) - Modulare Inverse Fermat s kleiner Satz Mit Primzahl p und a Z muss a p a Vielfaches von p sein: a p a mod p Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 26

27 Modulare Arithmetik (7) - Modulare Inverse Fermat s kleiner Satz Mit Primzahl p und a Z muss a p a Vielfaches von p sein: a p a mod p 1 public static long mod_inv(long x, long prime){ 2 return fast_exp_mod(x,prime-2,prime) 3 } Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 27

28 Größter gemeinsamer Teiler

29 Größter gemeinsamer Teiler (1) - ggt Euklid Idee Euklid s Algorithmus Der Algorithmus beruht darauf, dass sich der ggt zweier Zahlen nicht ändert, wenn man die Kleinere von der Größeren subtrahiert. Die Modulo-Operation liefert uns die kleinste Zahl > 0 nach n Subtraktionen Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 29

30 Größter gemeinsamer Teiler (1) - ggt Euklid Idee Euklid s Algorithmus Der Algorithmus beruht darauf, dass sich der ggt zweier Zahlen nicht ändert, wenn man die Kleinere von der Größeren subtrahiert. Die Modulo-Operation liefert uns die kleinste Zahl > 0 nach n Subtraktionen. PseudoCode Euklid setze n = 0, a 0 = a, b 0 = b if b n == 0 return a n berechne q n und r n anhand: a n = b n q n + r n und 0 r n b n setze a n+1 = b n, b n+1 = r n setze n = n + 1 goto if Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 30

31 Größter gemeinsamer Teiler (2) Code ggt 1 public static long gcd(long a, long b){ 2 while(b > 0){ 3 long tmp = a % b; 4 a = b; 5 b = tmp; 6 } 7 return a; 8 } Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 31

32 Größter gemeinsamer Teiler (3) - Erweiterung ggt Euklid Lemma von Bėzout Der ggt zweier Zahlen a,b Z lässt sich als Linearkombination von a und b mit ganzzahligen Koeffizienten darstellen Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 32

33 Größter gemeinsamer Teiler (3) - Erweiterung ggt Euklid Lemma von Bėzout Der ggt zweier Zahlen a,b Z lässt sich als Linearkombination von a und b mit ganzzahligen Koeffizienten darstellen. Damit folgt ggt(a,b)=s a + t b mit s,t Z Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 33

34 Größter gemeinsamer Teiler (3) - Erweiterung ggt Euklid Lemma von Bėzout Der ggt zweier Zahlen a,b Z lässt sich als Linearkombination von a und b mit ganzzahligen Koeffizienten darstellen. Damit folgt ggt(a,b)=s a + t b mit s,t Z Berechnung der Linearkombination Diese Linearkombination lässt sich mit Hilfe des erweiterten Euklids berechnen: Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 34

35 Größter gemeinsamer Teiler (4) PseudoCode Erweiterung ggt PseudoCode erweiterter Euklid setze n = 0, a 0 = a, b 0 = b setze neue Variablen s 0 = 1, t 0 = 0, u 0 = 0 v 0 = 1 if b n == 0 return (a n ) berechne q n und r n anhand: a n = b n q n + r n und 0 r n b n setze a n+1 = b n, b n+1 = r n, s n+1 = u n, t n+1 = v n berechne u n+1 = s n u n q n berechne v n+1 = t n v n q n setze n = n + 1 goto if Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 35

36 Größter gemeinsamer Teiler (5) Code Erweiterung ggt 1 public static long gcd_extended(long a, long b){ 2 long q,r,s,t,saves,savet; 3 long u=t=1; 4 long v=s=0; 5 while(b > 0){ 6 q=a/b; 7 r= a-q*b; 8 a=b; 9 b=r; 10 saves=s; 11 savet=t; 12 s=u; 13 t=v; 14 u=saves-u*q; 15 v=savet-v*q; 16 } 17 return a; 18 } Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 36

37 Größter gemeinsamer Teiler (6) Beispiel Beispiel erweiterter Euklid gcd_extended(48, 18) q 0 = 2, r 0 = 12, a 1 = 18, b 1 = 12, s 1 = 0, t 1 = 1, u 1 = 1, v 1 = 2 q 1 = 1, r 1 = 6, a 2 = 12, b 2 = 6, s 2 = 1, t 2 = 2, u 2 = 1, v 2 = 3 q 2 = 2, r 2 = 0, a 3 = 6, b 3 = 0, s 3 = 1, t 3 = 3, u 3 = 3, v 3 = 8 return a 3 Ergebnis der Linearkombination also: gcd_extended(48, 18) = = Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 37

38 Größter gemeinsamer Teiler (7) - Nachbetrachtung Weitere Betrachtung Lemma von Bėzout Für a,b teilerfremd ggt(a,b)=1.

39 Größter gemeinsamer Teiler (7) - Nachbetrachtung Weitere Betrachtung Lemma von Bėzout Für a,b teilerfremd ggt(a,b)=1. Damit ist offensichtlich, dass mit ggt(a,b)=s a + t b s das multiplikativ Inverse zu a mod b und t das multiplikativ Inverse zu b mod a ist Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 39

40 Primzahlen

41 Primzahlen (1) Definition Eine Zahl n N, n > 1 heißt Primzahl, wenn sie nur durch sich selbst und durch 1 teilbar ist. Ansonsten nennt man n zusammengesetzt Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 41

42 Primzahlen (1) Definition Eine Zahl n N, n > 1 heißt Primzahl, wenn sie nur durch sich selbst und durch 1 teilbar ist. Ansonsten nennt man n zusammengesetzt. Achtung Die Zahlen 0 und 1 sind weder prim noch zusammengesetzt Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 42

43 Primzahlen (1) Definition Eine Zahl n N, n > 1 heißt Primzahl, wenn sie nur durch sich selbst und durch 1 teilbar ist. Ansonsten nennt man n zusammengesetzt. Achtung Die Zahlen 0 und 1 sind weder prim noch zusammengesetzt. ICPC-Tipp Da 2 die einzige gerade Primzahl ist, lohnt es sich oft diese gesondert zu betrachten Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 43

44 Primzahlen (2) - Primzahltests 1 private static boolean isprime(int n) { 2 if(n==1){ 3 return false; 4 } 5 if(n==2){ 6 return true; 7 } 8 if (n% 2==0){ 9 return false; 10 } 11 for (int i=3; i*i <=n; i+=2){ 12 if (n%i==0){ 13 return false; 14 } 15 } 16 return true; 17 } Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 44

45 Primzahlen (3) - Sieb des Erathostenes 1 boolean noprime [] = new boolean [var_end_interval]; 2 private static boolean sieberathostenes(int n){ 3 noprime[0]=true; 4 noprime[1]=true; 5 for(int i=2;i*i<=noprime.length;i++){ 6 if(noprime[i]){ 7 continue; 8 } 9 for(int j=i*i;j<noprime.length;j+=i){ 10 noprime[j]=true; 11 } 12 } 13 } Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 45

46 Primzahlen (4) - Faktorisierung Fundamentalsatz der Artihmetik Jede Zahl n N besitzt eine eindeutige Primfaktorzerlegung. Das heißt es gibt eindeutig bestimmte Exponenten v p (n) N 0 mit folgender Produktdarstellung: n = p v p(n) p Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 46

47 Primzahlen (5) - Faktorisierung PseudoCode 1 privat leer primfaktorisierung(lang n){ 2 solange(n durch 2 teilbar){ 3 faktorenliste.add(2); 4 teile n durch 2; 5 } 6 lang iter=3; 7 solange(iter<=wurzel(n+1)){ 8 wenn(n durch iter teilbar){ 9 faktorenliste.add(iter); 10 teile n durch iter; 11 } 12 sonst{ 13 erhohe iter um 2; 14 } 15 } 16 wenn(n>1){ 17 faktorenliste.add(n); 18 } 19 } Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 47

48 Primzahlen (6) - Faktorisierung Laufzeit Laufzeit Faktorisierung Die Laufzeit liegt offensichtlich in O( n) Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 48

49 Primzahlen (7) - Pollardρ-Methode Ziel Finden eines Teilers p einer zusammengesetzten Zahl n Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 49

50 Primzahlen (7) - Pollardρ-Methode Ziel Finden eines Teilers p einer zusammengesetzten Zahl n Vorgehen Erzeuge mit beliebiger Funktion eine Zahlenfolge mod n

51 Primzahlen (7) - Pollardρ-Methode Ziel Finden eines Teilers p einer zusammengesetzten Zahl n Vorgehen Erzeuge mit beliebiger Funktion eine Zahlenfolge mod n Damit wiederholen sich die Funktionswerte nach spätestens n Iterationen = Zyklus.

52 Primzahlen (7) - Pollardρ-Methode Ziel Finden eines Teilers p einer zusammengesetzten Zahl n Vorgehen Erzeuge mit beliebiger Funktion eine Zahlenfolge mod n Damit wiederholen sich die Funktionswerte nach spätestens n Iterationen = Zyklus. Wenn x i x j mod p folgt x i x j muss Vielfaches von p sein.

53 Primzahlen (7) - Pollardρ-Methode Ziel Finden eines Teilers p einer zusammengesetzten Zahl n Vorgehen Erzeuge mit beliebiger Funktion eine Zahlenfolge mod n Damit wiederholen sich die Funktionswerte nach spätestens n Iterationen = Zyklus. Wenn x i x j mod p folgt x i x j muss Vielfaches von p sein. Dann folgt: p ggt ( x i x j, n) ist Teiler von n Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 53

54 Primzahlen (8) - Pollardρ-Methode Code 1 private static long pollrho(long n){ 2 long runner1 = (long)(math.random() * (n-1)); 3 long runner2 = runner1; 4 long p=1; 5 while(p==1){ 6 runner1 = myfunc(runner1); 7 runner2 = myfunc(myfunc(runner2)); 8 if(runner1==runner2){ //ALARM,ALARM: ZYKLUS 9 return-1; 10 } 11 p=ggt(math.abs(runner1-runner2),n); 12 } 13 return p; //natuerlich noch eine myfunc definieren 16 //beliebige Funktion mit mod n 17 //zb f(x)=(x*x+3)%n Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 54

55 Primzahlen (9) - Pollardρ-Methode Terminierung Terminiert offensichtlich mit gefundenem Teiler p oder mit Abbruch wenn Zyklus erkannt Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 55

56 Primzahlen (9) - Pollardρ-Methode Terminierung Terminiert offensichtlich mit gefundenem Teiler p oder mit Abbruch wenn Zyklus erkannt. Laufzeit Laufzeit, sofern p gefunden, liegt in O( p) Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 56

57 Primzahlen (9) - Pollardρ-Methode Terminierung Terminiert offensichtlich mit gefundenem Teiler p oder mit Abbruch wenn Zyklus erkannt. Laufzeit Laufzeit, sofern p gefunden, liegt in O( p). Terminierung Kein Ergebnis wenn Zyklus erkannt. Dann myfunc(x) ändern bis Ergebnis erhalten Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 57

58 Eulersche Φ-Funktion

59 Eulersche Φ-Funktion (1) Definition eulersche Φ-Funktion Gibt an, wie viele zu n teilerfremde natürliche Zahlen es gibt. Φ(n) : {a N 1 a n ggt (a, n) = 1} Als allgemeine Berechnungsformel: Φ(n) = n (1 1 p ) p n Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 59

60 Eulersche Φ-Funktion (1) Definition eulersche Φ-Funktion Gibt an, wie viele zu n teilerfremde natürliche Zahlen es gibt. Φ(n) : {a N 1 a n ggt (a, n) = 1} Als allgemeine Berechnungsformel: Φ(n) = n (1 1 p ) Hint p n Da Primzahlen per Definition nur durch sich selbst und 1 teilbar sind, folgt trivial für Primzahl p: Φ(p) = p 1 Dies ist Grundlage für den eulerschen Satz: a Φ(n) 1 mod n Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 60

61 Eulersche Φ-Funktion (2) - Code 1 public static int phi_eule(int n){ 2 int a=0; 3 int ggta; 4 for(int i=1;i<n;i++){ 5 ggta=gcd(n,i); 6 if(ggta==1){ 7 a++; 8 } 9 } 10 return a; 11 } Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 61

62 RSA

63 RSA Algorithmus (1) - Schlüsselerzeugung Algorithmus Schlüsselerzeugung Public key (e,n) und private key (d,n) mit RSA-modul N, Verschlüsselungsexponent e, Entschlüsselungsexponent d

64 RSA Algorithmus (1) - Schlüsselerzeugung Algorithmus Schlüsselerzeugung Public key (e,n) und private key (d,n) mit RSA-modul N, Verschlüsselungsexponent e, Entschlüsselungsexponent d Wähle stochastisch unabhängig zwei zufällige Primzahlen p, q mit p q

65 RSA Algorithmus (1) - Schlüsselerzeugung Algorithmus Schlüsselerzeugung Public key (e,n) und private key (d,n) mit RSA-modul N, Verschlüsselungsexponent e, Entschlüsselungsexponent d Wähle stochastisch unabhängig zwei zufällige Primzahlen p, q mit p q N = p q

66 RSA Algorithmus (1) - Schlüsselerzeugung Algorithmus Schlüsselerzeugung Public key (e,n) und private key (d,n) mit RSA-modul N, Verschlüsselungsexponent e, Entschlüsselungsexponent d Wähle stochastisch unabhängig zwei zufällige Primzahlen p, q mit p q N = p q Φ(N) = (p 1) (q 1)

67 RSA Algorithmus (1) - Schlüsselerzeugung Algorithmus Schlüsselerzeugung Public key (e,n) und private key (d,n) mit RSA-modul N, Verschlüsselungsexponent e, Entschlüsselungsexponent d Wähle stochastisch unabhängig zwei zufällige Primzahlen p, q mit p q N = p q Φ(N) = (p 1) (q 1) Wähle zu Φ(N) eine teilerfremde Zahl e, mit 1 < e < Φ(N)

68 RSA Algorithmus (1) - Schlüsselerzeugung Algorithmus Schlüsselerzeugung Public key (e,n) und private key (d,n) mit RSA-modul N, Verschlüsselungsexponent e, Entschlüsselungsexponent d Wähle stochastisch unabhängig zwei zufällige Primzahlen p, q mit p q N = p q Φ(N) = (p 1) (q 1) Wähle zu Φ(N) eine teilerfremde Zahl e, mit 1 < e < Φ(N) Berechne d anhand der Kongruenzbedingung : e d 1 mod Φ(N) Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 68

69 RSA Algorithmus (2) - Ver- und Entschlüsselung Algorithmus Verschlüsselung Zu verschlüsselnder Text t und Geheimtext g Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 69

70 RSA Algorithmus (2) - Ver- und Entschlüsselung Algorithmus Verschlüsselung Zu verschlüsselnder Text t und Geheimtext g Konvertiere t mittels ASCII-Code in Zahlenfolge z Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 70

71 RSA Algorithmus (2) - Ver- und Entschlüsselung Algorithmus Verschlüsselung Zu verschlüsselnder Text t und Geheimtext g Konvertiere t mittels ASCII-Code in Zahlenfolge z Konvertiere z in Binärcode b Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 71

72 RSA Algorithmus (2) - Ver- und Entschlüsselung Algorithmus Verschlüsselung Zu verschlüsselnder Text t und Geheimtext g Konvertiere t mittels ASCII-Code in Zahlenfolge z Konvertiere z in Binärcode b Teile b in Blöcke gleicher Größe ein Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 72

73 RSA Algorithmus (2) - Ver- und Entschlüsselung Algorithmus Verschlüsselung Zu verschlüsselnder Text t und Geheimtext g Konvertiere t mittels ASCII-Code in Zahlenfolge z Konvertiere z in Binärcode b Teile b in Blöcke gleicher Größe ein g = bblock e mod N Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 73

74 RSA Algorithmus (2) - Ver- und Entschlüsselung Algorithmus Verschlüsselung Zu verschlüsselnder Text t und Geheimtext g Konvertiere t mittels ASCII-Code in Zahlenfolge z Konvertiere z in Binärcode b Teile b in Blöcke gleicher Größe ein g = bblock e mod N Algorithmus Entschlüsselung bblock = g d mod N Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 74

75 RSA Algorithmus (2) - Ver- und Entschlüsselung Algorithmus Verschlüsselung Zu verschlüsselnder Text t und Geheimtext g Konvertiere t mittels ASCII-Code in Zahlenfolge z Konvertiere z in Binärcode b Teile b in Blöcke gleicher Größe ein g = bblock e mod N Algorithmus Entschlüsselung bblock = g d mod N Konvertiere in Binärcode b in Zahlenfolge z Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 75

76 RSA Algorithmus (2) - Ver- und Entschlüsselung Algorithmus Verschlüsselung Zu verschlüsselnder Text t und Geheimtext g Konvertiere t mittels ASCII-Code in Zahlenfolge z Konvertiere z in Binärcode b Teile b in Blöcke gleicher Größe ein g = bblock e mod N Algorithmus Entschlüsselung bblock = g d mod N Konvertiere in Binärcode b in Zahlenfolge z Konvertiere Zahlenfolge z mittels ASCII-Code in Text Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 76

77 Quellen

78 Quellen I Alle Webseiten aufgerufen am : moduloarithmetik: http: // prof-wolfgang-m-ruppert/kryptographie-ii-ss-2017/ moduloarithmetik2: http: // prof-wolfgang-m-ruppert/kryptographie-ss-2016/ modinv : Thread&threadID=642253&start=0&mc=10 gcd Code : common_divisor#iterative_euclid.27s_algorithm Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 78

79 Quellen II gcd extended Code : teaching/ss2008/elegantealgorithmen/skript.pdf Pseudocode gcd,gcdextended : uni-bayreuth.de/stoll/teaching/dioph/skript.pdf RSA : https: // Code aus Wikitemplates Vortrag aus dem SS16 : teaching/ss2016/hallowelt/zaa1_2016.pdf Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 79

80 Quellen III Vortrag aus dem SS15 : teaching/ss2015/hallowelt/zaa1_2015.pdf Vortrag aus dem SS14 : teaching/ss2014/hallowelt/zaa1_2014.pdf be smart : imgflip.com Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 80

81 Noch Fragen?...aber bitte keine schweren ;) Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I 81

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

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

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

. Zahlentheorie, Arithmetik und Algebra I. Tobias Polzer. Tobias Polzer Zahlentheorie, Arithmetik und Algebra I.. / Zahlentheorie, Arithmetik und Algebra I Tobias Polzer Tobias Polzer Zahlentheorie, Arithmetik und Algebra I / Modulare Arithmetik Motivation Rechenregeln schnelle Potenzierung Gemeinsame Teiler euklidischer

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

Zahlentheorie, Arithmetik und Algebra I

Zahlentheorie, Arithmetik und Algebra I Zahlentheorie, Arithmetik und Algebra I Viktoria Ronge 04.06.2014 Viktoria Ronge Zahlentheorie, Arithmetik und Algebra I 04.06.2014 1 / 63 Übersicht 1 Modulare Arithmetik 2 Primzahlen 3 Verschiedene Teiler

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

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

Form der Äquivalenzklassen

Form der Äquivalenzklassen Form der Äquivalenzklassen Anmerkung: Es gilt a = a ± m = a ± 2m =... = a + km mod m für alle k Z. Wir schreiben auch {x Z x = a + mk, k Z} = a + mz. Es gibt m verschiedene Äquivalenzklassen modulo m:

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

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

2011W. Vorlesung im 2011W  Institut für Algebra Johannes Kepler Universität Linz und Was ist? Mathematik und Institut für Algebra Johannes Kepler Universität Linz Vorlesung im http://www.algebra.uni-linz.ac.at/students/win/ml und Was ist? Inhalt Was ist? und Was ist? Das ist doch logisch!

Mehr

Vorlesung Mathematik 2 für Informatik

Vorlesung Mathematik 2 für Informatik Vorlesung Mathematik 2 für Informatik Inhalt: Modulare Arithmetik Lineare Algebra Vektoren und Matrizen Lineare Gleichungssysteme Vektorräume, lineare Abbildungen Orthogonalität Eigenwerte und Eigenvektoren

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

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

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren

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

Mehr

3. Diskrete Mathematik

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

Mehr

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

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

PRIMZAHLEN UND DIE RSA-VERSCHLÜSSELUNG

PRIMZAHLEN UND DIE RSA-VERSCHLÜSSELUNG PRIMZAHLEN UND DIE RSA-VERSCHLÜSSELUNG FLORIAN KRANHOLD Kurfürst-Salentin-Gymnasium Andernach Zusammenfassung. Verschlüsselungstechniken und -mechanismen sind aus unserem alltäglichen Leben nicht mehr

Mehr

Bsp. Euklidischer Algorithmus

Bsp. Euklidischer Algorithmus Bsp. Euklidischer Algorithmus Bsp: Berechne ggt(93, 42) mittels EUKLID. 93 2 42 = 9 42 4 9 = 6 9 1 6 = 3 6 2 3 = 0 D.h. ggt(93, 42) = 3. Durch Rücksubstitution erhalten wir die Bézout-Koeffizienten x,

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

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

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?

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? Kapitel 6 Zahlentheorie Verständnisfragen Sachfragen 1. Erläutern Sie die ganzzahlige Division! 2. Was versteht man unter a mod b für a, b Z? 3. Erläutern sie a b für a, b Z! 4. Was ist eine Primzahl?

Mehr

Diskrete Mathematik Kongruenzen

Diskrete Mathematik Kongruenzen Diskrete Mathematik Kongruenzen 31. Mai 2006 1 Inhaltsverzeichnis 1. Einleitung 2. Prime Restklassen 3. Die Sätze von Euler und Fermat 4. Lineare Kongruenzen 5. Systeme 2 Einleitung 3 Fragestellung Wie

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

3.5 Kryptographie - eine Anwendung der Kongruenzrechnung

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

Mehr

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

Asymmetrische Kryptographie u

Asymmetrische Kryptographie u Asymmetrische Kryptographie u23 2015 Simon, Florob e.v. https://koeln.ccc.de Cologne 2015-10-05 1 Zahlentheorie Modulare Arithmetik Algebraische Strukturen Referenzprobleme 2 Diffie-Hellman Diffie-Hellman-Schlüsselaustausch

Mehr

Kapitel III Ringe und Körper

Kapitel III Ringe und Körper Kapitel III Ringe und Körper 1. Definitionen und Beispiele Definition 117 Eine Algebra A = S,,, 0, 1 mit zwei zweistelligen Operatoren und heißt ein Ring, falls R1. S,, 0 eine abelsche Gruppe mit neutralem

Mehr

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

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

Mehr

Grundlagen der Arithmetik und Zahlentheorie

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

Mehr

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

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

Mehr

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

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

Mehr

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

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9 Chr.Nelius: Zahlentheorie (SS 2007) 9 4. ggt und kgv (4.1) DEF: Eine ganze Zahl g heißt größter gemeinsamer Teiler (ggt) zweier ganzer Zahlen a und b, wenn gilt: GGT 0 ) g 0 GGT 1 ) g a und g b GGT 2 )

Mehr

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

1.1.1 Konstruktion der ganzen Zahlen, Vertretersystem (nicht-negative und negative ganze Zahlen) Zahlentheorie LVA 405.300 C. Fuchs Inhaltsübersicht 26.06.2013 Inhaltsübersicht Die Zahlentheorie gehört zu den Kerngebieten der Mathematik und steht historisch und thematisch in ihrem Zentrum. Es geht

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 4 Das Lemma von Bezout Satz 1. (Lemma von Bézout) Jede Menge von ganzen Zahlen a 1,...,a n besitzt einen größten gemeinsamen Teiler

Mehr

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

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

Mehr

Kanonische Primfaktorzerlegung

Kanonische Primfaktorzerlegung Mathematik I für Informatiker Zahlen p. 1 Kanonische Primfaktorzerlegung Jede natürliche Zahl n kann auf eindeutige Weise in der Form n = p α 1 1 pα 2 2... pα k k geschrieben werden, wobei k N 0, α i N

Mehr

Elementare Zahlentheorie II

Elementare Zahlentheorie II Schülerzirel Mathemati Faultät für Mathemati. Universität Regensburg Elementare Zahlentheorie II Der Satz von Euler-Fermat und die RSA-Verschlüsselung Die Mathemati ist die Königin der Wissenschaften,

Mehr

3. Der größte gemeinsame Teiler

3. Der größte gemeinsame Teiler Chr.Nelius: Zahlentheorie (SoSe 2016) 18 3. Der größte gemeinsame Teiler (3.1) DEF: a und b seien beliebige ganze Zahlen. a) Eine ganze Zahl t heißt gemeinsamer Teiler von a und b, wenn gilt t a und t

Mehr

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

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

Mehr

Das RSA Verfahren. Die Mathematik von RSA. Ganzzahl Arithmetik. Die Mathematik des RSA-Verfahrens

Das RSA Verfahren. Die Mathematik von RSA. Ganzzahl Arithmetik. Die Mathematik des RSA-Verfahrens Das RSA Verfahren Das RSA-Verfahren beruht auf Modulo-Arithmetik mit riesigen ganzen Zahlen und der Berechnung modularer Potenzen bei der Verschlüsselung. Die genaue Mathematik wird in den folgenden Kapiteln

Mehr

Kapitel 3 Elementare Zahletheorie

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

Mehr

Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1

Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 1 Primzahltest 1.1 Motivation Primzahlen spielen bei zahlreichen Algorithmen, die Methoden aus der Zahlen-Theorie verwenden, eine zentrale Rolle. Hierzu

Mehr

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

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

Mehr

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

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

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

SCHRIFTLICHE ZUSAMMENFASSUNG ZUM VORTRAG DIE GRUNDLAGEN DER RSA-VERSCHLÜSSELUNG VON DANIEL METZSCH SCHRIFTLICHE ZUSAMMENFASSUNG ZUM VORTRAG DIE GRUNDLAGEN DER RSA-VERSCHLÜSSELUNG VON DANIEL METZSCH Freie Universität Berlin Fachbereich für Mathematik & Informatik Institut für Mathematik II Seminar über

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

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

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

Mehr

Kryptografie Die Mathematik hinter den Geheimcodes

Kryptografie Die Mathematik hinter den Geheimcodes Kryptografie Die Mathematik hinter den Geheimcodes Rick Schumann www.math.tu-freiberg.de/~schumann Institut für Diskrete Mathematik und Algebra, TU Bergakademie Freiberg Akademische Woche Sankt Afra /

Mehr

Äquivalenzrelation Restklassen Teilbarkeit in Z Kleiner Satz von Fermat Satz von Euler Eulersche ϕ-funktion

Äquivalenzrelation Restklassen Teilbarkeit in Z Kleiner Satz von Fermat Satz von Euler Eulersche ϕ-funktion Äquivalenzrelation Restklassen Teilbarkeit in Z Kleiner Satz von Fermat Satz von Euler Eulersche ϕ-funktion Äquivalenzrelation Nehmen wir die Menge A = {,,,,,,,,}, z.b. nummerierte Personen. Unter Berücksichtigung

Mehr

Kongruenz ist Äquivalenzrelation

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

Mehr

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

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

Übungen zur Vorlesung Systemsicherheit

Übungen zur Vorlesung Systemsicherheit Übungen zur Vorlesung Systemsicherheit Asymmetrische Kryptographie Tilo Müller, Reinhard Tartler, Michael Gernoth Lehrstuhl Informatik 1 + 4 24. November 2010 c (Lehrstuhl Informatik 1 + 4) Übungen zur

Mehr

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

Äquivalenzrelation. Tischler-Problem. Euklidischer Algorithmus. Erweiterter euklidischer Algorithmus. Lineare diophantische Gleichung Äquivalenzrelation Tischler-Problem Euklidischer Algorithmus Erweiterter euklidischer Algorithmus Lineare diophantische Gleichung Rechnen mit Resten Restklassen Teilbarkeit in Z Beispiel einer Kongruenzgleichung

Mehr

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

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum: Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung

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

Kapitel 2. Ganze Zahlen. 2.1 Teilbarkeit

Kapitel 2. Ganze Zahlen. 2.1 Teilbarkeit Kapitel 2 Ganze Zahlen In diesem Kapitel setzen wir voraus, dass die Menge Z der ganzen Zahlen, ihre Ordnung und die Eigenschaften der Addition und Multiplikation ganzer Zahlen dem Leser vertraut sind.

Mehr

5. Der größte gemeinsame Teiler

5. Der größte gemeinsame Teiler Chr.Nelius: Zahlentheorie (SoSe 2017) 22 5. Der größte gemeinsame Teiler (5.1) DEF: a und b seien beliebige ganze Zahlen. a) Eine ganze Zahl t heißt gemeinsamer Teiler von a und b, wenn gilt t a und t

Mehr

Regine Schreier

Regine Schreier Regine Schreier 20.04.2016 Kryptographie Verschlüsselungsverfahren Private-Key-Verfahren und Public-Key-Verfahren RSA-Verfahren Schlüsselerzeugung Verschlüsselung Entschlüsselung Digitale Signatur mit

Mehr

Gewinnung und Test großer Primzahlen

Gewinnung und Test großer Primzahlen 16. Mai 2007 1 Einführung 2 Primzahlgewinnung 3 Primzahlentest 4 Aktuelles 5 Appendix 1 Einführung Anwendung Notation und Grundlagen Ordnung Eulersche φ-funktion Kleiner Satz von Fermat Anwendung Verwendung

Mehr

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

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

Mehr

Public Key Kryptographie mit dem RSA Schema. Karsten Fischer, Sven Kauer

Public Key Kryptographie mit dem RSA Schema. Karsten Fischer, Sven Kauer Public Key Kryptographie mit dem RSA Schema Karsten Fischer, Sven Kauer Gliederung I. Historischer Hintergrund II. Public Key Kryptographie III. Beispielszenario IV. Einweg-Funktion V. RSA Verfahren VI.

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

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

n ϕ n

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

Mehr

Übungen zu Algorithmen

Übungen zu Algorithmen Institut für Informatik Universität Osnabrück, 08.11.2016 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~ainf Lukas Kalbertodt, B.Sc. Testat bis 16.11.2016, 14:00 Uhr Nils Haldenwang, M.Sc. Übungen

Mehr

3. Diskrete Mathematik

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

Mehr

5 Grundlagen der Zahlentheorie

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

Mehr

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

1 Vorbereitung: Potenzen 2. 2 Einstieg und typische Probleme 3

1 Vorbereitung: Potenzen 2. 2 Einstieg und typische Probleme 3 Das vorliegende Skript beschäftigt sich mit dem Thema Rechnen mit Kongruenzen. Das Skript entsteht entlang einer Unterrichtsreihe in der Mathematischen Schülergesellschaft (MSG) im Jahr 2013. Die vorliegende

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 4 Public Key Kryptographie mit RSA 1. Ver- und Entschlüsselung 2. Schlüsselerzeugung und Primzahltests 3. Angriffe auf das RSA Verfahren 4. Sicherheit von RSA Probleme

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

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp Fakultät für Mathematik und Informatik Universität of Bremen Übersicht des Vortrags 1 Einfache Kryptosysteme 2 Einmalschlüssel

Mehr

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

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

Mehr

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

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

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

Mehr

3. Vortrag: Das RSA-Verschlüsselungsverfahren

3. Vortrag: Das RSA-Verschlüsselungsverfahren Westfälische Wilhelms-Universität Münster Mathematik Sommersemester 2017 Seminar: Verschlüsselungs- und Codierungstheorie Leitung: Thomas Timmermann 3. Vortrag: Das RSA-Verschlüsselungsverfahren Hendrik

Mehr

Funktionsweise des. RSA-Verfahrens

Funktionsweise des. RSA-Verfahrens Funktionsweise des RSA-Verfahrens CrypTool-Team November 2010 Kryptografie wozu? Das Verschlüsseln von Nachrichten hat in der Geschichte der Menschheit schon immer eine wichtige Rolle gespielt. In jedem

Mehr

Beispiel: Primelemente in den Gaußschen Zahlen

Beispiel: Primelemente in den Gaußschen Zahlen Beispiel: Primelemente in den Gaußschen Zahlen Satz Primelemente in Z[i] Für die Primelemente π Z[i] gilt bis auf Assoziiertheit 1 N(π) = p für ein p P oder 2 π = p für ein p P mit p x 2 + y 2 für (x,

Mehr

Kryptographie. Teilnehmer: Gruppenleiter: Humboldt-Universität zu Berlin.

Kryptographie. Teilnehmer: Gruppenleiter: Humboldt-Universität zu Berlin. Kryptographie Teilnehmer: Kevin Huber Philippe Gruse Vera Koldewitz Philipp Jakubahs Julian Zimmert Maximilian Werk Hermann-Hesse-Oberschule Heinrich-Hertz-Oberschule Gruppenleiter: Ulf Kühn Humboldt-Universität

Mehr

Gewinnung und Test großer Primzahlen

Gewinnung und Test großer Primzahlen Gewinnung und Test großer Primzahlen Martin Heinzerling 16. Mai 2007 Zusammenfassung Dieser Vortrag entstand im Rahmen des Proseminars Kryptographische Grundlagen der Datensicherheit SS-2007 der Technischen

Mehr

Beispiel: Primelemente in den Gaußschen Zahlen

Beispiel: Primelemente in den Gaußschen Zahlen Beispiel: Primelemente in den Gaußschen Zahlen Satz Primelemente in Z[i] Für die Primelemente π Z[i] gilt bis auf Assoziiertheit 1 N(π) = p für ein p P oder 2 π = p für ein p P mit p x 2 + y 2 für (x,

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

1 Körper. Wir definieren nun, was wir unter einem Körper verstehen, und sehen dann, dass es noch andere, ganz kleine Körper gibt:

1 Körper. Wir definieren nun, was wir unter einem Körper verstehen, und sehen dann, dass es noch andere, ganz kleine Körper gibt: 1 Körper Sie kennen bereits 2 Beispiele von Zahlkörpern: (Q, +, ) (R, +, ) die rationalen Zahlen mit ihrer Addition und Multiplikation die reellen Zahlen mit ihrer Addition und Multiplikation Vielleicht

Mehr

2.4. Kongruenzklassen

2.4. Kongruenzklassen DEFINITION 2.4.1. kongruent modulo 2.4. Kongruenzklassen Wikipedia:1707 wurde Euler als der älteste Sohn des Pfarrers Paul Euler geboren. Er besuchte das Gymnasium in Basel und nahm gleichzeitig Privatunterricht

Mehr

Lineare Algebra I (WS 13/14)

Lineare Algebra I (WS 13/14) Lineare Algebra I (WS 13/14) Alexander Lytchak Nach einer Vorlage von Bernhard Hanke 10.01.2014 Alexander Lytchak 1 / 9 Erinnerung: Zwei ganz wichtige Gruppen Für jede Gruppe (G, ) und jedes Element g

Mehr

WIEDERHOLUNG (BIS ZU BLATT 7)

WIEDERHOLUNG (BIS ZU BLATT 7) Universität Bielefeld SS 2016 WIEDERHOLUNG (BIS ZU BLATT 7) JULIA SAUTER Wir wiederholen, welche Aufgabentypen bis zu diesem Zeitpunkt behandelt worden sind. Auf der nächsten Seite können Sie sich selber

Mehr

1.2 Eigenschaften der ganzen Zahlen

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

Mehr

Euklidische Algorithmus, Restklassenringe (Z m,, )

Euklidische Algorithmus, Restklassenringe (Z m,, ) Euklidische Algorithmus, Restklassenringe (Z m,, ) Manfred Gruber http://www.cs.hm.edu/~gruber SS 2008, KW 14 Gröÿter gemeinsamer Teiler Denition 1. [Teiler] Eine Zahl m N ist Teiler von n Z, wenn der

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

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

Kapitel 2: Zahlentheoretische Algorithmen Gliederung

Kapitel 2: Zahlentheoretische Algorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Elemente der Algebra

Elemente der Algebra Prof. Dr. H. Brenner Osnabrüc SS 2015 Elemente der Algebra Vorlesung 16 Der Chinesische Restsatz für Z Satz 16.1. Sei n eine positive natürliche Zahl mit anonischer Primfatorzerlegung 1 p r 2 2 p r (die

Mehr

El. Zahlentheorie I: Der kleine Satz von Fermat

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

Mehr

Vorlesung 7. Tilman Bauer. 25. September 2007

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

Mehr

Elementare Zahlentheorie. Diskrete Strukturen. Winter Semester 2012 #

Elementare Zahlentheorie. Diskrete Strukturen. Winter Semester 2012 # Erster Teil 1 Elementare Diskrete Strukturen Winter Semester 2012 # 342 207 Prof. Armin Biere Institut für Formale Modelle und Verifikation Johannes Kepler Universität, Linz http://fmv.jku.at/ds Literatur

Mehr

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

Prof. Dr. H. Brenner Osnabrück SS Zahlentheorie. Vorlesung 3. Der euklidische Algorithmus Prof. Dr. H. Brenner Osnabrück SS 2008 Zahlentheorie Vorlesung 3 Der euklidische Algorithmus Euklid (4. Jahrhundert v. C.) Definition 3.1. Seien zwei Elemente a, b (mit b 0) eines euklidischen Bereichs

Mehr