Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen"

Transkript

1 Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen Barbara König Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 1

2 Ver- und Entschlüsselung Wir beschreiben jetzt formal, was es bedeutet, eine Nachricht zu verschlüsseln und zu entschlüsseln. Komponenten eines Kryptosystems (Definition) M: eine Menge von möglichen Nachrichten CM: eine Menge von verschlüsselten Nachrichten K e : eine Menge von Schlüsseln, die zum Verschlüsseln verwendet werden K d : eine Menge von Schlüsseln, die zum Entschlüsseln verwendet werden K K e K d : eine Menge von gültigen Schlüsselpaaren Eine Verschlüsselungsfunktion E : M K e CM Eine Entschlüsselungsfunktion D : CM K d M Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 49

3 Ver- und Entschlüsselung Hinweis: E steht für encryption und D für decryption. Sei (e, d) K ein Schlüsselpaar. Die Ver- und Entschlüsselungsfunktionen müssen folgende Eigenschaft haben: Für alle m M gilt D(E(m, e), d) = m. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 50

4 Ver- und Entschlüsselung Symmetrisches Kryptosystem Bei einem symmetrischen Kryptosystem gilt K e = K d und für ein (e, d) K gilt immer e = d. D.h., es wird derselbe Schlüssel zum Ver- und Entschlüsseln benutzt. Sowohl Alice, als auch Bob müssen zur Kommunikation diesen Schlüssel kennen. (e, e) (e, e) Alice Bob Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 51

5 Ver- und Entschlüsselung Asymmetrisches Kryptosystem Bei einem asymmetrischen Kryptosystem gilt für ein (e, d) K normalerweise e d. D.h., es werden verschiedene Schlüssel zum Ver- und Entschlüsseln benutzt. Wenn Alice eine Nachricht an Bob schickt, dann reicht es aus, wenn Alice e kennt. Dieser Schlüssel wird auch der öffentliche Schlüssel von Bob genannt. Daneben kennt Bob noch seinen privaten Schlüssel d. e (e, d) Alice Bob Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 52

6 Ver- und Entschlüsselung Sicherheitsaspekte: die bisherigen Definitionen sagen nichts über die Sicherheit der Kryptosysteme. Im Fall der symmetrischen Verschlüsselung sollte es einfach sein, m aus E(m, e) zu bestimmen, wenn man d = e kennt. Ohne Kenntnis des Schlüssels sollte die Bestimmung von m schwierig sein. Ebenso sollte es im Fall des asymmetrischen Verschlüsselung einfach sein, m aus E(m, e) zu bestimmen, wenn man d kennt. Die Bestimmung von m sollte jedoch schwierig sein, wenn man nur e kennt. Wir werden im weiteren Verlauf der Vorlesung klären, was genau mit schwierig gemeint ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 53

7 Historische Verschlüsselungsverfahren Wir betrachten zunächst einige einfache symmetrische Verschlüsselungsverfahren. Caesar-Verschlüsselung Bei der Caesar-Verschlüsselung (nach Julius Caesar) wird jeder Buchstabe durch den Buchstaben ersetzt, der drei Stellen weiter im Alphabet vorkommt. (Statt drei kann auch ein anderer Zahlenwert verwendet.) Beispiel: aus CAESAR wird FDHVDU Spezialfall der monoalphabetische Verschlüsselung, der durch Häufigkeitsanalyse sehr leicht entschlüsselt werden kann. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 54

8 Historische Verschlüsselungsverfahren Monoalphabetische Verschlüsselung Gegeben ist eine Permutation π : A A des Alphabetes und jeder Buchstabe a der Nachricht wird durch sein Bild π(a) ersetzt. (Siehe Beispiel im Einführungsteil.) Auch die monoalphabetische Verschlüsselung kann durch Häufigkeitsanalysen einfach entschlüsselt werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 55

9 Historische Verschlüsselungsverfahren Vigenère-Verschlüsselung Bei der Vigenère-Verschlüsselung (nach Blaise de Vigenère, 16. Jhdt.) wird ein Schlüssel e = e 0... e m 1 A über dem Alphabet gegeben. Eine Abbildung z : A N 0 ordnet jedem Buchstaben einen Zahlenwert zu (z(a) = 0,..., z(z) = 25). Dann werden die Buchstaben des zu verschlüsselnden Textes m = m 0... m n A der Reihe nach verschlüsselt, indem der Zahlenwert des jeweils nächsten Buchstabens des Schlüssels addiert und und das Ergebnis modulo 26 genommen wird. Insbesondere gilt für den verschlüsselten Text c = c 0... c n A, dass c i = z 1 ((z(m i ) + z(e i mod m )) mod 26) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 56

10 Historische Verschlüsselungsverfahren Beispiel: e = CAESAR, wobei z(c) = 2, z(a) = 0, z(e) = 4, z(s) = 19, z(r) = 18 DASISTDERGEHEIMTEXT + CAESARCAESARCAESARC FAWBSLFEVZEZGIQMEPV Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 57

11 Historische Verschlüsselungsverfahren Bei der Vigenère-Verschlüsselung nützt eine Häufigkeitsanalyse über den gesamten Text wenig. Entschlüssselungsverfahren: Zunächst muss die Länge des Schlüssels e ermittelt werden. Das kann man machen, indem man verschiedene Längen k ausprobiert und die Häufigkeitsverteilung der Buchstaben ermittelt, deren Stelle kongruent zu einem festen i modulo k ist. Manchmal kann die Länge auch durch das periodische Auftreten bestimmter Zeichenfolgen im Text bestimmt werden. Sobald die Länge k gefunden wurde, kann dann der Schlüssel, Stelle für Stelle, mit Hilfe der Häufigkeitsanalyse ermittelt werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 58

12 Historische Verschlüsselungsverfahren Ein besonderer Fall ergibt sich jedoch, wenn der Schlüssel genau so lang ist wie der zu verschlüsselnde Text. One-Time-Pad Beim One-Time-Pad wird ein Text mit einem zufällig gewähltem Schlüssel gleicher Länge verknüpft. Die Verknüpfung kann wie beim Vigenère-Schlüssel passieren. Alternativ können auch zwei Bitstrings durch (xor) verknüpft werden. Voraussetzungen: der Einmalschlüssel muss geheim bleiben, der Einmalschlüssel muss zufällig gewählt sein und der Einmalschlüssel darf nur einmal verwendet werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 59

13 Historische Verschlüsselungsverfahren Der One-Time-Pad wurde so von Geheimdiensten im 20. Jahrhundert verwendet. Dabei wurde zunächst der Schlüssel ausgetauscht, beispielsweise kann er auf Papier oder in digitaler Form einem Agenten mitgegeben werden. Claude Shannon hat gezeigt, dass der One-Time-Pad informationstheoretisch sicher ist und damit ein perfektes Verschlüsselungsverfahren darstellt. Insbesondere hat er gezeigt, dass Die Kenntnis des verschlüsselten Textes keine zusätzlichen Informationen über den Inhalt der Nachricht liefert. bzw. Jeder Nachrichteninhalt hat die gleiche Wahrscheinlichkeit, unabhängig davon, ob man den verschlüsselten Text kennt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 60

14 Wahrscheinlichkeitrechnung Um dieses (nicht sehr schwierige) Ergebnis formalisieren und beweisen zu können, benötigt man (diskrete) Wahrscheinlichkeitstheorie. Wahrscheinlichkeitsraum (Definition) Ein Wahrscheinlichkeitsraum besteht aus einer Ergebnismenge Ω, bestehend aus den Elementarereignissen, und einer Funktion P : Ω R, die jedem Elementarereignis eine Wahrscheinlichkeit zuordnet. Dabei muss gelten: Für jedes x Ω gilt 0 P(x) 1. (Die Wahrscheinlichkeit für ein Elementarereignis liegt zwischen 0 und 1.) P(x) = 1. (Die Summe aller Wahrscheinlichkeiten ist 1.) x Ω Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 61

15 Wahrscheinlichkeitsrechnung Falls Ω endlich ist und alle Elementarereignisse in Ω gleich wahrscheinlich sind, so gilt P(x) = 1 Ω für jedes x Ω Beispiel: Würfeln mit einem fairen Würfel. Dann gilt Ω = {1, 2, 3, 4, 5, 6} und P(x) = 1 6 für alle x Ω. Diese Annahme, dass alle Elementarereignisse gleich wahrscheinlich sind, gilt jedoch nicht immer. (Beispiel: manipulierter Würfel) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 62

16 Wahrscheinlichkeitsrechnung Das Würfeln einer 1 oder 6 bezeichnet man als (zusammengesetztes) Ereignis, im Unterschied zu Elementarereignissen. Ereignis, Wahrscheinlichkeit eines Ereignisses (Definition) Wir betrachten einen Wahrscheinlichkeitsraum, bestehend aus Ω und P : Ω R. Eine Menge E Ω heißt Ereignis. Die Wahrscheinlichkeit des Ereignisses E wird folgendermaßen berechnet: P(E) = x E P(x) Beispiel: Ereignis E = {1, 6} mit P(E) = P({1, 6}) = P(1) + P(6) = = 1 3 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 63

17 Wahrscheinlichkeitsrechnung Bemerkung: Für unsere Zwecke können wir alle Teilmengen von Ω als Ereignisse ansehen. Im allgemeinen Fall (insb. für nicht-diskrete Wahrscheinlichkeitsräume) beschränkt man sich auf die Ereignisse, die Elemente einer Ereignisalgebra (oder σ-algebra) sind. Rechnen mit Wahrscheinlichkeiten (Satz) Seien A, B Ω Ereignisse: P(Ω\A) = 1 P(A) P(A B) = P(A) + P(B) P(A B) P( ) = 0 Insbesondere folgt daraus P(A B) = P(A) + P(B), falls A B =, d.h., falls A und B disjunkte Ereignisse sind. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 64

18 Wahrscheinlichkeitsrechnung Unabhängigkeit von Ereignissen (Definition) Zwei Ereignisse A, B Ω heißen unabhängig, falls gilt: Beispiel Würfel: P(A B) = P(A) P(B) Die Ereignisse {1, 3, 5} (Ergebnis ist ungerade) und {2, 4, 6} (Ergebnis ist gerade) sind nicht unabhängig. Es gilt: P(A B) = P( ) = = = P(A) P(B) 2 Die Ereignisse {1, 3, 5} (Ergebnis ist ungerade) und {1, 2, 3, 4} (Ergebnis ist kleiner gleich vier) sind unabhängig. Es gilt: P(A B) = P({1, 3}) = 1 3 = = P(A) P(B) 3 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 65

19 Wahrscheinlichkeitsrechnung Bedingte Wahrscheinlichkeit (Definition) Die bedingte Wahrscheinlichkeit ist definiert durch P(A B) = P(A B), P(B) falls P(B) 0. Die Wahrscheinlichkeit P(A B) ist intuitiv die Wahrscheinlichkeit, dass das Ereignis A eintritt, unter der Bedingung, dass man bereits weiß, dass das Ereignis B eintritt. Sprechweise: Wahrscheinlichkeit von A, vorausgesetzt B. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 66

20 Wahrscheinlichkeitsrechnung Beispiel Würfel: A = {1, 3, 5} (Ergebnis ist ungerade) und B = {1, 2, 3} (Ergebnis ist kleiner gleich drei). Dann gilt: P(A B) = P(A B) P(B) = P({1, 3}) P({1, 2, 3}) = 2 3 Unabhängigkeit und bedingte Wahrscheinlichkeit (Satz) Zwei (nicht-leere) Ereignisse A, B sind unabhängig genau dann, wenn: P(A B) = P(A) und P(B A) = P(B) D.h., die Kenntnis, dass das Ereignis B eintreten wird, ändert die Wahrscheinlichkeit von A nicht. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 67

21 Wahrscheinlichkeitsrechnung Zufallsvariable (Definition) Eine Zufallsvariable ist eine Abbildung X : Ω S. Sei y S. Man definiert: P(X (ω) = y) = P({ω Ω X (ω) = y}) Analog werden P(X (ω) y), P(X (ω) y), P(X (ω) R) (für R S), etc. definiert. (Im ersten und zweiten Fall muss eine partielle Ordnung auf S definiert sein.) Bemerkungen: Trotz des Namens hat eine Zufallsvariable mit einer Variablen relativ wenig zu tun. Es handelt sich einfach um eine Funktion. Manchmal schreibt man statt P(X (ω) = y) einfach nur P(X = y). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 68

22 Wahrscheinlichkeitsrechnung Sei S eine endliche Menge. Eine Zufallsvariable X : Ω S heißt gleichverteilt, falls P(X (ω) = s) = 1 S für alle s S Bemerkungen: Die Ereignismenge Ω muss hier nicht notwendigerweise endlich sein. Es gibt noch weitere (diskrete) Wahrscheinlichkeitsverteilungen: geometrische Verteilung, Binomialverteilung, Poisson-Verteilung Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 69

23 Wahrscheinlichkeitsrechnung Wir wenden nun die Wahrscheinlichkeitstheorie auf den One-Time-Pad an. Wir nehmen an, dass M = {0, 1} n (= Menge der Nachrichten) eine Menge von Bitstrings der Länge n ist. Genauso ist K e = K d = {0, 1} n und E(m, e) = m e D(c, d) = c d Die Menge der Elementarereignisse Ω sieht wie folgt aus: Ω = M K e = {0, 1} n {0, 1} n D.h. Elementarereignisse sind Paare von Nachrichten und Schlüsseln. Die Nachrichten sind nicht alle gleich wahrscheinlich, für die Schlüssel gilt dies jedoch. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 70

24 Wahrscheinlichkeitsrechnung Wir betrachten folgende Zufallsvariable: msg : Ω M, msg(m, e) = m (Projektion auf die erste Komponente) E : Ω CM (die bereits vorher definierte Verschlüsselungsfunktion) Wir setzen p m = P(msg = m) (die Wahrscheinlichkeit dafür, dass Nachricht m verschickt wird). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 71

25 Wahrscheinlichkeitsrechnung Nach Shannon muss ein perfektes Kryptosystem folgende Eigenschaft erfüllen: Perfektes Kryptosystem Die Wahrscheinlichkeit, dass eine Nachricht m geschickt wird, ist gleich der bedingten Wahrscheinlichkeit, dass m geschickt wird, vorausgesetzt dass die Kodierung c bekannt ist. Für den One-Time-Pad bedeutet das für feste m, c {0, 1} n : P(msg = m E = c) = P(msg = m) ( ) Oder (etwas informeller): P(m wurde geschickt c wurde empfangen) = P(m wurde geschickt) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 72

26 Wahrscheinlichkeitsrechnung Beweis: Wir zeigen nun, dass der One-Time-Pad die Eigenschaft (*) erfüllt. Es gilt, dass P(msg = m E = c) = P(msg = m E = c) P(E = c) Es gilt: P(msg = m E = c) = P({(m, e ) e K e, E(m, e ) = c}). Es kann nur einen Schlüssel e = c m geben, der m zu c verschlüsselt. Also handelt es sich bei der Menge um ein Elementarereignis und es gilt: P({(m, c m)}) = p m Die letzte Beziehung gilt, da m und der Schlüssel unabhängig voneinander gewählt werden. 1 2 n Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 73

27 Wahrscheinlichkeitsrechnung Außerdem gilt: P(E = c) = Zusammengefasst: m M = m M P(msg = m E = c) p m 1 2 n = 1 2 n m M p m = 1 2 n 1 = 1 2 n P(msg = m c wurde empfangen) = p m 1 2 n 1 2 n = p m = P(msg = m) und damit ist der One-Time-Pad ein perfektes Kryptosystem. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 74

28 Symmetrische Verschlüsselung: DES und AES Wir betrachten nun moderne symmetrische Verschlüsselungsverfahren. (e, e) (e, e) Alice Bob Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 75

29 Symmetrische Verschlüsselung: DES und AES Die zwei wichtigsten symmetrischen Verschlüsselungsverfahren sind: DES (Data Encryption Standard): war ab 1976 lange Zeit der de-facto-standard für symmetrische Verschlüsselungsverfahren und wird immer noch in großem Maßstab eingesetzt. Allerdings ist die Schlüssellänge (56 Bit) heute zu kurz und nur noch die Variante Triple DES gilt als sicher. AES (Advanced Encryption Standard): 2002 wurde bei einem Wettbewerb des US-amerikanischen NIST (National Institute of Standards and Technology) das Kryptosystem Rijndael als Nachfolger für DES ausgewählt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 76

30 Symmetrische Verschlüsselung: DES und AES Sowohl DES als auch AES sind Blockchiffre, die nach folgendem Prinzip funktionieren: Eine Nachricht wird in Blöcke der Länge n (typischerweise n = 128, 192, 256) aufgespalten und jeder Block wird einzeln verschlüsselt. Wir können also im folgenden davon ausgehen, dass M = {0, 1} n Es gibt einen symmetrischen Schlüssel der Länge m (typischerweise m = 128, 256). D.h., K e = K d = {0, 1} m. Ein Block der Länge n wird durch die Verschlüsselung wieder zu einem Block der Länge n, d.h., CM = {0, 1} n. Aus der gleichen Länge von Nachricht und verschlüsseltem Text kann man schließen, dass die Verschlüsselungsfunktion für einen festen Schlüssel bijektiv sein muss. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 77

31 Symmetrische Verschlüsselung: DES und AES Die Verschlüsselungsfunktion E : {0, 1} n {0, 1} m {0, 1} n wird wie folgt realisiert: eine Nachricht m {0, 1} n wird mit einem Schlüssel e {0, 1} m in k Runden verschlüsselt. Zu Beginn gilt m 0 = m, man bestimmt m i+1 durch m i+1 = E i (m i, e i ), wobei e i der Schlüssel der i-ten Runde ist. Der Rundenschlüssel e i wird mit Hilfe eines festgelegten Verfahrens aus e berechnet. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 78

32 Symmetrische Verschlüsselung: DES und AES Die Verschlüsselungsfunktion E i wird durch Aneinanderreihung verschiedener Transformationen berechnet, wobei eine Transformation folgendes sein kann: xor-verknüpfung des zu verschlüsselnden Textes mit dem Rundenschlüssel Jedes Byte der Nachricht wird durch ein anderes Byte substituiert (diese Substitionen werden in sogenannten S-Boxen tabelliert). Die Bytes der Nachricht werden (spalten- oder zeilenweise) permutiert. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 79

33 Symmetrische Verschlüsselung: DES und AES Bemerkungen: Ähnliche Operationen wie sie zur Verschlüsselung einer Nachricht verwendet werden, können auch dazu benutzt werden, die Rundenschlüssel aus dem Schlüssel (bzw. aus Teilen der bisher verschlüsselten Nachricht) zu gewinnen. Bei AES stellt man sich ein Byte auch als Polynom über dem zweielementigen Körper, bestehend aus den Elementen {0, 1}, vor. D.h. b 7 b 6... b 0 {0, 1} 8 entspricht b 7 x 7 + b 6 x b 0 Dann kann xor durch Addition solcher Polynom und S-Boxen durch Bildung des multiplikativen Inversen (bezüglich Multiplikation modulo eines irreduziblen Polynoms m(x)), gefolgt von einer affinen Transformation, beschrieben werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 80

34 Symmetrische Verschlüsselung: DES und AES AES benutzt genau eine S-Box, die folgendermaßen funktioniert: S-Box bei AES (Teil 1) Fasse das zu substituierende Byte als Polynom p(x) vom Grad 7 über dem Körper {0, 1} auf. Bestimme das Inverse q(x) von p(x) modulo m(x) = x 8 + x 4 + x 3 + x + 1. D.h., es muss p(x) q(x) mod m(x) = 1 gelten. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 81

35 Symmetrische Verschlüsselung: DES und AES S-Box bei AES (Teil 2) Angenommen q(x) = c 7 x 7 + c 6 x c 0. Dann bestimme das Ergebnis-Byte d 7 d 6... d 0 durch folgende affine Transformation: d c 0 1 d c 1 1 d c 2 0 d 3 d 4 = c 3 c d 5 d 6 d c 5 c 6 c Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 82

36 Symmetrische Verschlüsselung: DES und AES Beispiel: Zu substituierendes Byte: , entspricht x 5 + x 4 + x + 1 Inverses: , entspricht x 6 + x 5 + x 3 + x 2 Test: (x 5 + x 4 + x + 1) (x 6 + x 5 + x 3 + x 2 ) = x 11 + x 10 + x 8 + x 7 + x 10 + x 9 + x 7 + x 6 + x 7 + x 6 + x 4 + x 3 + x 6 + x 5 + x 3 + x 2 = x 11 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 2 x 11 +x 9 +x 8 +x 7 +x 6 +x 5 +x 4 +x 2 x 8 + x 4 + x 3 + x + 1 x 11 +x 7 +x 6 +x 4 +x 3 = x 3 + x + 1 x 9 +x 8 +x 5 +x 3 +x 2 +x Rest: 1 x 9 +x 5 +x 4 +x 2 +x x 8 +x 4 +x 3 +x x 8 +x 4 +x 3 +x+1 1 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 83

37 Symmetrische Verschlüsselung: DES und AES Affine Transformation: = Ergebnis: (Vektoren werden von unten nach oben gelesen!) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 84

38 Symmetrische Verschlüsselung: DES und AES Bemerkungen: Das Inverse zu einem Polynom kann mit Hilfe des euklidischen Algorithmus berechnet werden. (Dazu später mehr bei RSA.) Zur Entschlüsselung gibt es eine inverse S-Box, die dazu da ist, die Substitution wieder rückgängig zu machen. Die gesamte S-Box ist tabelliert. Siehe S-box. D.h., in der Praxis muss das Inverse nicht berechnet werden. Durch die algebraische Darstellung kann aber das Kryptosystem besser analysiert werden, um zu zeigen, dass es gegen bestimmte Arten von Angriffen geschützt ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 85

39 Symmetrische Verschlüsselung: DES und AES Kriterien bei symmetrischen Verschlüsselungsverfahren (informell): Konfusion Der Zusammenhang zwischen Schlüssel und verschlüsseltem Text sollte so komplex wie möglich sein. Diffusion Jedes Bit der verschlüsselten Nachricht sollte von jedem Bit der ursprünglichen Nachricht auf möglichst komplexe Weise abhängig sein. Insbesondere sollte sich der verschlüsselte Text vollständig ändern, sobald ein Bit der ursprünglichen Nachricht verändert wird. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 86

40 Asymmetrische Verschlüsselung Wir betrachten nun asymmetrische Verschlüsselungsverfahren: e (e, d) Alice Bob Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 87

41 Asymmetrische Verschlüsselung Geschichte: 1976: Diffie-Hellman-Schlüsselaustauschprotokoll Beschreibt wie Alice und Bob einen geheimen Schlüssel über ein offenes Netzwerk austauschen können. 1977: RSA (benannt nach Rivest, Shamir, Adleman) Asymmetrisches Verschlüsselungsverfahren (mit Verwendung öffentlicher Schlüssel) Erst viel später wurde bekannt, dass ganz ähnliche Verfahren bereits 1973 von Williamson, Cock und Ellis beim GHCQ (Government Communications Headquarters, Teil des britischen Geheimdiensts) entwickelt wurden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 88

42 Asymmetrische Verschlüsselung: RSA Für RSA benötigen wir Voraussetzungen aus der Zahlentheorie: die Eulersche ϕ-funktion, der Satz von Euler-Fermat und der euklidische Algorithmus. Eulersche ϕ-funktion Die Eulersche ϕ-funktion ϕ: N 0 N 0 ist folgendermaßen definiert: ϕ(n) mit n N 0 ist die Anzahl der Zahlen zwischen 1 und n, die zu n teilerfremd sind. ϕ(n) = {m N 0 1 m n und ggt (m, n) = 1} Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 89

43 Asymmetrische Verschlüsselung: RSA Beispiele (Eulersche ϕ-funktion): n ϕ(n) n ϕ(n) Für eine Primzahl p gilt ϕ(p k ) = p k p k 1, insbesondere ϕ(p) = p 1. Für zwei Zahlen m, n N 0 mit ggt (m, n) = 1 gilt ϕ(m n) = ϕ(m) ϕ(n). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 90

44 Asymmetrische Verschlüsselung: RSA Satz von Euler-Fermat Für zwei Zahlen m, n Z mit ggt (m, n) = 1 gilt: m ϕ(n) mod n = 1 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 91

45 Asymmetrische Verschlüsselung: RSA Lösen diophantischer Gleichungen Gegeben seien a, b, c Z. Wir suchen Lösungen x, y Z der Gleichung a x + b y = c Diese Gleichung hat genau dann eine Lösung, wenn ggt (a, b) c. Lösungen für solche Gleichungen können mit Hilfe des erweiterten euklidischen Algorithmus bestimmt werden. Dieser bestimmt nicht nur ggt (a, b), sondern auch Werte für x und y. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 92

46 Asymmetrische Verschlüsselung: RSA 1. Schritt: Schlüsselerzeugung Bob generiert zwei große Primzahlen p, q mit p q und setzt n = p q. Bob bestimmt ϕ(n) (in diesem Fall gilt ϕ(n) = (p 1) (q 1)). Bob bestimmt d, e {0,..., ϕ(n) 1} mit (d e) mod ϕ(n) = 1 (d.h., d, e sind modulo ϕ(n) zueinander invers) (e, n) ist der öffentliche Schlüssel, den Bob bekanntgibt. (d, n) ist der private Schlüssel, den Bob geheimhält. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 93

47 Asymmetrische Verschlüsselung: RSA 2. Schritt: Verschlüsselung Alice will eine Nachricht M an Bob verschlüsseln. Sie kodiert diese Nachricht als eine Zahl m {0,..., n 1} (z.b. durch Binärkodierung). Alice rechnet c = m e mod n und schickt c an Bob. 3. Schritt: Entschlüsselung Bob empfängt c. Er rechnet m = c d mod n und erhält damit wieder die ursprüngliche Nachricht. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 94

48 Asymmetrische Verschlüsselung: RSA Rechenbeispiel RSA p = 5, q = 11, n = 5 11 = 55 ϕ(n) = (p 1) (q 1) = 4 10 = 40 Wähle e = 3 und berechne das Inverse d = 27: Löse 3 x + 40 y = 1, dies ergibt Lösungen x = 13, y = 1 Das ergibt d = x mod 40 = ( 13) mod 40 = 27 Nachricht m = 9 soll übertragen werden. Alice berechnet die Kodierung c = 9 3 mod 55 = 729 mod 55 = 14. Code c = 14 kommt an. Bob rechnet mod 55 = (14 3 mod 55) 9 mod 55 = (2744 mod 55) 9 mod 55 = 49 9 mod 55 = (49 3 mod 55) 3 mod 55 = ( mod 55) 3 mod 55 = 4 3 mod 55 = 64 mod 55 = 9 = m Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 95

49 Asymmetrische Verschlüsselung: RSA Warum funktioniert RSA? Korrektheit: Warum erhält Bob wieder die ursprüngliche Nachricht? Das kann mit dem Satz von Euler-Fermat nachgewiesen werden. Es gilt (e d mod ϕ(n)) = 1 und damit gibt es eine Zahl z Z mit e d = z ϕ(n) + 1. Also ergibt sich beim Verschlüsseln und anschließenden Entschlüsseln: (m e mod n) d mod n = m e d mod n = m z ϕ(n)+1 mod n = (m (m ϕ(n) ) z ) mod n = m 1 z mod n = m mod n = m Diese Argumentation funktioniert nicht, falls m, n nicht teilerfremd sind. In diesem Fall kann man aber mit Hilfe des Chinesischen Restsatzes nachweisen, dass man trotzdem das richtige Ergebnis erhält. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 96

50 Asymmetrische Verschlüsselung: RSA Warum funktioniert RSA? (Fortsetzung) Sicherheit: Warum ist es für andere schwierig, die Nachricht zu entschlüsseln? Das liegt (im wesentlichen) daran, dass man d nur dann leicht aus e berechnen kann, wenn man ϕ(n) kennt. Um ϕ(n) zu berechnen, müsste man die Primfaktorzerlegung von großen Zahlen (ca Bits) bestimmen, was sehr schwer ist. Wir werden uns das noch genauer ansehen und uns überlegen, welche Voraussetzungen erfüllt sein müssen, damit RSA sicher ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 97

51 Asymmetrische Verschlüsselung: RSA Weitere Bemerkungen: Auch bei einer sinnvollen Implementierung der Potenzierung bei der Ver- und Entschlüsselung ist RSA kein sehr effizientes Verfahren. Daher wird im allgemeinen RSA nur zum Schlüsselaustausch verwendet. Sobald ein geheimer Sitzungsschlüssel vereinbart ist, kann ein symmetrisches Verschlüsselungsverfahren (z.b. AES) verwendet werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 98

52 Sicherheit von Kryptosystemen Bisher ist noch nicht klar, warum die bisher vorgestellten Kryptosysteme sicher sind. Wir wissen noch nicht einmal, was sicher überhaupt bedeutet. Wir betrachten zunächst einmal, welche Arten von Angriffen auf ein Kryptosystem möglich sind: Ciphertext-only attack Nur die verschlüsselte Nachricht oder mehrere verschlüsselte Nachrichten sind bekannt. (Je mehr Nachrichten bekannt sind, desto besser.) Known-plaintext attack Nicht nur eine verschlüsselte Nachricht, sondern auch die dazugehörige unverschlüsselte Nachricht sind bekannt. Das Ziel ist es, den verwendeten Schlüssel zu ermitteln. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 99

53 Sicherheit von Kryptosystemen Chosen-plaintext attack Der Angreifer hat die Möglichkeit, dem Verschlüsseler eine bestimmte Nachricht unterzuschrieben, die verschlüsselt wird. Beispiel: Im 2. Weltkrieg wurden von den Alliierten bestimmte Bereiche des Meeres vermint, damit die Kryptoanalytiker in Bletchley Park Nachrichten mit dem Wort Minen abfangen konnten, um damit den Code der Enigma zu entschlüsseln. Chosen-ciphertext attack Der Angreifer hat die Möglichkeit eine unter einem unbekannten Schlüssel verschlüsselte Nachricht zu wählen und die dazugehörige entschlüsselte Nachricht zu erhalten. Diese Arten von Angriffen setzen einen schrittweise immer mächtigeren Angreifer voraus. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 100

54 Sicherheit von Kryptosystemen Wir betrachten hier nicht die folgenden Arten von Angriffen (die aber in der Praxis auch sehr wichtig sind!): Side channel attack Angriff auf eine bestimmte physikalische Implementierung eines Kryptosystems, indem das kryptographische Gerät während der Verschlüsselung beobachtet wird. Beispiel: aus der Laufzeit des Verschlüsselungsalgorithmus können Rückschlüsse auf die Schlüssellänge gezogen werden (sogenannte timing attack). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 101

55 Sicherheit von Kryptosystemen Bei früheren Verschlüsselungsverfahren setzte man oft darauf, dass der Angreifer das Verschlüsselungsverfahren nicht kannte (Security by Obscurity). Heute fordert man, dass ein Verschlüsselungsverfahren auch dann sicher sein muss, wenn der Algorithmus bekannt ist. (Der Schlüssel muss natürlich unbekannt sein.) Um diese Sicherheit zu gewährleisten, muss ein Kryptosystem einer mathematischen Analyse unterzogen werden. Der Begriff schwierig zu entschlüsseln wird heutzutage insbesondere mit Mitteln der Komplexitätstheorie definiert und untersucht. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 102

56 Wiederholung Komplexitätstheorie Daher nun eine kurze Wiederholung der wichtigsten komplexitätstheoretischen Begriffe. Kurze Vorausschau: leider wird sich herausstellen, dass der Begriff NP-hart bzw. NP-vollständig nicht ausreichend sein wird, um ein Kryptosystem als schwierig zu entschlüsseln zu klassifizieren. Wir müssen daher im Laufe der Vorlesung auf andere Begriffe ausweichen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 103

57 Wiederholung Komplexitätstheorie Wir definieren zunächst die Klasse aller Sprachen, die von einer deterministischen Turingmaschine mit Zeitbeschränkung akzeptiert werden können. Zeitbeschränkte det. TM und akz. Sprachen (Definition) Sei f : N 0 N 0 eine (totale) Funktion. Die Klasse TIME(f (n)) besteht aus allen Sprachen A, für die es eine deterministische Mehrband-Turingmaschine M gibt mit A = T (M) und time M (x) f ( x ) für alle Wörter x. Dabei gibt time M (x) die Anzahl der Rechenschritte von M bei Eingabe x an. Das heißt, die Anzahl der Schritte der Turingmaschine ist beschränkt und die Beschränkung ist abhängig von der Länge der Eingabe. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 104

58 Wiederholung Komplexitätstheorie definieren, die von deterministischen Turingmaschinen mit polynomialer Laufzeitbeschränkung erkannt werden. Komplexitätsklasse P (Definition) P = {A es gibt eine det. Turingmaschine M und ein = Polynom p mit T (M) = A und time M (x) p( x )} TIME(p(n)) p Polynom Intuitiv umfasst P alle Probleme, für die effiziente Algorithmen existieren. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 105

59 Wiederholung Komplexitätstheorie Analog zur Komplexitätsklasse P kann man auch eine Klasse FP von Funktionen definieren, die in polynomieller Zeit berechnet werde können. Funktionsklasse FP FP ist die Klasse aller Funktionen der Form f : Σ Σ, für die es eine deterministische Turingmaschine M und ein Polynom p gibt, so dass M berechnet die Funktion f und time M (x) p( x ) für alle Wörter x Σ. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 106

60 Wiederholung Komplexitätstheorie Ähnlich wie bei deterministischen Turingmaschinen kann man auch zeitbeschränkte nichtdeterministische Turingmaschinen und die dazugehörigen Sprachklassen definieren. Zeitbeschränkte nichtdet. TM und akz. Sprachen (Definition) Sei f : N 0 N 0 eine (totale) Funktion. Die Klasse NTIME(f (n)) besteht aus allen Sprachen A, für die es eine nichtdeterministische Mehrband-Turingmaschine M gibt mit A = T (M) und ntime M (x) f ( x ) für alle Wörter x. Dabei gilt min{länge akzeptierender ntime M (x) = Rechnungen von M auf x} falls x T (M) 0 falls x T (M) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 107

61 Wiederholung Komplexitätstheorie Komplexitätsklasse NP (Definition) NP = NTIME(p(n)) p Polynom Offensichtlich gilt P NP. Aber gilt auch P NP? P NP-Problem (ungelöst) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 108

62 Wiederholung Komplexitätstheorie Analog zum Begriff der Reduzierbarkeit in der Berechenbarkeitstheorie definieren wir nun den Begriff der polynomialen Reduzierbarkeit. Polynomiale Reduzierbarkeit (Definition) Gegeben seien Sprachen A Σ, B Γ. Dann heißt A auf B polynomial reduzierbar (in Zeichen A p B), falls es eine totale und mit polynomialer Laufzeit (deterministisch) berechenbare Funktion f : Σ Γ gibt, so dass für alle x Σ gilt: x A f (x) B. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 109

63 Wiederholung Komplexitätstheorie Anschaulich bedeutet Reduktion, dass wir mit Hilfe von f aus einer Maschine M B für das Problem B immer eine Maschine M A für das Problem A konstruieren können. Dabei hat die Vorverarbeitungsfunktion f polynomielle Laufzeit. x f f (x) M B Ja Nein M A Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 110

64 Wiederholung Komplexitätstheorie NP-hart, NP-vollständig (Definition) Eine Sprache A heißt NP-hart, falls für alle Sprachen L NP gilt: L p A. Eine Sprache A heißt NP-vollständig, falls A NP-hart ist und A NP gilt. Das bedeutet: eine NP-vollständige Sprache ist mindestens so schwierig wie jedes andere Problem in NP. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 111

65 Wiederholung Komplexitätstheorie Beispiel: Erfüllbarkeitsproblem SAT Eingabe: eine aussagenlogische Formel F Ausgabe: Hat F eine erfüllende Belegung? Das heißt, gibt es eine Belegung der atomaren Aussagen mit 0 bzw. 1, so dass F unter dieser Belegung den Wert 1 hat? SAT ist das klassische Beispiel für ein NP-vollständiges Problem. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 112

66 Wiederholung Komplexitätstheorie Sobald man von einer NP-vollständigen Sprache (wie beispielsweise SAT) zeigen könnte, dass sie in P (nicht) enthalten ist, wäre das P NP-Problem gelöst. NP-Vollständigkeit und P Sei A NP-vollständig. Dann gilt A P P = NP Bemerkung: Daraus folgt unmittelbar, dass auch A P P NP für jedes NP-vollständige Problem A gilt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 113

67 Wiederholung Komplexitätstheorie Neben NP ist oft auch die Klasse aller Komplemente von NP-Problemen interessant. Komplexitätsklasse co-np (Definition) Die Komplexitätsklasse co-np enthält genau die Sprachen, deren Komplement in NP liegt. SAT = {F F ist eine erfüllbare aussagenlogische Formel} liegt in NP; das Komplement von SAT, nämlich UNSAT = {F F ist eine unerfüllbare aussagenlogische Formel} liegt per Definition in co-np. Ebenso liegt das Gültigkeitsproblem in co-np. Man weiß weder, ob NP co-np, noch ob co-np NP. Es gilt jedoch P NP co-np. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 114

68 Kryptographie und die Komplexitätsklasse NP Wir machen nun einen ersten Versuch, um den Begriff der Schwierigkeit für das Entschlüsseln von Kryptosystemen zu definieren. Wir betrachten ein asymmetrisches Verschlüsselungsverfahren, bei dem der öffentliche Schlüssel bekannt ist. Die Verschlüsselungsfunktion E : M K e CM und die Entschlüsselungsfunktion D : CM K d M liegen in FP. Die Funktion D : CM K e M mit E(D (c, e), e) = c für alle c CM, e K e liegt nicht in FP. Bemerkung: Falls die Verschlüsselung eindeutig rückgängig gemacht werden kann, könnte man oben auch D (E(m, e), e) = m für alle m M fordern. Aber vielleicht ist die Forderung, dass D nicht in FP liegt, noch etwas zu schwach... Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 115

69 Kryptographie und die Komplexitätsklasse NP Entschlüsselungsproblem liegt in NP (Satz) Wir betrachten ein Kryptosystem, für das gilt: M, CM Σ Die Verschlüsselungsfunktion E : M K e CM liegt in FP. Falls E(m, e) = c gilt, so ist m höchstens polynomiell größer als c (D.h., p( c ) m für ein Polynom p.) Dann liegt die Sprache in NP. L E = {(m, c, e) u Σ : E(m u, e) = c} Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 116

70 Kryptographie und die Komplexitätsklasse NP Beweis: Die nichtdeterministische Turingmaschine, die L E entscheidet, rät u und überprüft, ob E(m u, e) = c. Da höchstens p( c ) Zeichen geraten müssen und E in Polynomzeit berechenbar ist, arbeitet die Turingmaschine in polynomieller Zeit. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 117

71 Kryptographie und die Komplexitätsklasse NP Bemerkungen: Die Forderung, dass m höchstens polynomiell größer ist als c, ist sehr natürlich. Normalerweise sind Codewörter genauso lang oder länger als die dazugehörigen Nachrichten. Wenn L E in Polynomzeit berechenbar wäre, dann könnte man D einfach berechnen: seien c und e gegeben. Setze m 0 = ε. Angenommen m i Σ i und wir wissen, dass m i ein Anfangsstück der gesuchten Nachricht m ist. Dann bestimme m i+1, durch Abfragen (m i a, c, e) L E? für jedes a Σ. Falls eine solche Abfrage erfolgreich ist, setze m i+1 = m i a. Falls eine Nachricht m n nicht mehr verlängert werden kann, dann setze D (c, e) = m. (Die Iteration terminiert, da m beschränkt ist.) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 118

72 Kryptographie und die Komplexitätsklasse NP Andererseits: wenn D in FP läge (und außerdem Verschlüsselung eindeutig rückgängig gemacht werden kann), dann liegt L E in P: man muss gegeben ein Tupel (m, c, e) D (c, e) bestimmen und überprüfen, ob m ein Präfix von D (c, e) ist. D.h., L E is gleich schwierig wie D. Da sich Begriffe wie NP-Vollständigkeit nur auf Sprachen beziehen, nicht auf Funktionen, ist es günstiger mit dem Entscheidungsproblem, nämlich L E, zu arbeiten. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 119

73 Kryptographie und die Komplexitätsklasse NP Um die Berechnung von D so schwierig wie möglich zu machen, könnte man jetzt folgendes fordern: Mögliche Forderung an Kryptosysteme Für ein asymmetrisches Kryptosystem mit Verschlüsselungsfunktion E muss die Sprache L E NP-vollständig sein. Kann man dann unter der Voraussetzung, dass P NP wirklich schließen, dass das Kryptosystem sicher ist? Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 120

74 Kryptographie und die Komplexitätsklasse NP Selbst wenn P NP gelten würde, reicht diese Forderung nicht aus. Dafür gibt es zwei Gründe: NP-Vollständigkeit und Kryptographie Wir müssen miteinbeziehen, dass der Angreifer auch randomisierte Berechnungen durchführen kann. Die Funktion D muss für jedes Element schwer zu berechnen sein. Die NP-Vollständigkeit von L E garantiert nur, dass es Elemente gibt, für die D schwer zu berechnen ist (worst-case vs. average-case). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 121

75 Kryptographie und die Komplexitätsklasse NP Bemerkungen: Für SAT ist bekannt, dass es nur relativ wenige Formeln gibt, für die es wirklich schwer ist, nachzuweisen, dass sie unerfüllbar sind bzw. eine erfüllende Belegung zu finden. Daher sind Werkzeuge für SAT (sogenannte SAT-Solver) sehr erfolgreich. Das bedeutet auch, dass SAT ungeeignet ist als Problem, das als Grundlage für ein Kryptosystem dienen soll. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 122

76 Kryptographie und die Komplexitätsklasse NP Man hat versucht, Kryptosysteme auf NP-vollständigen Problemen aufzubauen, beispielsweise auf SUBSET-SUM (Merkle und Hellman): SUBSET-SUM Eingabe: eine Menge A N 0 und t N 0 Ausgabe: gibt es eine Teilmenge A A, deren Summe genau t ist? D.h., gilt a A a = t? Leider hat sich inzwischen herausgestellt, dass es doch effiziente Lösungsverfahren für die in dem Kryptosystem verwendeten Instanzen von SUBSET-SUM gibt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 123

77 Kryptographie und die Komplexitätsklasse NP Interessanterweise sind nach derzeitigem Kenntnisstand Probleme besser geeignet, von denen nicht bekannt ist, ob sie in P liegen und die auch nicht als NP-vollständig bekannt sind. Dazu gehören insbesondere: Faktorisierung Diskreter Logarithmus Wir werden beide Probleme und die dazugehörigen Funktionen später noch genauer betrachten. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 124

78 Randomisierung Wir betrachten zunächst randomisierte Berechnungen. Eine interessante Feststellung ist, dass Randomisierung bei Berechnungen helfen kann! Dazu zunächst ein einfaches Beispiel: Berechnung von π Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 125

79 Randomisierung Bestimme Zufallspunkte in einem Quadrat und überprüfe, ob sie innerhalb des eingeschriebenen Kreises liegen: Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 126

80 Randomisierung Randomisierte Berechnung von π Wähle zufällig Punkte (x, y) in einem Quadrat mit Seitenlänge 1. D.h., x, y [0, 1]. Bestimme, ob (x, y) innerhalb des Kreises liegt, der in das Quadrat einbeschrieben ist. Teste dazu, ob (x 1 2 )2 + (y 1 2 )2 r 2 = 1 4. Sei n die Gesamtanzahl der Punkte und k die Zahl der Punkte innerhalb des Kreises. Dann gilt für die Fläche F des Kreises: F = r 2 π = π 4 und F k n. Dadurch erhalten wir eine Näherung für π. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 127

81 Randomisierung Bemerkungen: Um π wirklich genau berechnen zu können, benötigt man einen guten Zufallszahlengenerator! Eine andere (klassischere) Möglichkeit, π zu berechnen, ist es den Grenzwert einer Reihe zu bestimmen. Ein weiteres Beispiel für ein Problem, bei dem Randomisierung helfen kann, ist das Sortierproblem: für eine feste Eingabe hat Quick-Sort eine erwartete Laufzeit von O(n log n), wenn das Pivotelement zufällig gewählt wird. (Gegenüber einer worst-case-laufzeit von O(n 2 ) im deterministischen Fall.) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 128

82 Probabilistische Turingmaschinen Klassische Turingmaschinen können im allgemeinen keine Zufallszahlen erzeugen. Daher betrachten wir nun probabilistische Turingmaschinen. Turingmaschine (Definition) Eine (deterministische) Turingmaschine M ist ein 7-Tupel M = (Z, Σ, Γ, δ, z 0,, E), wobei Z die endliche Menge der Zustände, Σ das Eingabealphabet, Γ mit Γ Σ das Arbeitsalphabet oder Bandalphabet, δ : Z Γ Z Γ {L, R, N} die Überführungsfunktion, z 0 Z der Startzustand, Γ\Σ das Leerzeichen oder Blank und E Z die Menge der Endzustände ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 129

83 Probabilistische Turingmaschinen Klassische Turingmaschinen haben intuitiv folgendes Aussehen: Kopf kann sich nach links und rechts bewegen und Zeichen überschreiben e i n g a b e Automat mit endlich vielen Zuständen Signal für Endzustand Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 130

84 Probabilistische Turingmaschinen Bei probabilistischen Turingmaschinen erhält die Maschine zusätzlich ein Band mit Zufallsbits, auf dem sie sich beliebig bewegen darf. Diese Bits beeinflussen die Zustandsübergänge. Kopf kann sich nach links und rechts bewegen und Zeichen überschreiben e i n g a b e Automat mit endlich vielen Zuständen Signal für Endzustand Band mit Zufallsbits Coin-Tossing Tape Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 130

85 Probabilistische Turingmaschinen Nach der Wiederholung von herkömmlichen Turingmaschinen führen wir nun probabilistische Turingmaschinen ein. Dabei modifizieren wir die Definition leicht. Probabilistische Turingmaschine (Definition) Eine probabilistische Turingmaschine M ist ein 7-Tupel M = (Z, Σ, Γ, δ, z 0,, E), wobei alle Komponenten mit Ausnahme von δ wie bei einer herkömmlichen Turingmaschine definiert sind. Die Überführungsfunktion δ hat folgendes Aussehen: δ : Z Γ {0, 1} Z Γ {L, R, N} {L, R, N} Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 131

86 Probabilistische Turingmaschinen Dabei hat δ(z, a, b) = (z, c, x, y) mit z, z Z, a, c Σ, b {0, 1}, x, y {L, R, N} folgende Bedeutung: Wenn die Turingmaschine im Zustand z ist, a auf dem Arbeitsband liest und das Bit b auf dem Band mit Zufallsbits steht, dann wechselt sie in den Zustand z, schreibt ein c, geht auf dem Arbeitsband in die Richtung x und auf dem Zufallsbit-Band in die Richtung y. Wir gehen davon aus, dass der Turingmaschine zu Beginn der Berechnung entsprechende Zufallsbits bereitgestellt werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 132

87 Probabilistische Turingmaschinen Laufzeitbeschränkung von probabilistischen Turingmaschinen Wir sagen, dass eine probabilistische Turingmaschine hält, wenn sie auf jeder Eingabe unabhängig von den verwendeten Zufallsbits hält, d.h., einen Endzustand erreicht. Außerdem hat eine probabilistische Turingmaschine eine polynomiale Laufzeit, wenn sie auf jeder Eingabe x unabhängig von den verwendeten Zufallsbits höchstens p( x ) Schritte macht, wobei p ein Polynom ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 133

88 Probabilistische Turingmaschinen Wir betrachten die verwendeten Zufallsbits als Elementarereignisse. Falls die Turingmaschine auf einem festen Wort der Länge n arbeitet, ist die Menge der Elementarereignisse wie folgt definiert: Ω = {0, 1} p(n) Mehr Zufallsbits werden in p(n) Schritten nicht benötigt. Jedes dieser Elementarereignisse ist gleich wahrscheinlich. Die Tatsache, ob eine Maschine M ein Wort x der Länge n akzeptiert, ist eine Zufallsvariable a M (x): Ω {0, 1}. Für b Ω gilt a M (x)( b) = 1 genau dann, wenn M das Wort x unter Verwendung der Zufallsbits b akzeptiert. Die Laufzeit einer Maschine M auf einem Wort x ist ebenfalls eine Zufallsvariable t M (x): Ω N 0. Für b Ω gibt t M (x)( b) die Anzahl der Schritte an, die die Berechnung auf x mit den Zufallsbits b in Anspruch nimmt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 134

89 Probabilistische Turingmaschinen Bemerkung: Probabilistische Turingmaschinen sind nur eine Möglichkeit, den Begriff der randomisierten Berechnung präzise zu fassen. Wie das oft in der Berechenbarkeitstheorie der Fall ist, gibt es auch andere analoge Berechnungsmodelle. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 135

90 Probabilistische Komplexitätsklassen Wir können un die erste probabilistische Komplexitätsklasse definieren. Komplexitätsklasse RP (Randomized polynomial time) Eine Sprache L Σ gehört zu der Klasse RP genau dann, wenn es eine probabilistische Turingmaschine mit polynomialer Laufzeit gibt, so dass für jede Eingabe x Σ gilt: 1 falls x L, dann gilt P(M akzeptiert x) = P(a M (x) = 1) falls x L, dann gilt P(M akzeptiert x) = P(a M (x) = 1) = 0. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 136

91 Probabilistische Komplexitätsklassen Frage: Kann man auch eine höhere Wahrscheinlichkeit als 1 2 erhalten, wenn das Wort in der Sprache liegt? Antwort: Ja! Man muss die Maschine nur mehrmals (mit jeweils anderen Zufallsbits) laufen lassen. Sei M die Maschine, die M k-mal ausführt und akzeptiert, sobald M einmal akzeptiert. Da die jeweils verwendeten Zufallsbits unabhängig voneinander sind, gilt für x L: ( ) 1 k P(M akzeptiert x nicht) 2 und damit P(M akzeptiert x) 1 ( ) 1 k 2 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 137

92 Probabilistische Komplexitätsklassen Wir wollen nun mit Wahrscheinlichkeit größer gleich p akzeptieren. Es gilt p 1 ( ) 1 k p 1 2k k log 2 1 p Dann reicht es, die Maschine M log p = log 2(1 p)-mal laufen zu lassen. Das ist für eine feste Wahrscheinlichkeit p nur ein konstanter Faktor. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 138

93 Probabilistische Komplexitätsklassen Beispiel: wir betrachten ganzzahlige Polynome mit n Variablen, d.h., Polynome über den Variablen x 1,..., x n, bei denen alle Koeffizienten ganzzahlig sind. Gegeben sei nun ein solches ganzzahliges Polynom p, dargestellt durch einen arithmetischen Ausdruck. Dieses Polynom ist nicht notwendigerweise in ausmultiplizierter Form, d.h., als Summe von Termen der Form a x i 1 1 xn in, gegeben! Beispielsweise wird es als Produkt von Summen p(x) = (x 1 + x 2 ) (x 3 + x 4 ) (x 2n 1 + x 2n ) dargestellt. Auf jeden Fall haben wir eine Berechnungsverfahren für p, welches in Polynomzeit ausführbar ist. Der Grad eines Polynoms (in ausmultiplizierter Form) ist die maximale Summe der Exponenten in einem Summanden. Beispielsweise hat p(x 1, x 2 ) = 3x 3 1 x x x x 2 1 x 2 den Grad 5. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 139

94 Probabilistische Komplexitätsklassen Wir betrachten folgendes Problem: NON-ZERO-POLY Eingabe: ein Polynom p mit Grad kleiner gleich k Ausgabe: ist p nicht identisch zu Null, d.h., gibt es a 1,..., a n Z, so dass p(a 1,..., a n ) 0 gilt? Bemerkung: Sobald man NON-ZERO-POLY effizient lösen kann, können auch zwei Polynome p, q effizient auf Gleichheit getestet werden. Dazu überprüft man, ob (p q) NON-ZERO-POLY. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 140

95 Probabilistische Komplexitätsklassen Idee zur Berechnung von NON-ZERO-POLY: wähle beliebige ganze Zahlen a 1,..., a n Z und setze sie in p ein. Das Polynom wird akzeptiert, falls p(a 1,..., a n ) 0 gilt. Dieser Test läuft sicherlich in Polynomzeit, aufgrund des gegebenen arithmetischen Ausdrucks bzw. polynomialen Verfahrens. Das Verfahren akzeptiert niemals ein Polynom, das identisch zu Null ist. D.h., die zweite Bedingung in der Definition von RP ist auf jeden Fall erfüllt. Wir müssen uns nun noch überlegen, ob auch die erste Bedingung erfüllt ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 141

96 Probabilistische Komplexitätsklassen Wahrscheinlichkeit für Nullstellen (Schwartz-Zippel-Lemma) Sei p ein ganzzahliges Polynom mit n Variablen und Grad kleiner gleich k. Sei außerdem p nicht identisch zu Null. Wenn a 1,..., a n unabhängig und gleichverteilt aus {1,..., N} gewählt werden, so gilt: P(p(a 1,..., a n ) = 0) k N Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 142

97 Probabilistische Komplexitätsklassen Beweis: die Menge der Elementarereignisse ist Ω = {1,..., N} n, wobei alle Elementarereignisse gleich wahrscheinlich sind. Wir führen eine Induktion über n durch. n = 1: in diesem Fall haben wir Polynom mit nur einer einzigen Variable x 1. Ein solches Polynom kann höchstens k Nullstellen haben und die Wahrscheinlichkeit, eine davon aus der Menge {1,..., N} auszuwählen ist kleiner gleich k N. n 1 n: In diesem Fall lässt sich p schreiben als p = p 0 + p 1 x n + p 2 x 2 n + + p t x t n, wobei die p i die Variable x n nicht enthalten. Außerdem ist p t nicht identisch zum Nullpolynom und hat höchstens Grad k t. Wir können davon ausgehen, dass t > 0 ist, denn ansonsten hätte p nur Variablen aus {x 1,..., x n 1 }. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 143

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren VI.3 RSA - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman - vorgestellt 1977 - erstes Public-Key Verschlüsselungsverfahren - auch heute noch das wichtigste Public-Key Verfahren 1

Mehr

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen. Vorstellung.

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen. Vorstellung. Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen Barbara König Das heutige Programm: Organisatorisches Vorstellung Terminabsprache Ablauf

Mehr

Ver- und Entschlüsselung

Ver- und Entschlüsselung Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Wintersemester 2011/12 Universität Duisburg-Essen Barbara König Ver- und Entschlüsselung Wir beschreiben jetzt formal, was es bedeutet,

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

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

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen. Vorstellung.

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen. Vorstellung. Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Prof. Barbara König Übungsleitung: Sebastian Küpper Das heutige Programm: Organisatorisches

Mehr

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen

Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Prof. Barbara König Übungsleitung: Sebastian Küpper Barbara König Form. Asp. der Software-Sicherheit

Mehr

Ver- und Entschlüsselung

Ver- und Entschlüsselung Vorlesung Formale Aspekte der Software-Sicherheit und Kryptographie Sommersemester 2015 Universität Duisburg-Essen Prof. Barbara König Übungsleitung: Sebastian Küpper Ver- und Entschlüsselung Wir beschreiben

Mehr

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 276/ 333 N P-Vollständigkeit Ḋefinition NP-vollständig Sei

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

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

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 5.2 ElGamal Systeme 1. Verschlüsselungsverfahren 2. Korrektheit und Komplexität 3. Sicherheitsaspekte Das ElGamal Verschlüsselungsverfahren Public-Key Verfahren von

Mehr

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Krytographie Techniken Symmetrische Verschlüsselung( One-time Pad,

Mehr

6: Diskrete Wahrscheinlichkeit

6: Diskrete Wahrscheinlichkeit Stefan Lucks Diskrete Strukturen (WS 2009/10) 219 6: Diskrete Wahrscheinlichkeit 6: Diskrete Wahrscheinlichkeit Stefan Lucks Diskrete Strukturen (WS 2009/10) 220 Wahrscheinlichkeitsrechnung Eines der wichtigsten

Mehr

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren)

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren) WS 2016/17 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren) 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_16

Mehr

9. Einführung in die Kryptographie

9. Einführung in die Kryptographie 9. Einführung in die Kryptographie Grundidee: A sendet Nachricht nach B über unsicheren Kanal. Es soll verhindert werden, dass ein Unbefugter Kenntnis von der übermittelten Nachricht erhält. Grundbegriffe:

Mehr

Kryptographie - eine mathematische Einführung

Kryptographie - eine mathematische Einführung Kryptographie - eine mathematische Einführung Rosa Freund 28. Dezember 2004 Überblick Grundlegende Fragestellungen Symmetrische Verschlüsselung: Blockchiffren, Hashfunktionen

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

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 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/ws1314

Mehr

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13 Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2012/13 Prof. Barbara König Übungsleitung: Henning Kerstan & Sebastian Küpper Barbara

Mehr

Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976)

Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976) Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976) p : eine (grosse) Primzahl e : Zahl 0 < e < p mit ggt(e, p 1) = 1 d Inverses von e in Z p 1, dh d e 1 mod p 1 (= φ(p)) M : numerisch codierter

Mehr

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung Kapitel 2. Elementare Zahlentheorie 2.1. Primfaktorzerlegung Menge der ganzen Zahlen Z = {..., 3, 2, 1, 0, 1, 2, 3,...} Addition Inverse Multiplikation Z Z Z, Z Z, Z Z Z, (a, b) a + b a a (a, b) a b Ausgezeichnete

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 5 Kryptosysteme auf der Basis diskreter Logarithmen 1. Diffie Hellman Schlüsselaustausch 2. El Gamal Systeme 3. Angriffe auf Diskrete Logarithmen 4. Elliptische Kurven

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 5. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 05.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversitä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

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

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

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

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

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

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen Übung GSS Blatt 6 SVS Sicherheit in Verteilten Systemen 1 Einladung zum SVS-Sommerfest SVS-Sommerfest am 12.07.16 ab 17 Uhr Ihr seid eingeladen! :-) Es gibt Thüringer Bratwürste im Brötchen oder Grillkäse

Mehr

II.1 Verschlüsselungsverfahren

II.1 Verschlüsselungsverfahren II.1 Verschlüsselungsverfahren Definition 2.1 Ein Verschlüsselungsverfahren ist ein 5-Tupel (P,C,K,E,D), wobei 1. P die Menge der Klartexte ist. 2. C die Menge der Chiffretexte ist. 3. K die Menge der

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 06. Dezember 2011 INSTITUT FÜR THEORETISCHE 0 KIT 06.12.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Zahlen. Vorlesung Mathematische Strukturen. Sommersemester Zahlen. Zahlen

Zahlen. Vorlesung Mathematische Strukturen. Sommersemester Zahlen. Zahlen Vorlesung Mathematische Strukturen Sommersemester 2016 Prof. Barbara König Übungsleitung: Christine Mika & Dennis Nolte Division mit Rest Seien a, b Z zwei ganze mit a 0. Dann gibt es eindeutig bestimmte

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

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Satz 4.2.11 (Chinesischer Restsatz, Ring-Version) Sind N teilerfremd (d.h. ggt( ) =1), so ist die Abbildung ein Ring-Isomorphismus. :

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

Mehr

Theoretische Informatik. Probabilistische Turingmaschinen PTM PTM. Rainer Schrader. 10. Juni 2009

Theoretische Informatik. Probabilistische Turingmaschinen PTM PTM. Rainer Schrader. 10. Juni 2009 Theoretische Informatik Rainer Schrader Probabilistische Turingmaschinen Institut für Informatik 10. Juni 009 1 / 30 / 30 Gliederung probabilistische Turingmaschinen Beziehungen zwischen und NDTM es stellt

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

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren VI.4 Elgamal - vorgestellt 1985 von Taher Elgamal - nach RSA das wichtigste Public-Key Verfahren - besitzt viele unterschiedliche Varianten, abhängig von zugrunde liegender zyklischer Gruppe - Elgamal

Mehr

Attacken auf RSA und Das Rabin Kryptosystem

Attacken auf RSA und Das Rabin Kryptosystem Attacken auf RSA und Das Rabin Kryptosystem Institut für Informatik Universität Potsdam 4. Januar 2005 Überblick Wiederholung: RSA Das RSA Kryptosystem Attacken auf RSA RSA-FACTOR Wieners Algorithmus Das

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

Public-Key-Verschlüsselung und Diskrete Logarithmen

Public-Key-Verschlüsselung und Diskrete Logarithmen Public-Key-Verschlüsselung und Diskrete Logarithmen Carsten Baum Institut für Informatik Universität Potsdam 10. Juni 2009 1 / 30 Inhaltsverzeichnis 1 Mathematische Grundlagen Gruppen, Ordnung, Primitivwurzeln

Mehr

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 12.05.2014 1 / 26 Überblick 1 Hashfunktionen Erinnerung Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel:

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

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

THEORETISCHE INFORMATIK UND LOGIK

THEORETISCHE INFORMATIK UND LOGIK THEORETISCHE INFORMATIK UND LOGIK 9. Vorlesung: NP und NP-Vollständigkeit Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 10. Mai 2017 Rückblick PTime und LogSpace als mathematische Modelle

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

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1 Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in

Mehr

Literatur. ISM SS 2017 Teil 8/Asymmetrische Verschlüsselung

Literatur. ISM SS 2017 Teil 8/Asymmetrische Verschlüsselung Literatur [8-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001 [8-2] Schmeh, Klaus: Kryptografie. dpunkt, 4. Auflage, 2009 [8-3] Schneier,

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

6.2 Asymmetrische Verschlüsselung

6.2 Asymmetrische Verschlüsselung 6.2 Asymmetrische Verschlüsselung (asymmetric encryption, public-key encryption) Prinzip (Diffie, Hellman, Merkle 1976-78): Statt eines Schlüssels K gibt es ein Schlüsselpaar K E, K D zum Verschlüsseln

Mehr

Lösung zur Klausur zu Krypographie Sommersemester 2005

Lösung zur Klausur zu Krypographie Sommersemester 2005 Lösung zur Klausur zu Krypographie Sommersemester 2005 1. Bestimmen Sie die zwei letzten Ziffern der Dezimaldarstellung von 12 34 Es gilt: 12 34 = 12 32+2 = 12 32 12 2 = 12 (25) 12 2 = ((((12 2 ) 2 ) 2

Mehr

Das Verschlüsseln verstehen

Das Verschlüsseln verstehen Das Verschlüsseln verstehen Kurz-Vorlesung Security Day 2014 Prof. (FH) Univ.-Doz. DI. Dr. Ernst Piller Kurzvorlesung "Das Verschlüsseln verstehen", Security Day 2014, Ernst Piller 1 Warum eigentlich Verschlüsselung

Mehr

IT-Sicherheitsmanagement. Teil 8: Asymmetrische Verschlüsselung

IT-Sicherheitsmanagement. Teil 8: Asymmetrische Verschlüsselung IT-Sicherheitsmanagement Teil 8: Asymmetrische Verschlüsselung 02.01.18 1 Literatur [8-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001

Mehr

Literatur. [8-9] ISM WS 2018/19 Teil 8/Asymmetrische Verschlüsselung

Literatur. [8-9]   ISM WS 2018/19 Teil 8/Asymmetrische Verschlüsselung Literatur [8-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001 [8-2] Schmeh, Klaus: Kryptografie. dpunkt, 6. Auflage, 2017 [8-3] Schneier,

Mehr

IT-Sicherheit. Jun.-Prof. Dr. Gábor Erdélyi. Siegen, 22. November 2017 WS 2017/2018

IT-Sicherheit. Jun.-Prof. Dr. Gábor Erdélyi. Siegen, 22. November 2017 WS 2017/2018 IT-Sicherheit WS 2017/2018 Jun.-Prof. Dr. Gábor Erdélyi Lehrstuhl für Entscheidungs- und Organisationstheorie, Universität Siegen Siegen, 22. November 2017 Kerckhoffssches Prinzip Die Sicherheit eines

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 16.11.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

3. Lösungsblatt

3. Lösungsblatt TECHNISCHE UNIVERSITÄT DARMSTADT FACHGEBIET THEORETISCHE INFORMATIK PROF JOHANNES BUCHMANN NABIL ALKEILANI ALKADRI Einführung in die Kryptographie WS 7/ 8 3 Lösungsblatt 67 P Matrizen und Determinanten

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 15.05.2017 1 / 25 Überblick 1 Hashfunktionen Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel: RSA

Mehr

Betriebssysteme und Sicherheit Sicherheit. Florian Kerschbaum TU Dresden Wintersemester 2011/12

Betriebssysteme und Sicherheit Sicherheit. Florian Kerschbaum TU Dresden Wintersemester 2011/12 Betriebssysteme und Sicherheit Sicherheit Florian Kerschbaum TU Dresden Wintersemester 2011/12 Begriffe Kryptographie: Geheimschrift Nachrichten schreiben ohne das sie von einem Anderen gelesen (verändert)

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

Mehr

Public-Key-Kryptographie

Public-Key-Kryptographie Kapitel 2 Public-Key-Kryptographie In diesem Kapitel soll eine kurze Einführung in die Kryptographie des 20. Jahrhunderts und die damit verbundene Entstehung von Public-Key Verfahren gegeben werden. Es

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

Mathematische Grundlagen der Kryptografie (1321) SoSe 06

Mathematische Grundlagen der Kryptografie (1321) SoSe 06 Mathematische Grundlagen der Kryptografie (1321) SoSe 06 Klausur am 19.08.2006: Lösungsvorschläge zu den Aufgaben zu Aufgabe I.1 (a) Das numerische Äquivalent zu KLAUSUR ist die Folge [10, 11, 0, 20, 18,

Mehr

Kryptographie I Symmetrische Kryptographie

Kryptographie I Symmetrische Kryptographie Kryptographie I Symmetrische Kryptographie Alexander May Fakultät für Mathematik Ruhr-Universität Bochum Wintersemester 2009/10 Krypto I - Vorlesung 01-12.10.2009 Verschlüsselung, Kerckhoffs, Angreifer,

Mehr

Das RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel

Das RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel in der Praxis Proseminar Kryptographische Protokolle SS 2009 5.5.2009 in der Praxis Gliederung 1 Grundlegendes über RSA 2 in der Praxis Allgemeine Vorgehensweise zur Verschlüsselung Signieren mit RSA 3

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

subexponentielle Algorithmen (d.h. Laufzeiten wie z. B. 2 n oder

subexponentielle Algorithmen (d.h. Laufzeiten wie z. B. 2 n oder Wie schwer ist SAT? Ziel: Nachweis, dass SAT eines der schwersten Probleme in NP ist: SAT ist das erste bekannte Beispiel eines NP-vollständigen Problems. Demnach kann SAT mit bisher bekannten Techniken

Mehr

Anwendungen der Linearen Algebra: Kryptologie

Anwendungen der Linearen Algebra: Kryptologie Anwendungen der Linearen Algebra: Kryptologie Philip Herrmann Universität Hamburg 5.12.2012 Philip Herrmann (Universität Hamburg) AnwLA: Kryptologie 1 / 28 No one has yet discovered any warlike purpose

Mehr

AES und Public-Key-Kryptographie

AES und Public-Key-Kryptographie Jens Kubieziel jens@kubieziel.de Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik 22. Juni 2009 Beschreibung des Algorithmus Angriffe gegen AES Wichtige Algorithmen im 20. Jahrhundert

Mehr

Berechenbarkeits- und Komplexitätstheorie

Berechenbarkeits- und Komplexitätstheorie Berechenbarkeits- und Komplexitätstheorie Lerneinheit 5: Die Klasse NP Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2015/2016 26.9.2015 Einleitung Thema dieser Lerneinheit

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

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

RSA-Verfahren Schnelle Ver- / Entschlüsselung Zusammenhang mit dem Faktorisierungsproblem. RSA-Verfahren. Herwig Stütz

RSA-Verfahren Schnelle Ver- / Entschlüsselung Zusammenhang mit dem Faktorisierungsproblem. RSA-Verfahren. Herwig Stütz 2007-11-23 Überblick 1 2 Schnelle modulare Exponentiation Chinesischer Restsatz 3 Allgemeines Public-Key Methode Rivest, Shamir und Adleman 1977 Sicherheit des Verfahrens beruht auf Schwierigkeit der Primfaktorenzerlegung

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

Kryptologie. Bernd Borchert. Univ. Tübingen, SS Vorlesung. Doppelstunde 2. - One Time Pad - Authentisierung

Kryptologie. Bernd Borchert. Univ. Tübingen, SS Vorlesung. Doppelstunde 2. - One Time Pad - Authentisierung Kryptologie Bernd Borchert Univ. Tübingen, SS 2017 Vorlesung Doppelstunde 2 - One Time Pad - Authentisierung Homophone Chiffre Monoalphabetische Chiffre : Bijektion der Buchstaben: A B C D E F G H I J

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

EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE

EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE Steffen Reith reith@thi.uni-hannover.de 22. April 2005 Download: http://www.thi.uni-hannover.de/lehre/ss05/kry/folien/einleitung.pdf WAS IST KRYPTOGRAPHIE? Kryptographie

Mehr

Zusammenfassung. Warum polynomielle Reduktionen? Definition NP-vollständig [K5.1.1] NP-Vollständigkeitstheorie [K5]

Zusammenfassung. Warum polynomielle Reduktionen? Definition NP-vollständig [K5.1.1] NP-Vollständigkeitstheorie [K5] Warum polynomielle Reduktionen? erlauben feinere Unterteilungen von Komplexitätsklassen als Turing- Reduktionen, genügen für die betrachteten Probleme, für alle von uns betrachteten Komplexitätsklassen

Mehr

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit Theorie der Informatik 13. Mai 2015 20. P, NP und polynomielle Reduktionen Theorie der Informatik 20. P, NP und polynomielle Reduktionen 20.1 P und NP Malte Helmert Gabriele Röger 20.2 Polynomielle Reduktionen

Mehr

Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Public-Key-Kryptosystem

Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Public-Key-Kryptosystem Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Technische Universität Graz 29. Dezember 2008 Überblick Unterschied zwischen symmetrischen und asymmetrischen Verschlüsselungsverfahren

Mehr

Hintergründe zur Kryptographie

Hintergründe zur Kryptographie 3. Januar 2009 Creative Commons by 3.0 http://creativecommons.org/licenses/by/3.0/ CAESAR-Chiffre Vigenère CAESAR-Chiffre Vigenère Einfache Verschiebung des Alphabets Schlüsselraum: 26 Schlüssel Einfaches

Mehr

Eik List, Jakob Wenzel Kryptographie (WS 16/17) 1: Einleitung 12 1:

Eik List, Jakob Wenzel Kryptographie (WS 16/17) 1: Einleitung 12 1: 1: Einleitung 12 1: 1: Einleitung Was ist Kryptographie? Kryptologie Kryptographie Codes erstellen Krypt(o)analyse Codes analysieren krýptein = verbergen (aus dem Griechischen) Für uns: Kryptographie =

Mehr

Halteproblem/Kodierung von Turing-Maschinen

Halteproblem/Kodierung von Turing-Maschinen Halteproblem/Kodierung von Turing-Maschinen Unser Ziel ist es nun zu zeigen, dass das sogenannte Halteproblem unentscheidbar ist. Halteproblem (informell) Eingabe: Turing-Maschine M mit Eingabe w. Frage:

Mehr

Hybride Verschlüsselungsverfahren

Hybride Verschlüsselungsverfahren Hybride Verschlüsselungsverfahren Ziel: Flexibilität von asym. Verfahren und Effizienz von sym. Verfahren. Szenario: Sei Π = (Gen, Enc, Dec) ein PK-Verschlüsselungsverfahren und Π = (Gen, Enc, Dec ) ein

Mehr

Einführung in die asymmetrische Kryptographie

Einführung in die asymmetrische Kryptographie !"#$$% Einführung in die asymmetrische Kryptographie Dipl.-Inform. Mel Wahl Prof. Dr. Christoph Ruland Universität Siegen Institut für digitale Kommunikationssysteme Grundlagen Verschlüsselung Digitale

Mehr

7: Grundlagen der Public-Key-Kryptographie

7: Grundlagen der Public-Key-Kryptographie 7: Grundlagen der Public-Key-Kryptographie 214 7: Public-Key-Kryptographie 7: Grundlagen der Public-Key-Kryptographie Wiederholung: Symmetrische Kryptographie 1 Schlüssel für Sender und Empfänger Benötigt

Mehr

Betriebssysteme und Sicherheit

Betriebssysteme und Sicherheit Betriebssysteme und Sicherheit Asymmetrische Kryptographie WS 2012/2012 Dr.-Ing. Elke Franz Elke.Franz@tu-dresden.de 1 Überblick 1 Prinzip asymmetrischer (Konzelations-)Systeme 2 Mathematische Grundlagen

Mehr

Vorlesung Diskrete Strukturen Gruppe und Ring

Vorlesung Diskrete Strukturen Gruppe und Ring Vorlesung Diskrete Strukturen Gruppe und Ring 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 in

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

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