Ver- und Entschlüsselung
|
|
|
- Jörg Weiss
- vor 9 Jahren
- Abrufe
Transkript
1 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 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 1 Ver- und Entschlüsselung Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 48 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. 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 49 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 50
2 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) 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. Alice Bob Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 51 Historische Verschlüsselungsverfahren Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 52 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. 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 53 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 54
3 Historische Verschlüsselungsverfahren 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) 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 55 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 56 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 57 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 58
4 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 59 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) 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 60 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 61 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 62
5 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 63 Wahrscheinlichkeitsrechnung Bedingte Wahrscheinlichkeit (Definition) Die bedingte Wahrscheinlichkeit ist definiert durch falls P(B) 0. P(A B) = P(A B), P(B) 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. 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 A = {1, 3, 5} (Ergebnis ist ungerade) und B = {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 64 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 65 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 66
6 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 67 Wahrscheinlichkeitsrechnung Wahrscheinlichkeitsrechnung Sei S eine endliche Menge. Eine Zufallsvariable X : Ω S heißt gleichverteilt, falls Bemerkungen: P(X (ω) = s) = 1 S für alle s S 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 68 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. 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 69 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 70
7 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 71 Wahrscheinlichkeitsrechnung 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 72 Symmetrische Verschlüsselung: DES und AES Außerdem gilt: P(E = c) = 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 Wir betrachten nun moderne symmetrische Verschlüsselungsverfahren. (e, e) (e, e) Zusammengefasst: 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. Alice Bob Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 73 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 74
8 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. 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 Bits (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 75 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 77 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 76 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 (AddRoundKey) Jedes Byte der Nachricht wird durch ein anderes Byte substituiert (diese Substitionen werden in sogenannten S-Boxen tabelliert). (SubBytes) Die Bytes der Nachricht werden tabellarisch angeordnet und (spalten- oder zeilenweise) permutiert. (ShiftRows) Die Bytes der Nachricht werden untereinander auf bestimmte Weise mit xor verknüpft. (MixColumns) Die in Klammern angegebenen englischen Bezeichnungen stammen aus AES. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 78
9 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. 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 79 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 81 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 80 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 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 82
10 Symmetrische Verschlüsselung: DES und AES Symmetrische Verschlüsselung: DES und AES Affine Transformation: = Ergebnis: (Vektoren werden von unten nach oben gelesen!), entspricht x 7 + x 6 + x + 1 Bemerkungen: Die Subsitution mittels einer S-Box entspricht einer monoalphabetischen Verschlüsselung. 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 83 Symmetrische Verschlüsselung: DES und AES Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 84 Symmetrische Verschlüsselung: DES und AES AES S-Box a b c d e f c 77 7b f2 6b 6f c b fe d7 ab ca 82 c9 7d fa f0 ad d4 a2 af 9c a4 72 c0 20 b7 fd f f7 cc 34 a5 e5 f1 71 d c7 23 c a e2 eb 27 b c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf 60 d0 ef aa fb 43 4d f9 02 7f 50 3c 9f a a3 40 8f 92 9d 38 f5 bc b6 da ff f3 d2 80 cd 0c 13 ec 5f c4 a7 7e 3d 64 5d f dc 22 2a ee b8 14 de 5e 0b db a0 e0 32 3a 0a c c2 d3 ac e4 79 b0 e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08 c0 ba e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a d0 70 3e b f6 0e b9 86 c1 1d 9e e0 e1 f d9 8e 94 9b 1e 87 e9 ce df f0 8c a1 89 0d bf e d 0f b0 54 bb 16 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 85 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 86
11 Asymmetrische Verschlüsselung Asymmetrische Verschlüsselung Geschichte: Wir betrachten nun asymmetrische Verschlüsselungsverfahren: e (e, d) Alice Bob 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 87 Asymmetrische Verschlüsselung: RSA Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 88 Asymmetrische Verschlüsselung: RSA Beispiele (Eulersche ϕ-funktion): 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} 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 89 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 90
12 Asymmetrische Verschlüsselung: RSA 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 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 91 Asymmetrische Verschlüsselung: RSA Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 92 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. 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 93 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 94
13 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 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 95 Asymmetrische Verschlüsselung: RSA Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 96 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. 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 97 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 98
14 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 Sicherheit von Kryptosystemen 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. Dies ist beispielsweise möglich, wenn ein Schlüssel auch zum Signieren verwendet wird. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 100 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). 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 selbst 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 101 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 102
15 Wiederholung Komplexitätstheorie 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. 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 103 Wiederholung Komplexitätstheorie Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 104 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. 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 105 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 106
16 Wiederholung Komplexitätstheorie 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) 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 107 Wiederholung Komplexitätstheorie Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 108 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. 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 M A f f (x) M B Ja Nein Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 109 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 110
17 Wiederholung Komplexitätstheorie 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. 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 111 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 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 112 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
18 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. Jede 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. Kryptographie und die Komplexitätsklasse NP Entschlüsselungsproblem liegt in NP (Satz) Wir betrachten ein asymmetrisches 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 Bemerkung: Falls die Verschlüsselung eindeutig rückgängig gemacht werden kann, könnte man hier 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... in NP. L E = {(m, c, e) u Σ : E(m u, e) = c} Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 115 Kryptographie und die Komplexitätsklasse NP Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 116 Kryptographie und die Komplexitätsklasse NP Bemerkungen: 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. 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 117 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 118
19 Kryptographie und die Komplexitätsklasse NP 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., die Berechnung von L E und D ist gleich schwierig. 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. 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 119 Kryptographie und die Komplexitätsklasse NP Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 120 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). 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 121 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 122
20 Kryptographie und die Komplexitätsklasse NP 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 endliche 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. 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 123 Randomisierung Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 124 Randomisierung Bestimme Zufallspunkte in einem Quadrat und überprüfe, ob sie innerhalb des eingeschriebenen Kreises liegen: 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 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 126
21 Randomisierung 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 π. 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 127 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 128 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 129 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 130
22 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 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} Band mit Zufallsbits Coin-Tossing Tape Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 130 Probabilistische Turingmaschinen Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 131 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. 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. 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 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 133
23 Probabilistische Turingmaschinen 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 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 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 M 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. 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 136 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 137
24 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. 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 x i n n, 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 138 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 139 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 Ungleichheit getestet werden. Dazu überprüft man, ob (p q) NON-ZERO-POLY. 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 140 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 141
25 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 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 142 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 143 Wir definieren nun folgende Ereignisse: Es gilt: PN = {(a 1,..., a n ) Ω p(a 1,..., a n ) = 0} PTN = {(a 1,..., a n ) Ω p t (a 1,..., a n 1 ) = 0} P(PN) = P(PN PTN) P(PTN) + P(PN PTN) P(PTN) P(PTN) + P(PN PTN) Dabei ist PTN = Ω\PTN. Wir schätzen nun noch die beiden Wahrscheinlichkeiten in der Summe ab: P(PTN) k t N, denn p t ist ein Polynom vom Grad k t mit weniger Variablen, so dass die Induktionsvoraussetzung zutrifft. P(PN PTN) t N, denn es wird vorausgesetzt, dass p t (a 1,..., a n 1 ) 0 gilt. Dies ist der höchste Koeffizient des Polynoms q definiert durch: q(x n ) = p(a 1,..., a n 1, x n ) Dieses Polynom ist nicht identisch mit Null, da der höchste Koeffizient ungleich 0 ist. Die Wahrscheinlichkeit, dass unter dieser Voraussetzung p(a 1,..., a n ) = 0 gilt, ist die Wahrscheinlichkeit, dass wir eine Nullstelle von q wählen. Und diese Wahrscheinlichkeit ist kleiner gleich t N, da q Grad t hat. Insgesamt ergibt sich: P(p(a 1,..., a n ) = 0) k t N + t N = k N Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 144 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 145
26 NON-ZERO-POLY liegt in RP NON-ZERO-POLY RP Beweis: aufgrund der Vorüberlegungen müssen wir uns nur noch überlegen, dass man die Zahlen a 1,..., a n so wählen kann, dass p(a 1,..., a n ) = 0 mit Wahrscheinlichkeit kleiner 1 2 gilt, falls p nicht identisch Null ist. Nach dem vorherigen Satz müssen wir a 1,..., a n zufällig aus der Menge {1,..., 2k} wählen. Für das Problem NON-ZERO-POLY gibt es noch keinen bekannten deterministischen Polynomzeitalgorithmus. Falls das Polynom als arithmetischer Ausdruck gegeben ist, dann nützt es auch nichts, den Ausdruck mit Hilfe des Distributivgesetzes auszumultiplizieren und das Polynom als Summe von Termen der Form a x i 1 1 x i n n darzustellen. Diese Darstellung ist im Normalfall exponentiell größer als der ursprüngliche Ausdruck. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 146 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 147 Außerdem gilt folgende Beziehung zwischen RP und NP: Es ist relativ leicht, P und RP miteinander zu vergleichen: P vs. RP Es gilt P RP. Begründung: jede deterministische Turingmaschine kann auch als probabilistische Turingmaschine aufgefasst werden, die ihren Zufallsbit-Bandinhalt ignoriert. NP vs. RP Es gilt RP NP. Beweis: falls L RP gilt, so gibt es eine probabilistische Turingmaschine, die ein Wort w L mit Wahrscheinlichkeit größer gleich 1 2 akzeptiert und ein Wort w L nie akzeptiert. Dies kann durch eine nicht-deterministische Turingmaschine simuliert werden, die ihre Zufallsbits selbst rät. Falls w L, so gibt es eine Folge von Zufallsbits, die zur Akzeptanz von w führt. Falls w L, so gibt es eine solche Folge nicht. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 148 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 149
27 Wir betrachten noch weitere Komplexitätsklassen: Komplexitätsklasse BPP (bounded-error probabilistic polynomial time) Eine Sprache L Σ gehört zu der Klasse BPP genau dann, wenn es eine probabilistische Turingmaschine M 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) 1 4. Bemerkungen: Es macht wenig Sinn in obiger Definition P(M akzeptiert x) 1 2 und P(M akzeptiert x) 1 2 zu fordern. Dann würde ein einfacher Münzwurf, bei dem mit Wahrscheinlichkeit 1 2 akzeptiert oder nicht akzeptiert wird, den Anforderungen an die Turingmaschine genügen. Wie bei RP kann die Wahrscheinlichkeit für eine falsche Antwort vermindert werden, indem man die Maschine mehrfach laufen lässt. Jedes andere Paar von Zahlen p, q [0, 1] mit p > 1 2 und q < 1 2 kann statt 3 4 und 1 4 verwendet werden. ( Übungsaufgabe) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 150 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 151 Über das Verhältnis von RP und BPP weiß man folgendes, was daraus folgt, dass man die Akzeptanzwahrscheinlichkeit einer RP-Turingmaschine beliebig erhöhen kann. RP vs. BPP Es gilt RP BPP. Es ist unbekannt wie sich NP und BPP zueinander verhalten. Bisher ist weder NP BPP noch BPP NP bekannt. Zuletzt betrachten wir noch folgende Komplexitätsklasse: Komplexitätsklasse ZPP (zero-error probabilistic polynomial time) Eine Sprache L Σ gehört zu der Klasse ZPP genau dann, wenn es eine probabilistische Turingmaschine M gibt, so dass der Erwartungswert der Laufzeit polynomial beschränkt ist und für jede Eingabe x Σ gilt: 1 falls x L, dann gilt P(M akzeptiert x) = P(a M (x) = 1) = 1. 2 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 152 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 153
28 Was bedeutet der Erwartungswert der Laufzeit ist polynomial beschränkt? Erwartungswert Für eine Zufallsvariable X : Ω R ist der Erwartungswert E[X ] = ω Ω P(ω) X (ω) = y Y P(X = y) y, wobei Y = {X (ω) ω Ω} R die Werte sind, die X annehmen kann. Für die Turingmaschinen in der Definition von ZPP heißt das, dass für jedes Wort x gelten muss: die Zufallsvariable t M (x), die die Laufzeit von M in Abhängigkeits der Zufallsbits beschreibt, erfüllt E[t M (x)] p( x ), wobei p ein Polynom ist. Für Probleme in ZPP gilt also: Es gibt Algorithmen für diese Probleme, die immer die richtige Antwort geben. Aber: es ist unklar, ob diese Algorithmen immer polynomiale Laufzeit haben. Im Mittel, wenn man den Erwartungswert betrachtet, ist die Laufzeit aber polynomial. Intuitiv bedeutet das, dass die Algorithmen nur sehr selten lange Laufzeiten haben. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 154 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 155 Bemerkungen: Algorithmen, die arbeiten wie die Turingmaschinen, die ZPP-Probleme entscheiden, nennt man Las-Vegas-Algorithmen: die Laufzeit, aber nicht die Ausgabe des Algorithmus ist randomisiert. Insbesondere ist der Erwartungswert der Laufzeit polynomial beschränkt, die Ausgabe ist unabhängig von den Zufallsbits. Verfahren, bei denen auch die Ausgabe randomisiert ist, nennt man Monte-Carlo-Verfahren. Sie entsprechen den Turingmaschinen für RP- und BPP-Probleme. Hier ist die Laufzeit immer polynomial beschränkt, die Ausgabe ist aber abhängig von den Zufallsbits. ZPP und RP Ein Problem L liegt in ZPP genau dann, wenn L und sein Komplement in RP liegen. Zum Beweis dieser Aussage benötigen wir die Markow-Ungleichung: Markow-Ungleichung Für eine Zufallsvariable X : Ω R + 0 P(X t) E[X ] t und t R mit t > 0 gilt: Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 156 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 157
29 Beweis: Zunächst beobachten wir, dass ZPP unter Komplement abgeschlossen ist (einfach Ja- und Nein-Ausgänge der Turingmaschine vertauschen). : Wir zeigen nun, dass ZPP RP gilt. Damit haben wir die Richtung von links nach rechts gezeigt. Sei L ZPP und sei M eine probabilistische Turingmaschine, die L akzeptiert. Der Erwartungswert der Laufzeit von M ist durch das Polynom p beschränkt. Wir konstruieren eine neue Turingmaschine M, die bei Eingabe von x mit n = x folgendes macht: sie simuliert M 2p(n) Schritte lang und akzeptiert nur dann, wenn M bis dahin akzeptiert hat. Es ist klar, dass P(M akzeptiert x) = 0 gilt, falls x L. Außerdem gilt, falls x L: P(M akzeptiert x) = P(M akzeptiert x in höchstens 2p(n) Schritten) 1 2. Denn nach der Markow-Ungleichung überschreitet eine Zufallsvariable das Doppelte ihres Erwartungswertes nur mit Wahrscheinlichkeit kleiner gleich 1 2. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 158 : Für die Richtung von rechts nach links sei nun L eine Sprache die in RP liegt und deren Komplement auch in RP liegt. D.h., wir haben zwei Turingmaschinen M 1, M 2, so dass M 1 Wörter immer korrekt akzeptiert und M 2 Wörter immer korrekt zurückweist. Wir nehmen an, dass die Laufzeit beider Maschinen durch das Polynom p beschränkt ist. Wir lassen M 1 und M 2 immmer wieder solange parallel laufen bis entweder M 1 akzeptiert oder M 2 das Wort zurückweist. Bei einem Durchlauf ist die Wahrscheinlichkeit für das Eintreten dieses Ereignisses mindestens 1 2. D.h., die erwartete Laufzeit ist kleiner gleich: ( ) 1 i 1 1 2p(n) = 2p(n) 2 2 i = 2p(n) 1 1 = 4p(n) 2 i=0 i=0 wobei n die Länge des betrachteten Wortes ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 160 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 159 Dabei ist p(n) die Anzahl der Schritte eines Durchlaufs einer Turingmaschine und 2p(n) die Zahl der Schritte für beide Maschinen. Ein Durchlauf für jede Maschine wird mindestens durchgeführt. Die Wahrscheinlichkeit dafür, dass der (i + 1)-te Durchlauf benötigt wird, ist kleiner gleich ( 1 i 2) (alle vorherigen Durchläufe brachten kein definitives Ergebnis). Die Reihe konvergiert zu 2 und damit haben wir wiederum polynomiale Laufzeit. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 161
30 Analog zu co-np kann man auch co-rp definieren: Komplexitätsklasse co-rp (Definition) Die Komplexitätsklasse co-rp enthält genau die Sprachen, deren Komplement in RP liegt. Damit kann man den obigen Satz auch folgendermaßen notieren: ZPP = RP co-rp Es gelten folgende Beziehungen zwischen probabilistischen Komplexitätsklassen: P ZPP = RP co-rp RP BPP RP NP Es ist jedoch nichts über das Verhältnis zwischen BPP und NP bekannt. Außerdem gibt es Vermutungen, dass P und ZPP gleich sein könnten, aber auch das ist nicht bewiesen. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 162 Primzahltests Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 163 Primzahltests Wir betrachten nun den Miller-Rabin-Primzahltest, ein probabilistisches Verfahren, das einer RP-Turingmaschine entspricht. Primzahltests sind wichtig, um für Verschlüsselungsverfahren wie beispielsweise RSA große Primzahlen zu finden. Wenn die eingegebene Zahl eine Primzahl ist, dann gibt der Algorithmus dies auch immer aus. Wenn die Zahl zusammengesetzt, d.h., keine Primzahl, ist, dann irrt er sich mit Wahrscheinlichkeit kleiner gleich 1 2. Das bedeutet auch, dass man sich auf den Test verlassen kann, wenn er behauptet, dass eine Zahl zusammengesetzt ist. Wir zeigen also, dass folgendes Problem in RP liegt: COMPOSITE Eingabe: eine natürliche Zahl n > 1 Ausgabe: ist n zusammengesetzt, d.h., gibt es natürliche Zahlen k, l > 1 mit n = k l? Das Komplement von COMPOSITE ist das Problem PRIMES, das auch in RP (und sogar in P) liegt. Allerdings werden wir das hier nicht zeigen. PRIMES Eingabe: eine natürliche Zahl n > 1 Ausgabe: ist n eine Primzahl? Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 164 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 165
31 Primzahltests Primzahltests Die erste Idee, die hinter dem Miller-Rabin-Primzahltest steckt, ist die folgende: Fermat-Zeugen Sei n > 1 eine natürliche Zahl und a {1,..., n 1}. Falls a n 1 mod n 1 gilt, so ist n zusammengesetzt. Man nennt a dann auch einen Fermat-Zeugen dafür, dass n zusammengesetzt ist. Idee: Für ein gegebenes n wähle ein zufälliges a {1,..., n 1} und teste, ob a n 1 mod n 1. Falls ja, gebe zusammengesetzt zurück, ansonsten prim. Dieser extrem einfach Test funktioniert sogar beinahe. Er schlägt nur für sogenannte Carmichael-Zahlen fehl, das sind zusammengesetzte Zahlen, die sehr wenige Fermat-Zeugen haben. Diese Behauptung folgt unmittelbar aus dem Satz von Euler-Fermat (siehe weiter oben im Abschnitt über RSA). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 166 Primzahltests Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 167 Primzahltests Wenn eine Zahl keine der relative seltenen Carmichael-Zahlen ist, dann gibt es sogar sehr viele Fermat-Zeugen. Carmichael-Zahlen Eine zusammengesetzte Zahl n heißt Carmichael-Zahl, falls alle Fermat-Zeugen dieser Zahl nicht teilerfremd zu n sind. D.h., jedes a {1,..., n 1} mit ggt (a, n) = 1 erfüllt a n 1 mod n = 1. Anzahl der Fermat-Zeugen Sei n eine zusammengesetzte Zahl, die keine Carmichael-Zahl ist. Dann ist die Anzahl der Fermat-Zeugen in {1,..., n 1} größer gleich n 2. Bemerkung: Für alle n gilt: ein Nicht-Fermat-Zeuge a für n ist immer teilerfremd zu n. Die kleinste solche Carmichael-Zahl ist 561 = Es ist außerdem bekannt, dass jede Carmichael-Zahl ungerade ist. Beweis: Zur Erinnerung: die Elemente von Z n = {a {1,..., n 1} ggt (a, n) = 1} bilden eine Gruppe bezüglich der Multiplikation. Wir betrachten nun B = {a Z n a n 1 mod n = 1}. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 168 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 169
32 Primzahltests Man kann leicht zeigen, dass B eine Untergruppe von Z n ist (1 B und B ist abgeschlossen unter Multiplikation und Inversenbildung). B ist eine Untergruppe von Z n ist aber nicht gleich Z n, denn da n keine Carmichael-Zahl ist, enthält Z n mindestens einen Fermat-Zeugen. Nach dem Satz von Lagrange ist die Anzahl der Elemente einer Untergruppe ein Teiler der Anzahl der Elemente der gesamten Gruppe. Daher gilt B Z n 2 < n 2. Außerdem sind alle Elemente von Z n \Z n Fermat-Zeugen. Daher ist die Zahl der Nicht-Fermat-Zeugen durch n 2 beschränkt. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 170 Primzahltests Man kann nun folgendes zeigen: Wahrscheinlichkeit für einen Miller-Zeugen Gegeben sei eine Carmichael-Zahl n, insbesondere ist damit n ungerade. Sei außerdem n 1 = 2 k m mit m ungerade und k 1. Für ein zufällig gewähltes a ist die Wahrscheinlichkeit, dass sich in 2i der Menge {a m mod n 0 i < k} ein Miller-Zeuge für n befindet, größer gleich 1 2. Der Beweis ist recht technisch, ist jedoch ähnlich zu dem Nachweis, dass eine Zahl n, die keine Carmichael-Zahl ist, mehr als n 2 Fermat-Zeugen hat. Auch hier wird der Satz von Lagrange verwendet. Bei Zahlen, die keine Carmichael-Zahlen sind, ist die Wahrscheinlichkeit, einen Miller-Zeugen zu finden, viel geringer. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 172 Primzahltests Für Carmichael-Zahlen benötigen wir nun noch ein zusätzliches Kriterium. Miller-Zeuge Sei n > 1 und sei b {1,..., n 1} mit b 1 b n 1 b 2 mod n = 1 Dann ist n eine zusammengesetzte Zahl. Die Zahl b heißt auch Miller-Zeuge für n oder nicht-triviale Quadratwurzel von 1. Beweis: es gilt n (b 2 1) = (b 1)(b + 1), jedoch n b 1 und n b + 1. Damit kann n keine Primzahl sein, denn wenn eine Primzahl ein Produkt teilt, teilt sie auch einen der Faktoren. Bemerkung: b mod n n 1 ist äquivalent zu b 1 (mod n). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 171 Primzahltests Man sucht nun nicht zufällig nach solchen Miller-Zeugen, sondern nutzt folgende Tatsachen aus: Angenommen, n ist ungerade und der Test für den Fermat-Zeugen schlägt fehl, d.h., a n 1 mod n = 1. Sei nun n 1 = 2 k m für k 1 und m ungerade. Falls a m mod n = 1 gilt, dann geben wir auf und geben (evtl. zu Unrecht) aus, dass die Zahl eine Primzahl ist. Ansonsten (a m mod n 1) quadrieren wir die Zahl a m immer wieder, bis a 2k m erreicht ist. Da letztere Zahl kongruent 1 modulo n ist, erreichen wir irgendwann den ersten Index i mit a 2i m mod n = 1 (und dies gilt auch für Indizes größer als i). Falls nun a 2i 1 m mod n n 1 gilt, so haben wir einen Miller-Zeugen b = a 2i 1 m gefunden ( Zahl ist zusammengesetzt!). Ansonsten geben wir wieder auf und geben prim aus. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 173
33 Primzahltests Primzahltests Bemerkung: in der Folge a m mod n,..., a 2i m mod n,..., a 2k m mod n = a n 1 mod n können nur folgende Muster auftauchen. 1, 1,..., 1 Primzahl??,...,?, 1,..., 1 zusammengesetzte Zahl!?,...,?, n 1, 1,..., 1 Primzahl??,...,? bzw.?,...,?, n 1 zusammengesetzte Zahl! (kann nur auftreten, falls a n 1 mod n 1 und damit a ein Fermat-Zeuge ist) Dabei steht? für eine Zahl ungleich 1 und ungleich n 1. Beispiel: Sei n = 561. Wir wählen zufällig a = 5 und testen, ob a ein Fermat-Zeuge für n ist: mod 561 = 1. D.h., 5 ist kein Fermat-Zeuge. Es gilt 560 = Wir berechnen 5 35 mod 561 = mod 561 = 23 2 mod 561 = mod 561 = mod 561 = mod 561 = mod 561 = mod 561 = 67 2 mod 561 = 1 (Das wurde vorher schon berechnet!) Also ist b = 67 ein Miller-Zeuge und das Verfahren gibt aus, dass 561 zusammengesetzt ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 174 Primzahltests Das Verfahren kann effizient so implementiert werden, dass zunächst a m mod n berechnet wird und dann sukzessive Quadrate genommen werden. Miller-Rabin-Primzahltest Eingabe: eine ungerade natürliche Zahl n 3 Wähle zufällig ein a {1,..., n 1} falls ggt (a, n) 1, gebe zusammengesetzt aus sei n 1 = 2 k m mit m ungerade falls a m mod n = 1, gebe prim aus for i = 0 to k 1 do falls a 2i m mod n = n 1, dann gebe prim aus end gebe zusammengesetzt aus Gerade natürliche Zahlen müssen separat getestet werden. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 176 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 175 Primzahltests Zusammenfassung (Miller-Rabin-Primzahltest): Es gibt ein Verfahren, das bei Eingabe einer natürlichen Zahl n prim oder zusammengesetzt ausgibt, wobei mit einer Wahrscheinlichkeit größer gleich 1 2 zusammengesetzt ausgegeben wird, wenn n zusammengesetzt ist. immer prim ausgegeben wird, wenn n eine Primzahl ist. Das Verfahren hat außerdem polynomiale Laufzeit. Daher folgt COMPOSITE RP. Man kann auch PRIMES RP nachweisen, daher gilt COMPOSITE RP co-rp = ZPP und auch PRIMES ZPP. Inzwischen wurde sogar gezeigt, dass PRIMES P gilt (Agrawal, Kayal, Saxena). Dennoch wird der probabilistische Test noch bevorzugt, da er wesentlich effizienter ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 177
34 Primzahltests Einwegfunktionen Weitere Bemerkungen: Ein wichtiges Konzept in der Komplexitätstheorie sind sogenannte Zeugen oder Zertifikate, die garantieren, dass ein Wort x in einer Sprache L liegt. Für probabilistische Komplexitätsklassen ist die Situation wie folgt: Gibt es für jedes Wort x ausreichend viele Zeugen für x L und x L, so liegt L in ZPP. Gibt es für jedes Wort x ausreichend viele Zeugen für x L, so liegt L in RP. Gibt es keine Zeugen, aber erhält hat man trotzdem ausreichend hohe Wahrscheinlichkeiten dafür, dass x L bzw. x L gilt, so liegt L in BPP. Wir betrachten nun sogenannte Einwegfunktionen, das sind intuitiv Funktionen, die leicht zu berechnen sind sie liegen in FP und deren Umkehrung fast immer schwer zu berechnen ist. Zusätzlich fordert man im Allgemeinen auch noch, dass die Umkehrung sogar dann schwer zu berechnen ist, wenn man ein probabilistisches Verfahren verwendet. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 178 Einwegfunktionen Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 179 Einwegfunktionen Wir betrachten im Folgenden nur ehrliche Funktionen. Das sind Funktionen, die ihre Eingabe nicht zu stark verkürzen. Denn wenn die Größe des Urbildes nicht polynomial in der Größe des Bildes ist, dann kann das Urbild sowieso nicht in polynomialer Zeit gefunden werden. Damit gäbe es triviale Einwegfunktionen, an denen wir aber nicht interessiert sind. Ehrliche Funktionen Eine Funktion f : Σ Γ heißt ehrlich, falls es ein Polynom q gibt, so dass für alle x Σ gilt: x q( f (x) ) Außerdem benötigen wir um ausdrücken zu können, dass die Wahrscheinlichkeit ein Kryptosystem zu entschlüsseln vernachlässigbar gering ist den Begriff einer vernachlässigbaren Funktion. Vernachlässigbare Funktion Eine Funktion r : N 0 R + 0 heißt vernachlässigbar, wenn es für jedes Polynom p (mit p : N 0 N 0 ) eine Zahl C N 0 gibt mit für n > C. r(n) < 1 p(n) Anschaulich: wenn der Funktionswert n groß genug ist, dann fällt r schneller als jedes Polynom. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 180 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 181
35 Einwegfunktionen Einwegfunktionen Einwegfunktion Eine Funktion f : {0, 1} {0, 1} heißt Einwegfunktion, falls f liegt in FP, f ist ehrlich und für jede probabilistische polynomzeitbeschränkte Turingmaschine M ist die Wahrscheinlichkeit vernachlässigbar, dass M ein korrektes Urbild für f (x) berechnet, falls x zufällig aus der Menge {0, 1} n gewählt wird. Wir betrachten den dritten Punkt der Definition noch etwas genauer: Notation: M(y) sei eine Zufallsvariable, die die Ausgabe der probabilistischen Turingmaschine M bei Terminierung angibt, wenn die Turingmaschine mit Eingabe y gestartet wurde. f (M(f (x))) = f (x) bedeutet, dass die Turingmaschine M korrekt ein Urbild von f (x) berechnet hat. Da f nicht bijektiv sein muss, können wir nicht erwarten, dass dieses Urbild auch gleich x sein muss. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 182 Einwegfunktionen Welche Wahrscheinlichkeit genau ist vernachlässigbar? Elementarereignisse: die Elementarereignisse stammen aus der Menge Ω = {0, 1} n {0, 1} q(q (n)), wobei q das Polynom ist, das die Laufzeit von M beschränkt und q das Polynom ist, das die Laufzeit der Maschine beschränkt, die f berechnet. D.h., ein Elementarereignis ist ein Paar bestehend aus einem Wort x {0, 1} n und einem Zufallsbit-String b. Alle Elementarereignisse sind gleich wahrscheinlich. Wir betrachten nun folgende Zufallsvariable XM n : XM n (x, b) 1 falls M bei Eingabe f (x) und mit Zufallsbits b = ein Urbild von f (x) bestimmt 0 sonst Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 183 Einwegfunktionen Warum fordert man nicht sogar, dass P(f (M(f (x))) = f (x)) für jedes x {0, 1} n vernachlässigbar ist? Die Elementarereignisse würden in diesem Fall nur aus den Zufallsbit-Strings bestehen. Solche Einwegfunktionen kann es gar nicht geben! Man kann nie verhindern, dass der Entschlüsselungsalgorithmus auf bestimmten verschlüsselten Nachrichten korrekt funktioniert. Beispielsweise könnte die Turingmaschine immer eine feste Nachricht ausgeben. Beschränkt wird also die Wahrscheinlichkeit r(n) = P(X n M = 1) = P(f (M(f (x))) = f (x)), wobei n die Länge von x ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 184 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 185
36 Faktorisierung Faktorisierung Wir betrachten nun einige mögliche Kandidaten für Einwegfunktionen, zunächst die Funktion pmult: Primzahlmultiplikation pmult pmult(p, q) = p q, wobei p, q beide k-bit Primzahlen sind. Die Funktion pmult liegt in FP. Die Umkehrfunktion müsste die Faktorisierung eines Produkts von Primzahlen bestimmen. Als Entscheidungsproblem kann man das Faktorisierungsproblem folgendermaßen darstellen: Faktorisierung Eingabe: Zwei Zahlen n, r N 0, wobei n das Produkt von zwei k-bit Primzahlen ist. Ausgabe: Besitzt n einen Faktor p 1, der kleiner als r ist? Eine andere Variante des Entscheidungsproblems fragt, ob das i-te Bit des kleineren Faktors gleich 1 ist. Beide Probleme liegen in NP, es ist jedoch nicht bekannt, ob sie NP-vollständig sind. Auch aus dem Beweis der NP-Vollständigkeit und aus P NP kann man nicht notwendigerweise schließen, dass pmult eine Einwegfunktion ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 186 Faktorisierung Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 187 Diskreter Logarithmus Um den diskreten Logarithmus definieren zu können, benötigen wir zunächst einige Begriffe: Auch wenn nicht klar ist, ob pmult wirklich eine Einwegfunktion ist, so ist dies durch den RSA Factoring Challenge zumindest empirisch überprüft worden: Factoring Challenge Es gibt darin immer noch zahlreiche Produkte von Primzahlen, die bisher noch nicht faktorisiert wurden. Primitivwurzel modulo m Eine Zahl g {0,..., m 1} heißt Primitivwurzel modulo m, falls g ein Generator der multiplikativen Gruppe Z m = {a {1,..., m 1} ggt (a, m) = 1} ist. D.h., es muss gelten: {g k mod m k N 0 } = Z m Bemerkung: Es gilt Z m = ϕ(m). Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 188 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 189
37 Diskreter Logarithmus Diskreter Logarithmus Bemerkungen: Nicht für alle m N 0 gibt es Primitivwurzeln. Es gibt jedoch auf jeden Fall Primitivwurzeln, falls m eine Primzahl ist. Nicht jedes Element von Z p ungleich 1 ist eine Primitivwurzel, auch wenn p eine Primzahl ist. Beispielsweise gilt für p = 7: 2 0 mod 7 = 1, 2 1 mod 7 = 2, 2 2 mod 7 = 4, 2 3 mod 7 = 1 2 ist keine Primitivwurzel modulo mod 7 = 1, 3 1 mod 7 = 3, 3 2 mod 7 = 2, 3 3 mod 7 = 6, 3 4 mod 7 = 4, 3 5 mod 7 = 5, 3 6 mod 7 = 1 3 ist eine Primitivwurzel modulo 7 Wir betrachten die Funktion dexp: Diskrete Exponentialfunktion Gegeben seien eine Primzahl p, eine Primitivwurzel g modulo p und x Z p = {1,..., p 1}. Wir definieren Die Funktion dexp liegt in FP. dexp(p, g, x) = (p, g, g x mod p) Die Umkehrfunktion, die aus g x mod p (und p und g) den eindeutig bestimmten Exponenten x berechnet heißt diskreter Logarithmus und gilt als schwer zu berechnen. Auch für den diskreten Logarithmus existiert ebenfalls ein dazugehöriges Entscheidungsproblem. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 190 Einwegfunktionen Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 191 Einwegfunktionen Mit Hilfe von Einwegfunktionen könnte man symmetrische Verschlüsselung realisieren. Dazu müssten Einwegfunktionen jedoch existieren. Existieren Einwegfunktionen? das weiß man nicht genau. Man weiß nur, dass folgendes aus der Existenz von Einwegfunktionen folgen würde: P NP und NP BPP es gibt (sichere) symmetrische Verschlüsselungsverfahren, die mit kurzen Schlüsseln arbeiten (anders als der One-Time-Pad) Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 192 Falls Einwegfunktionen existieren, dann gilt P NP. Außerdem gilt dann NP BPP, d.h., es gibt eine Sprache in NP\BPP. Beweis: sei f : {0, 1} {0, 1} eine Einwegfunktion und sei L f = {(x, y) u {0, 1} : f (xu) = y}. L f liegt in NP, denn u kann geraten und in Polynomzeit überprüft werden. Falls P = NP gilt, so wäre L f in Polynomzeit entscheidbar, und man kann L f dazu benutzen, um in Polynomzeit ein Urbild für einen gegebenen Funktionswert f (x) zu bestimmen. (Siehe Argumentation für die sehr ähnliche Sprache L E weiter oben.) Das ist ein Widerspruch dazu, dass f eine Einwegfunktion ist. Außerdem kann L f nicht in BPP liegen, denn dann gäbe es eine probabilistische Turingmaschine, die mit ausreichend hoher Wahrscheinlichkeit Urbilder finden würde. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 193
38 Einwegfunktionen Einwegfunktionen Bemerkung: Es ist nicht bekannt, ob die umgekehrten Folgerungen gelten: d.h., man weiß nicht, ob aus P NP oder NP BPP die Existenz einer Einwegfunktion folgt. (Das liegt daran, dass eine Einwegfunktion nicht nur im worst-case schwer zu invertieren sein sollte.) Eine beliebige Einwegfunktion wenn sie existieren sollte kann man nicht direkt für symmetrische Verschlüsselung verwenden. Der Grund dafür ist, dass es auch eine dazugehörige Entschlüsselungsfunktion geben muss, die leicht zu berechnen ist. Aber: die Existenz von Einwegfunktionen garantiert die Existenz von Pseudo-Zufallsgeneratoren. Pseudo-Zufallsgenerator (informell) Ein Pseudo-Zufallsgenerator ist ein deterministisches Verfahren, das aus einem gegebenem Startwert eine Sequenz von Bits erzeugt, die von einer probabilistischen polynomzeit-beschränkten Turingmaschine nicht von einer zufällig erzeugten Bit-Sequenz unterschieden werden kann. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 194 Einwegfunktionen Anwendungen für Pseudo-Zufallsgeneratoren: Nach Austausch eines symmetrischen Schlüssels kann dieser als Startwert für einen Pseudo-Zufallsgenerator verwendet werden. Damit kann der One-Time-Pad simuliert werden und sichere symmetrische Verschlüsselung erreicht werden. Generierung von Nonces. Generierung von Zufallszahlen für randomisierte Verfahren, Derandomisierung von randomisierten Verfahren. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 195 Falltürfunktionen Für asymmetrische Verschlüsselung müssen wir noch mehr fordern: spezielle Einwegfunktionen, sogenannte Falltürfunktionen. Falltürfunktion (informell) Die Verschlüsselungsfunktion E eines asymmetrischen Kryptosystems heißt Falltürfunktion, wenn E in Polynomzeit berechenbar ist, wenn der öffentliche Schlüssel bekannt ist, die Entschlüsselungsfunktion D in Polynomzeit berechenbar ist, wenn der private Schlüssel bekannt ist und die Wahrscheinlichkeit (für eine probabilistische polynomzeitbeschränkte Turingmaschine), für zufällig gewählte Nachrichten und Schlüssel, E nur unter Kenntnis des öffentlichen Schlüssels zu invertieren, vernachlässigbar ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 196 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 197
39 Falltürfunktionen Falltürfunktionen Das heißt, es gibt eine geheime Falltür (den privaten Schlüssel), mit Hilfe derer die Verschlüsselungsfunktion doch einfach zu invertieren ist. Man vermutet, dass das RSA-Kryptosystem eine Falltürfunktion darstellt. Dies ist jedoch nicht bewiesen, denn die Existenz einer Falltürfunktion würde auch die Existenz von Einwegfunktionen garantieren. Außerdem ist unklar, ob daraus, dass die Primzahlmultiplikation eine Einwegfunktion ist, folgt, dass die RSA-Funktion eine Falltürfunktion ist. Immerhin weiß man aber folgendes über die Sicherheit von RSA: Faktorisierungsalgorithmus durch Kenntnis der RSA-Schlüssel Falls die RSA-Schlüssel (e, n) und (d, n) bekannt sind, gibt es einen probabilistischen Polynomzeit-Algorithmus, der n in die Faktoren p, q aufspaltet. D.h., man kann zeigen, dass das Finden des privaten Schlüssels gleichbedeutend mit der Faktorisierung von n ist. Das bedeutet nicht, dass das Brechen des Kryptosystems gleichbedeutend mit der Faktorisierung ist. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 198 Falltürfunktionen Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 199 Falltürfunktionen Beweis (Skizze): wir betrachten n, e, d, wobei n = p q das Produkt zweier Primzahlen ist. Außerdem sind e, d modulo ϕ(n) = (p 1) (q 1) zueinander invers. Das Produkt e d ist ungerade, denn es gilt e d 1 (mod ϕ(n)) und ϕ(n) ist eine gerade Zahl. Sei nun e d 1 = 2 k m mit m ungerade. Man wählt zufällig ein a {1,..., n 1}. Falls ggt (a, n) 1, dann haben wir mit ggt (a, n) einen Teiler von n gefunden. Falls ggt (a, n) = 1, dann gilt a ed 1 a z ϕ(n) 1 (mod n). Das Verfahren zur Faktorisierung von n beruht nun auf der Tatsache, dass für ein zufällig gewähltes solches a die Wahrscheinlichkeit, in der Menge {a 2i m 0 i < k} einen Miller-Zeugen für n zu finden, größer gleich 1 2 ist (ohne Beweis). Angenommen, b wäre ein solcher Miller-Zeuge, d.h., n (b 2 1), aber n (b 1) und n (b + 1). D.h., es gilt p (b 1) und q (b + 1) (oder umgekehrt). Man bestimmt nun p = ggt (b 1, n) und q = n p. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 200 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 201
40 Die fünf Welten von Impagliazzo Die fünf Welten von Impagliazzo Es ist unbekannt, ob Einweg- und Falltürfunktionen existieren. Diese Frage hängt mit der Frage nach P NP zusammen, ist aber nicht gleichbedeutend. In seinem Artikel A Personal View of Average-Case Complexity hat Russell Impagliazzo die möglichen Antworten auf diese Fragen zusammengestellt und fünf daraus resultierende mögliche Welten beschrieben. Er geht dabei davon aus, dass wenn ein Problem in P liegt der dazugehörige Polynomzeitalgorithmus bekannt und praktikabel ist. Algorithmica In Algorithmica gilt P = NP (oder zumindest NP BPP, was im wesentlichen dieselben Auswirkungen hat). Fast alle Optimierungsprobleme wären einfach. Programme müssten nur noch die Eigenschaften der Ausgabe beschreiben, das Berechnungsverfahren kann automatisch generiert werden. Es gibt keine Einweg- oder Falltürfunktionen. Alle Kryptosysteme, die mit beschränkten Schlüssellängen arbeiten, sind einfach zu brechen. Es gibt keine Authentifizierungsverfahren. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 202 Die fünf Welten von Impagliazzo Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 203 Die fünf Welten von Impagliazzo Heuristica Heuristica ist die Welt, in der NP-Probleme im worst-case schwierig zu lösen sind, aber fast alle zufällig gewählten Instanzen einfach sind. Insbesondere können schwere Instanzen nur mit großem Aufwand gefunden werden. Da schwere Probleme sehr selten sind, können in der Praxis fast alle Aufgabenstellungen (aus NP) effizient gelöst werden. Auch in Heuristica ist Kryptographie im wesentlichen nicht möglich, da schwere Instanzen d.h., schwer zu entschlüsselnde Nachrichten nicht verläßlich produziert werden können. Pessiland Pessiland ist nach Impagliazzo die schlimmste aller Welten. Es ist einfach, schwere Instanzen von NP-Problemen zu finden, aber es ist nicht möglich, verläßlich schwere und gelöste Instanzen zu erzeugen. Es gibt wenige Vorteile für das Lösen von Problemen. Es gibt keine Einwegfunktionen, denn Einwegfunktionen sind gerade ein Verfahren, um effizient schwere und gelöste Instanzen (das Bild der zu versendenden Nachricht unter der Einwegfunktion) zu generieren. Ebensowenig ist Authentifizierung möglich. Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 204 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 205
41 Die fünf Welten von Impagliazzo Die fünf Welten von Impagliazzo Minicrypt In Minicrypt kann man schwere und gelöste Instanzen von NP-Problemen generieren, d.h., es existieren Einwegfunktionen. Aber es gibt keine Falltürfunktionen. Es gibt wenige positive algorithmische Aspekte. Man kann jedoch aus Einwegfunktionen Pseudo-Zufallsgeneratoren erzeugen und damit probabilistische Algorithmen derandomisieren. Symmetrische Verschlüsselung und Authentifizierung sind möglich. Asymmetrische Verschlüsselungsverfahren sind nicht möglich. Cryptomania In Cryptomania existieren zusätzlich noch Falltürfunktionen. Es gibt immer noch Einwegfunktionen, Pseudo-Zufallsgeneratoren, etc. und auch hier sind symmetrische Verschlüsselung und Authentifizierung möglich. Zusätzlich sind auch asymmetrische Verschlüsselung und zahlreiche andere kryptographische Protokolle (Austausch von geheimen Schlüsseln, digitale Signaturen, elektronische Wahlen, elektronische Bezahlverfahren, etc.) möglich. Cryptomania entspricht von den praktischen Auswirkungen her am ehesten unserer heutigen Welt. Es ist aber nicht klar, ob wir wirklich in Cryptomania leben! Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 206 Barbara König Form. Asp. der Software-Sicherheit und Kryptographie 207
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,
Primzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
Grundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
11. Das RSA Verfahren und andere Verfahren
Chr.Nelius: Kryptographie (SS 2011) 31 11. Das RSA Verfahren und andere Verfahren Eine konkrete Realisierung eines Public Key Kryptosystems ist das sog. RSA Verfahren, das im Jahre 1978 von den drei Wissenschaftlern
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
Musterlösungen zur Linearen Algebra II Blatt 5
Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische
Beweisbar sichere Verschlüsselung
Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit [email protected] 6
50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:
RSA-Verschlüsselung Das RSA-Verfahren ist ein asymmetrisches Verschlüsselungsverfahren, das nach seinen Erfindern Ronald Linn Rivest, Adi Shamir und Leonard Adlemann benannt ist. RSA verwendet ein Schlüsselpaar
Informationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
Lenstras Algorithmus für Faktorisierung
Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit
Kap. 8: Speziell gewählte Kurven
Stefan Lucks 8: Spezielle Kurven 82 Verschl. mit Elliptischen Kurven Kap. 8: Speziell gewählte Kurven Zur Erinnerung: Für beliebige El. Kurven kann man den Algorithmus von Schoof benutzen, um die Anzahl
Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.
Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Kurzweil Florian Franzmann André Diehl Kompiliert am 10. April 2006 um 18:33
10. Public-Key Kryptographie
Stefan Lucks 10. PK-Krypto 274 orlesung Kryptographie (SS06) 10. Public-Key Kryptographie Analyse der Sicherheit von PK Kryptosystemen: Angreifer kennt öffentlichen Schlüssel Chosen Plaintext Angriffe
Der Zwei-Quadrate-Satz von Fermat
Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat
Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens
Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................
Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
6.2 Perfekte Sicherheit
04 6.2 Perfekte Sicherheit Beweis. H(B AC) + H(A C) = H(ABC) H(AC) + H(AC) H(C) Wegen gilt Einsetzen in die Definition gibt = H(AB C). H(A BC) = H(AB C) H(B C). I(A; B C) = H(A C) H(AB C) + H(B C). Da
Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer
Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der
Die Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
Einführung in die verschlüsselte Kommunikation
Einführung in die verschlüsselte Kommunikation Loofmann AFRA Berlin 25.10.2013 Loofmann (AFRA Berlin) Creative Common BY-NC-SA 2.0 25.10.2013 1 / 37 Ziele des Vortrages Wie funktioniert Verschlüsselung?
Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
Einführung in die Algebra
Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv
Kryptographische Verfahren auf Basis des Diskreten Logarithmus
Kryptographische Verfahren auf Basis des Diskreten Logarithmus -Vorlesung Public-Key-Kryptographie SS2010- Sascha Grau ITI, TU Ilmenau, Germany Seite 1 / 18 Unser Fahrplan heute 1 Der Diskrete Logarithmus
10. Kryptographie. Was ist Kryptographie?
Chr.Nelius: Zahlentheorie (SoSe 2015) 39 10. Kryptographie Was ist Kryptographie? Die Kryptographie handelt von der Verschlüsselung (Chiffrierung) von Nachrichten zum Zwecke der Geheimhaltung und von dem
Computeralgebra in der Lehre am Beispiel Kryptografie
Kryptografie Grundlagen RSA KASH Computeralgebra in der Lehre am Beispiel Kryptografie Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA KASH Überblick Kryptografie mit
Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich
Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes
Gleichungen Lösen. Ein graphischer Blick auf Gleichungen
Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term
Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen
Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen Prof. Dr. Volker Schulz Universität Trier / FB IV / Abt. Mathematik 8. November 2010 http://www.mathematik.uni-trier.de/ schulz/elan-ws1011.html
Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0
Advanced Encryption Standard Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Vorwort Diese Präsentation erläutert den Algorithmus AES auf einfachste Art. Mit Hilfe des Wissenschaftlichen Rechners
Kryptographie eine erste Ubersicht
Kryptographie eine erste Ubersicht KGV bedeutet: Details erfahren Sie in der Kryptographie-Vorlesung. Abgrenzung Steganographie: Das Kommunikationsmedium wird verborgen. Klassische Beispiele: Ein Bote
Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier [email protected]
Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier [email protected] 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik
Die reellen Lösungen der kubischen Gleichung
Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................
Einführung in die moderne Kryptographie
c by Rolf Haenni (2006) Seite 1 Von der Caesar-Verschlüsselung zum Online-Banking: Einführung in die moderne Kryptographie Prof. Rolf Haenni Reasoning under UNcertainty Group Institute of Computer Science
Übung Theoretische Grundlagen
Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory
RSA Verfahren. Kapitel 7 p. 103
RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen
KRYPTOLOGIE KRYPTOLOGIE
KRYPTOLOGIE Die Kryptologie beschäftigt sich mit dem Verschlüsseln von Nachrichten. Sie zerfällt in zwei Gebiete: die Kryptographie, die sich mit dem Erstellen von Verschlüsselungsverfahren beschäftigt,
Einfache kryptographische Verfahren
Einfache kryptographische Verfahren Prof. Dr. Hagen Knaf Studiengang Angewandte Mathematik 26. April 2015 c = a b + a b + + a b 1 11 1 12 2 1n c = a b + a b + + a b 2 21 1 22 2 2n c = a b + a b + + a b
Grundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)
Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler
Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395
Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Turing-Machine Wir suchen ein Modell zur formalen Definition der Berechenbarkeit von Funktionen und deren Zeit- und Platzbedarf. Verschiedene Modelle
Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema
Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x
Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über
Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion
Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009
Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen
12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW...
12 Kryptologie... immer wichtiger Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW... Kryptologie = Kryptographie + Kryptoanalyse 12.1 Grundlagen 12-2 es gibt keine einfachen Verfahren,
6.2 Scan-Konvertierung (Scan Conversion)
6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster
Höhere Mathematik 3. Apl. Prof. Dr. Norbert Knarr. Wintersemester 2015/16. FB Mathematik
Höhere Mathematik 3 Apl. Prof. Dr. Norbert Knarr FB Mathematik Wintersemester 2015/16 4. Homogene lineare Dierentialgleichungen 4.1. Grundbegrie 4.1.1. Denition. Es sei J R ein Intervall und a 0 ; : :
Wahrscheinlichkeitstheorie. Zapper und
Diskrete Wahrscheinlichkeitsräume Slide 1 Wahrscheinlichkeitstheorie die Wissenschaft der Zapper und Zocker Diskrete Wahrscheinlichkeitsräume Slide 2 Münzwürfe, Zufallsbits Elementarereignisse mit Wahrscheinlichkeiten
Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen
4.3.2 Zusammengesetzte Zufallsvariablen Beispiel 48 Ein Würfel werde zweimal geworfen. X bzw. Y bezeichne die Augenzahl im ersten bzw. zweiten Wurf. Sei Z := X + Y die Summe der gewürfelten Augenzahlen.
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden [email protected] WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V
Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum
Fachschaft Mathematik und Informatik (FIM) LA I VORKURS Herbstsemester 2015 gehalten von Harald Baum 2. September 2015 Inhaltsverzeichnis 1. Stichpunkte zur Linearen Algebra I 2. Körper 3. Vektorräume
Grundlagen der Verschlüsselung und Authentifizierung (2)
Grundlagen der Verschlüsselung und Authentifizierung (2) Benjamin Klink Friedrich-Alexander Universität Erlangen-Nürnberg [email protected] Proseminar Konzepte von Betriebssystem-Komponenten
Kapitel 3: Etwas Informationstheorie
Stefan Lucks 3: Informationstheorie 28 orlesung Kryptographie (SS06) Kapitel 3: Etwas Informationstheorie Komplexitätstheoretische Sicherheit: Der schnellste Algorithmus, K zu knacken erfordert mindestens
Numerische Verfahren und Grundlagen der Analysis
Numerische Verfahren und Grundlagen der Analysis Rasa Steuding Hochschule RheinMain Wiesbaden Wintersemester 2011/12 R. Steuding (HS-RM) NumAna Wintersemester 2011/12 1 / 16 4. Groß-O R. Steuding (HS-RM)
x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt
- 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +
geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen
geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde
Data Mining: Einige Grundlagen aus der Stochastik
Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener
Verschlüsselung. Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern. 12.10.2011 Fabian Simon Bfit09
Verschlüsselung Fabian Simon BBS Südliche Weinstraße Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern 12.10.2011 Fabian Simon Bfit09 Inhaltsverzeichnis 1 Warum verschlüsselt man?...3
13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.
13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen. Sie heißt linear, wenn sie die Form y (n) + a n 1 y (n 1)
1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R
C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R L Ö S U N G E N Seite 7 n Wenn vier Menschen auf einem Quadratmeter stehen, dann hat jeder eine Fläche von 50 mal 50 Zentimeter
Lineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der
OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland
OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben
Public-Key-Algorithmen WS2015/2016
Public-Key-Algorithmen WS2015/2016 Lernkontrollfragen Michael Braun Was bedeuten die kryptographischen Schutzziele Vertraulichkeit, Integrität, Nachrichtenauthentizität, Teilnehmerauthentizität, Verbindlichkeit?
Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)
Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009) Probleme unseres Alltags E-Mails lesen: Niemand außer mir soll meine Mails lesen! Geld abheben mit der EC-Karte: Niemand außer mir soll
Was ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft.
Vorlesung 1 Einführung 1.1 Praktisches Zeiten: 10:00-12:00 Uhr Vorlesung 12:00-13:00 Uhr Mittagspause 13:00-14:30 Uhr Präsenzübung 14:30-16:00 Uhr Übungsgruppen Material: Papier und Stift wacher Verstand
Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?
Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen können zwei Ebenen (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Wie heiÿt
1. Kennlinien. 2. Stabilisierung der Emitterschaltung. Schaltungstechnik 2 Übung 4
1. Kennlinien Der Transistor BC550C soll auf den Arbeitspunkt U CE = 4 V und I C = 15 ma eingestellt werden. a) Bestimmen Sie aus den Kennlinien (S. 2) die Werte für I B, B, U BE. b) Woher kommt die Neigung
Approximation durch Taylorpolynome
TU Berlin Fakultät II - Mathematik und Naturwissenschaften Sekretariat MA 4-1 Straße des 17. Juni 10623 Berlin Hochschultag Approximation durch Taylorpolynome Im Rahmen der Schülerinnen- und Schüler-Uni
15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit
5.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit Einführendes Beispiel ( Erhöhung der Sicherheit bei Flugreisen ) Die statistische Wahrscheinlichkeit, dass während eines Fluges ein Sprengsatz an Bord
Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1
B 1.0 B 1.1 L: Wir wissen von, dass sie den Scheitel hat und durch den Punkt läuft. Was nichts bringt, ist beide Punkte in die allgemeine Parabelgleichung einzusetzen und das Gleichungssystem zu lösen,
5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)
Technische Universität München Zentrum Mathematik PD Dr. hristian Karpfinger http://www.ma.tum.de/mathematik/g8vorkurs 5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12) Aufgabe 5.1: In einer Implementierung
Korrelation (II) Korrelation und Kausalität
Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen
WS 2008/09. Diskrete Strukturen
WS 2008/09 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/ws0809
Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".
Mathematik- Unterrichts- Einheiten- Datei e. V. Klasse 9 12 04/2015 Diabetes-Test Infos: www.mued.de Blutspenden werden auf Diabetes untersucht, das mit 8 % in der Bevölkerung verbreitet ist. Dabei werden
Logische Folgerung. Definition 2.11
Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell
Künstliche Intelligenz Maschinelles Lernen
Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen
Kompetitive Analysen von Online-Algorithmen
Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen
8. Quadratische Reste. Reziprozitätsgesetz
O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung
1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
Theoretische Informatik SS 04 Übung 1
Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die
Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!
Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright
Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3
Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen
Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist.
Matrizennorm Es seien r,s N Mit M r,s (R bezeichnen wir die Menge der reellen r s- Matrizen (also der linearen Abbildungen R s R r, und setze M s (R := M s,s (R (also die Menge der linearen Abbildungen
Lineare Gleichungssysteme I (Matrixgleichungen)
Lineare Gleichungssysteme I (Matrigleichungen) Eine lineare Gleichung mit einer Variable hat bei Zahlen a, b, die Form a b. Falls hierbei der Kehrwert von a gebildet werden darf (a 0), kann eindeutig aufgelöst
Mathematischer Vorbereitungskurs für Ökonomen
Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen
DLP. Adolphe Kankeu Tamghe [email protected] ALZAGK SEMINAR. Bremen, den 18. Januar 2011. Fachbereich Mathematik und Informatik 1 / 27
DLP Adolphe Kankeu Tamghe [email protected] Fachbereich Mathematik und Informatik ALZAGK SEMINAR Bremen, den 18. Januar 2011 1 / 27 Inhaltsverzeichnis 1 Der diskrete Logarithmus Definition
Gleichungen und Ungleichungen
Gleichungen Ungleichungen. Lineare Gleichungen Sei die Gleichung ax = b gegeben, wobei x die Unbekannte ist a, b reelle Zahlen sind. Diese Gleichung hat als Lösung die einzige reelle Zahl x = b, falls
Lineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
IT-Sicherheitsmanagement. Teil 12: Asymmetrische Verschlüsselung
IT-Sicherheitsmanagement Teil 12: Asymmetrische Verschlüsselung 10.12.15 1 Literatur [12-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg
Zahlen auf einen Blick
Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.
Mathematik für Informatiker II. Beispiellösungen zur Probeklausur. Aufgabe 1. Aufgabe 2 (5+5 Punkte) Christoph Eisinger Sommersemester 2011
Mathematik für Informatiker II Christoph Eisinger Sommersemester 211 Beispiellösungen zur Probeklausur Aufgabe 1 Gegeben sind die Polynome f, g, h K[x]. Zu zeigen: Es gibt genau dann Polynome h 1 und h
Lösung. Prüfungsteil 1: Aufgabe 1
Zentrale Prüfung 01 Lösung Diese Lösung wurde erstellt von Cornelia Sanzenbacher. Sie ist keine offizielle Lösung des Ministeriums für Schule und Weiterbildung des Landes. Prüfungsteil 1: Aufgabe 1 a)
Zusatztutorium, 25.01.2013
Zusatztutorium, 25.01.2013 David Müßig muessig[at]mi.fu-berlin.de http://page.mi.fu-berlin.de/def/tutorium/ WiSe 12/13 1 Der Homomorphiesatz Der Homomorphiesatz scheint für viele eine Art rotes Tuch zu
u + v = v + u. u + (v + w) = (u + v) + w. 0 V + v = v + 0 V = v v + u = u + v = 0 V. t (u + v) = t u + t v, (t + s) u = t u + s u.
Universität Stuttgart Fachbereich Mathematik Prof. Dr. C. Hesse PD Dr. P. H. Lesky Dipl. Math. D. Zimmermann Msc. J. Köllner FAQ 3 Höhere Mathematik I 4..03 el, kyb, mecha, phys Vektorräume Vektorräume
Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl
Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut Von Susanne Göbel und Josef Ströbl Die Ideen der Persönlichen Zukunftsplanung stammen aus Nordamerika. Dort werden Zukunftsplanungen schon
