1 Vorlesung

Größe: px
Ab Seite anzeigen:

Download "1 Vorlesung"

Transkript

1 1 Vorlesung Was ist Kryptographie überhaupt? Seit dem Altertum: Verstecken / Unkenntlichmachen von Nachrichten Atbash: Einfaches Substitutionsverfahren. Effektiv wird das Alphabet umgedreht (d.h. ein Klartext A wird auf Z abgebildet). First 13 letters : A B C D E F G H I J K L M Last 13 Letters : Z Y X W V U T S R Q P O N Caesar: Verschieben des Alphabets um ein Delta, z.b. A D, X X + 3mod26 Frühneuzeit: Vigenaire-Verfahren Denke Alphabet als Zahlen von 0 bis 25. Wähle ein Schlüsselwort, das wiederholt (je nach Klartextlänge) auf den Klartext addiert wird. Autokey-Variante: Erzeuge längeren Schlüssel durch Verkettung des Schlüssels mit dem Klartext. GEHEIMNIS AKEYAKEYA GOLCIWRGS 19. Jhd.: Friedmann-Kasinsky (Angriff) 1. Rate Schlüssellänge (oder finde sie durch Autokorrelation) 2. Führe auf einzelnen Indizes (periodisch versetzt) Caesar-Angriff durch 20. Jhd: Anfang der Theoretischen Betrachtung von Verschlüsselungsverfahren (Kerckhoffs Gesetze). Shannon 1948: Communication Theory of Secrecy-Systems Verwende Schlüssel welche echt zufällig erzeugt wurden Genauso lang wie die Nachricht selbst Verwende jeden Schlüssel nur ein einziges Mal One-Time-Pad, bietet perfekte Sicherheit. 1.2 Ist perfekte Sicherheit überhaupt notwendig? Diffie, Hellman 1976: New Directions in Cryptography Es muss prinzipiell nicht unmöglich sein Chiffrate zu brechen, es genügt wenn dies bei einem Einsatz vernünftiger Ressourcen nicht möglich ist. Diffie-Hellman Schlüsselsaustausch Sender und Empfänger einer verschlüsselten Nachricht benötigen kein gemeinsames Geheimnis. Das ist der Beginn der Public-Key-Kryptographie. 1

2 Rivest Shamir Adleman 1978 Signaturen). Erste nicht-klassische kryptographische Anwendung (Digitale 1.3 Wann ist ein Verschlüsselungsverfahren sicher? Goldwasser Micali 1984: Probabilistic Encryption Jeder Angreiferalgorithmus, welcher in Polynomialzeit läuft, muss irgendeiner Instanzgröße (asymptotisch) daran scheitern auch nur ein Bit Information über den Klartext aus einem Chiffrat zu lernen. Kryptographie braucht Zufall. Erweiterung der Fragestellungen in der Kryptographie: Gibt es so etwas wie Pseudozufall? 1.4 Einige Wunder der Kryptographie GMR 84: Zero Knowledge GMW 86/87: Zero Knowledge für alle Sprachen in NP. RS 91: Ciphertext Indistinguishability under Chosen Ciphertext Attacks ( wirklich richtiger Sicherheitsbegriff für Public Key Verschlüsselung) Can 01: Unter welchen Bedingungen können größere (offene) kryptographische Protokolle als sicher gelten? Gen 09: Heiliger Gral der Kryptographie: Fully Homomorphic Encryption Kryptographie beschäftigt sich mit dem Entwurf und der Analyse von Verfahren, die im Stande sein sollen, jedwedem Missbrauch zu widerstehen. 1.5 Wahrscheinlichkeitstheoretische Grundlagen Literaturempfehlung: Mitzenmacher und Upfahl: Probability and Computing Erinnerung Ein diskreter Wahrscheinlichkeitsraum ist ein Tripel (Ω, Σ, µ): Ω: Menge der Elementarereignisse Σ: Ereignisalgebra (Teilmengensystem von Ω, also Σ P(Ω)) µ: Wahrscheinlichkeitsmaß auf Σ E Σ P r [E] = µ(e) (1) Zufallsvariable Abbildung X : Ω M (z.b. R), wobei: P r[x = x] = µ(x 1 (x)) = µ({ω Ω X(ω) = x}) (2) Erwartungswert Wenn M arithmetische Menge, z.b. N, Z, R, dann: E[X] = x M x P r[x = x] (3) 2

3 Varianz V ar[x] = E[(X E[X]) 2 ] (4) X, Y heißen stochastisch unabhängig falls: x, y : P r[x = x und Y = y] = P r[x = x] P r[y = y] (5) 2 Vorlesung Useful Facts Für je zwei Zufallsvariablen X, Y mit dem gleichen Wertebereich E[X +Y ] = E[X]+E[Y ]. Seien X, Y zusätzlich stochastisch unabhängig: E[XY ] = E[X]E[Y ] V ar[x + Y ] = V ar[x] + V ar[y ] Vernachlässigbare Wahrscheinlichkeit Eine Funktion f : N R + heißt vernachlässigbar, falls für (jede Konstante c) jedes Polynom p ein n 0 N existiert, sodass für alle n > n 0 : f(n) < 1 p(n), f(n) < 1 n c (7) Bsp: f(n) = 2 n, f(n) = 1 n log n, f(n) = 1 n Ack 1 (n) Ist f(n) negl. (vernachlässigbar), dann heißt 1 f(n) überwältigend (overwhelming). Rechnermodell Bekannte Modelle aus Theoretische Grundlagen: Turingmaschinen, probabilistische Turingmaschinen. Komplexitätsklassen: P, N P, BPP BPP - Bounded-error probabilistic polynomial Touringmaschine mit Zufall (mit RNG), es geht oft nur darum, eine angenäherte Lösung (bzw. mit einer gewissen Wahrscheinlichkeit) zu finden und keine definitive z.b. ist n prim. Probabilitische Touringmaschinen haben ein Zufallsband zur Verfügung. (Notiz zu Formeln unten: BPP Algorithmen geben in einem Run mit einer Wahrscheinlichkeit von mindestens 2/3 das richtige Ergebnis aus. Bzw. eine Sprache liegt in BPP, wenn es eine poly- TM gibt, die diese Sprache mit mindestens 2/3 richtig entscheidet.) (6) f : {0, 1} {0, 1}, f BPP prob. TM M x {0, 1} : P r[m(x) f(x)] < 1 3 L BPP prob. TM M x {0, 1} : x L : P r[m(x) = 1] 2 3 (8) L BPP prob. TM M x / {0, 1} : x L : P r[m(x) = 1] < 1 3 Zu jeder Sprache L existiert eine charakteristische Funktion χ L : { 1 x L χ L (x) = 0 sonst L BPP χ L fbpp (9) 3

4 Satz 1 Ist f BPP, so gibt es eine probabilistische TM M, sodass x {0, 1} : P r[m f(x)] < negl(x) (10) Idee: Ist f BPP, so existiert eine TM M, die f mit einer Wahrscheinlichkeit größer 2/3 richtig entscheidet. Man kann M also Eingabelänge-mal laufen lassen (immer noch in Polynomialzeit). Beweis f BPP PPT M : x {0, 1} : P r[m(x) f(x)] < 1 3 Konstruktion von M : Eingabe x Lasse M mit Eingabe x und jeweils zufällig gewählten Zufallsbändern n = x mal laufen. Sei M i (x) die Ausgabe des i-ten Versuchs. Falls i M i(x) 1 2n, gib 0 aus Falls i M i(x) > 1 2n, gib 1 aus Klar: Läuft M in Polyzeit, dann läuft auch M in Polynomialzeit. (Idee für den Beweis: Nehme ein x her, das nicht in der Sprache liegt, also f(x) = 0. Zeige dann dafür, dass die Wahrscheinlichkeit P r[m (x) = 1] vernachlässigbar klein ist.) Fixiere x {0, 1} n, sei OBdA f(x) = 0. Def: E[M(x)] = t {0,1} p = P r[m(x) = 1] = P r[m i (x) = 1] = E[M(x)] t P r[m(x) = t] = 0 P r[m(x) = 0] + 1 P r[m(x) = 1] (11) Dann ist: P r[m (x) = 1] = P r[ 1 M i (x) > 1 n 2 ] = P r[ 1 M i (x) p > 1 n 2 p] i i P r[ 1 M i (x) p > 1 (12) n 2 p] i Chernoff Ungleichung (denke obere Gleichung fort): < 2e ( 1 p) 2 2 2p(1 p) n (13) 4

5 p < p 1 6 (1 2 p) ( 1 2 p)2 2p(1 p) 1 24 P r[m (x) = 1] 2e 1 24 n 1 p 1 p(1 p) 1 3 (14) Das ist vernachlässigbar in n. Der Beweis lässt sich auch auf Funktionen übertragen, die mehr Bit ausgeben, da g : {0, 1} 0, 1 k g 1,..., g k : {0, 1} {0, 1} Einwegfunktionen Eine Funktion f : {0, 1} {0, 1} heißt Einwegfunktion, falls: 1. Einfach zu berechnen: Es gibt einen Polynomialzeitalgorithmus (PTM) F, sodass F bei Eingabe x f(x) ausgibt (F (x) = f(x)). 2. Schwer zu invertieren: Für PPT A gilt: P r[a(f(u n ), 1 n ) f 1 (f(u n ))] negl(n) P r Un [A(y, 1 n ) = U n y = f(u n )] (andere Schreibweise), wobei: U n gleichverteilt auf {0, 1} f 1 (y) = x {0, 1} f(x) = y 1 n ist Sicherheitsparameter 1. Warum erhält A die Eingabe 1 n? 2. Wir wollen pathologische Einwegfunktionen ausschließen, also solche, die nach unserer Intuition gar nicht einweg sind. 3. Bsp: f(x) = log 2 x wäre ohne die Forderung, dass A als zusätzliche Eingabe 1 n erhält eine Einwegfunktion. (Notiz: Denn er könnte x gar nicht in Polyzeit ausgeben!) x : Länge der Binärdarstellung 3 Vorlesung Erklärung P r[a(f(u n ), 1 n ] f 1 (f(u n ))] (15) Diese Wahrscheinlichkeit bezieht sich auf die zufällige Wahl von U n und des Zufalls von A. Das Ereignis A(f(U n ), 1 n ) f 1 (f(u n )) ist Kurzschreibweise für folgendes Experiment. 5

6 Wähle zufälliges x {0, 1} n (gleichverteilt) Berechne y = f(x) Gib Algorithmus A Zugriff auf frischen Zufall (Zufallsband) und lasse A auf Eingabe (x, 1 n ) laufen Falls A ein x ausgibt, sodass f(x ) = y deklariere Erfolg (Ereignis tritt ein), ansonsten Misserfolg (Ereignis tritt nicht ein) 3.1 Kandidaten für Einwegfunktionen (OWF) Dekodieren von zufälligen Codes G {0, 1} m n, x {0, 1} n, e {0, 1} m e zufällig mit hgt(e) = t < n (hgt: Hammingabstand) Notiz: Durch den Zufall e ist die Rückrichtung schwer. f Code (G, x, e) = (G, Gx + e) (16) Subset-Sum f sum ((x 1,..., x n ), I) = ( i I x i, (x 1,..., x n )) (17) x i = n Wobei x 1,..., x n ganze Zahlen in {0,..., 2 n 1} und I {1,..., n} Faktorisieren f F ac (x, y) = xy (18) Wobei x, y zufällige n-bit Zahlen sind. Variante: x, y zufällige n-bit Primzahlen. 3.2 Def: Familie von Einwegfunktionen Eine Familie von Funktionen {f i : D i R i }, i I heißt One-way falls ein PPT Algorithmus Algorithmus I und ein PT Algorithmus F existieren, sodass: 1. Einfach zu samplen und zu berechnen: Bei Eingabe 1 n berechnet I einen zufälligen Index in I {0, 1} n (Notiz: I ist ein Instanzgenerator) Für Eingabe x D i berechnet F (i, x) den Wert f i (x) 2. Für hinreichende große n sind die f i mit i I {0, 1} n one-way, d.h. für PPT A ist P r[a(i, f i (x)) = x, f i (x ) = f i (x) i I(1 n ), x D i ] vernachlässigbar in n. 3.3 Trapdoor Permutationen Definition Eine Familie {f i : D i R i }, i I heißt Familie von Trapdoor-Permutationen, falls F, I = (I 1, I 2 ) existieren, sodass: 1. f i : D i R i, i I ist Familie von Einwegfunktionen mit (I 1, F ) 6

7 2. Leicht zu Invertieren unter Kenntnis des Trapdoor: Es existiert ein PT-Algorithmus F 1, sodass für alle (i, t) mit I(1 n ) = ( i, t ) und jedes x D i gilt: F 1 (t, f i (x)) = x I 1(1 n ) I 2(1 n ) (Notiz: I 1 erzeugt die Instanz wie vorher. I 2 erzeugt die Trapdoor.) Kandidaten RSA-Funktion: I(1 n ): Wähle zufällig zwei Primzahlen p, q der Länge n Wähle zufällig eine e (Z/ϕ(pq)Z) X (also ein e s.t. ggt (e, (p 1)(q 1) = 1)) Setze Trapdoor d = e 1 mod (p 1)(q 1) Gib (pq, e) = I 1 (1 n ), (pq, d) = I 2 (1 n ) F ((m, e), x) = x e mod m F 1 ((m, d), y) = y d mod m 3.4 Hardcore-Bits Einwegfunktionen sind schwierig zu invertieren, wenn das Urbild zufällig gewählt ist. Damit lassen sich nicht direkt Verschlüsselung o.ä. konstruieren, da Klartexte im Normalfall nicht zufällig gewählt sind. Idee: Man könnte doch in einem einzelnen Bit eines Urbilds Informationen verstecken und den Rest zufällig wählen. Welche Bits kommen dafür in Frage? g(x, y) = (f(x), y) Definition: Hardcore-Bit/Hardcore-Prädikat Ein in Polynomialzeit berechenbares Prädikat b : {0, 1} {0, 1} heißt hardcore für eine Funktion f, falls für jeden PPT-Algorithmus A gilt, dass: P r[a(f(u n ), 1 n ) = b(u n )] < 1 + µ(n) (19) 2 wobei µ(n) vernachlässigbar ist und U n gleichverteilt aus {0, 1} n gezogen. (Notiz: In f(u n ) ist ein Bit Information versteckt, und zwar genau b(u n ). Ein Angreifer soll keine Möglichkeit haben, außer zu raten, was dieses Bit enthält.) 4 Vorlesung (Notiz: Der folgende Abschnitt beschreibt das Spiel, zu dem die obere Definition gehört). Bem.: U n ist wieder eine Gleichverteilung auf {0, 1} n Erfolgswahrscheinlichkeit 0.5 hat man, wenn man frei rät Man kann wieder ein Spiel definieren Wähle x {0, 1} n gleichverteilt zufällig 7

8 Berechne y = f(x) Gib y an Angreifer A Fall A b(x) ausgibt, gewinnt A, ansonsten verliert er b( ) Hardcore-Bit falls P r[a gewinnt Spiel] µ(n) für vernachlässigbares µ(n) Bsp.: Bei der Familie der RSA-Trapdoor-Funktionen ist das LSB (Least Significant Bit) der Binärdarstellung mod n von x hardcore. k f (n,e) (x) = x e mod n, x = x i 2 i, x o hardcore (20) Anm.: Dieser Trick funktioniert allgemein nicht, denn g(x o, x ) = (x o, f(x )) wobei f OWF (LSB ist nicht hardcore). Satz 2 (Goldreich-Levin Theorem GL 89) Sei f : {0, 1} x {0, 1} x eine Einwegfunktion. Dann gibt es für jeden PPT A eine vernachlässigbare Funktion ɛ(n), sodass gilt: i=0 P r x,r [A(f(x), v) =< x, v >] ɛ(x) wobei < x, v >= i x i r i mod 2 (21) Also ist < x, r > hardcore für die OWF g(x, r) = (f(x), r) Bew.: Annahme: < x, r > ist nicht hardcore für g. Es gibt also ein PPT A und non-negl. ɛ(n) sodass P r x,r [A(f(x), r) =< x, r >] > 1 + ɛ(n) (22) 2 Wir werden aus A einen Algorithmus B konstruieren, welcher die Einwegeigenschaft von f bricht. Wir nennen ein x {0, 1} n gut, falls (Wahrscheinlichkeit geht nicht über Wahl von r) P r[a(f(x), r) =< x, r >] ɛ 2 (23) Der Anteil der guten x in {0, 1} n ist mindestens ɛ 2 (#{x {0, 1}n x gut} ɛ 2 2n ). Sei x {0, 1} n gleichverteilt zufällig gezogen. Definiere die Zufallsvariable w(x) = P r r [A(f(x), r) =< x, r >] (24) Beweis, dass #{x {0, 1} n x gut} ɛ 2 2n. Es gilt: E[w(x)] = P r x [x = ξ]w(ξ) ξ {0,1} n = P r[x = ξ] P r r [A(f(ξ), r) =< ξ, r >] ξ {0,1} n P r x,r([a(f(x),r)=<x,r> x=ξ]) (25) = P r x,r [A(f(x), r) =< x, r >] > ɛ 8

9 Beweis, dass E[w(x)] > ɛ: Falls P r x[w(x) ɛ 2 ] < ɛ 2 wäre = ξ {0,1} n,w(ξ) ɛ 2 E[w(x)] = P r x [x = ξ] w(ξ) ξ {0,1} n P r x [x = ξ] w(ξ) + P r x [x = ξ] w(ξ) 1 ξ {0,1} n,w(ξ)< ɛ 2 < ɛ 2 < +( ɛ 2 ) P r[x = ξ] (26) ξ {0,1} n,w(ξ) ɛ 2 P r x[w(x)> ɛ 2 ] ξ {0,1} n,w(ξ)< ɛ 2 } {{ } 1 < ɛ ɛ 2 = ɛ Widerspruch! Sei jetzt x gut, also P r r [A(f(x), r) =< x, r >] ɛ Schrittweises Warmup Randfall Nehmen wir an, es sei P r r [A(f(x), r) =< x, r >] = 1 Dann könnten wir x sehr einfach finden: Sei (1 an i-ter Stelle) e i = (0, 0,..., 1, 0,..., 0), dann gilt A(f(x), e i ) =< x, e i >= j x je j = x i. Berechne so auch alle anderen Bitpositionen von x. Etwas allgemeiner Nehmen wir an, es sei P r r [A(f(x), r) =< x, r >] 0, 9 (Notiz: muss nicht 0,9 sein, aber irgendwas > 0, 75) Obiger Ansatz funktioniert nicht, denn e i,..., e n könnten zu den Werten für r gehören, für welche A falsch liegt. Dennoch: Ist r gleichverteilt zufällig gezogen, dann ist auch r e gleichverteilt zufällig verteilt. Weiter gilt: P r r [A(f(x), r) < x, r > A(f(x), r e i ) < x, r e i >] P r r [A(f(x), r) < x, r >] + P r r ei [A(f(x), r e i ) < x, r e i >] 0,1 0,1 P r r [A(f(x), r) =< x, r > A(f(x), r e i ) =< x, r e i >] 0, 8 (27) 9

10 5 Vorlesung P r[(h(x), H) = (H (X ), H )] P r[h(x) = H(X ) H = H ] P r[h = H ] 2 l NR Anfang: H(X) = H(X ) X = X X X H(X) = H(X ) P r[x = X ] = P r[x = X, X = X] = P r[x = X] P r[x k = X] 2 x {0,1} m x {0,1} m 2 k X X, P r[h(x) = H(X )] = P r[h(x) = y, H(X k ) = y] = 2 y {0,1} m 2 2m NR Ende P r[y = Y ] = Y P r[y = y, Y = y] = Y P r[y = y] P r[y = y] = Y P r[y = y] 2 = p 2 2 (28) Sei p die Wahrscheinlichkeitsverteilung (als Vektor) von (H(X), H) p 2 2 (2 k + 2 m )2 l. Schreibe p = u + w, wobei u der Vektor der Wktverteilung von (U m, H) ist und w senkrecht auf n steht, also < u, w >= 0. Der Satz des Pythagoras liefert: p 2 2 = u w 2 2. Daher gilt: w 2 2 = p 2 2 u 2 2 = 2 l m + 2 l k 2 l n = 2 l k. Aus der Bezeichnung zwischen l 1 und l 2 -Norm folgt: δ(h(x), H), V l+m ) = 1 2 p n l+n 2 l+m 1+ p n l+k 2 < 2 m k 2 < ɛ 5.1 [Ende Einschub zur letzten Vorlesung] Wenn wir also r zufällig ziehen und y = A(f(x), r) und y = A(f(x), r e i ) berechnen, dann gilt mit Wahrscheinlichkeit 0,8 dass y y =< x, r > < x, r e i >=< x, e i >= x i (29) Satz 1 liefert uns, dass wir die Wkt. dass dies gilt bel. nahe an 1 (überwältigend in n) heranbringen können. Verwende resultierenden Algorithmus um x bitweise zu berechnen. Allgemeiner Fall P r r [A(f(x), r) =< x, r >] ɛ 2 Wir benötigen einen Ersatz für Satz 1. Idee: Wenn wir < x, r > schon hätten, dann würde obiger Trick noch immer funktionieren. Fehlerwkt beim Errechnen von x i wäre < 1 2 ɛ 2. Wir werden r 1,..., r m (m legen wir zum Schluss fest) paarweise unabhängig statt völlig unabhängig wählen. (Notiz: d.h. jeweils zwei sehen zufällig aus, aber bei drei Elementen ist irgendeine Korrelation gegeben. Beispiel für drei paarweise unabhängigen Bits: b 1 zufällig, b 2 zufällig, b 3 = b 1 b 2.) Genauer: Wir wählen r 1,..., r m so, dass wir < x, r j > schon kennen und nur noch < x, r j e i > berechnen müssen. Wie können wir r 1,..., r m wählen, sodass das gilt? Sei k so dass m 2 k 1, (k log 2 (m + 1)) 1. Wähle k Vektoren s 1,..., s k gleichverteilt zufällig 2. Assoziiere jedes j {1,..., 2 k 1} mit einer nichtleeren Teilmenge T j von {1,..., k} (davon gibt es genau 2 k 1 Stück). Setze r j = t T j s t 10

11 Die r j sind nun paarweise unabhängig (eines von r j und r j enthält ein s t, welches im anderen nicht enthalten ist, OBdA r j enthält s t r j unabhängig von r j ). Warum wissen wir für diese Wahl bereits < x, r j >? Rightarrow Es genügt < x, s t > für t = 1,..., k zu kennen, denn < x, r j >=< x, t T j s t >= t T j < x, s t > Nun ist k aber so klein, dass die Wkt richtig zu liegen (also w t =< x, s t >), wenn wir w t einfach raten, hinreichend groß ist. Ziehe w 1,..., w k gleichverteilt zufällig (raten), dann ist P r[< x, s 1 >= w 1,..., < x, s k >= w k ] = k P r[< x, s t >= w t ] =0,5 t=1 = 2 k 1 m + 1 (30) Sei v j = t T j w t. Nehme im Folgenden an, es gelte < x, r 1 >= v 1,..., < x, r m >= v m Definiere Zufallsvariablen Z j = {1, A(f(x), r j e i )} =< x, r j e i >; 0, sonst Klar: E[Z j ] = P r[a(f(x), r j e i ) =< x, r j e i >] ɛ 2 Wir benötigen noch eine Abschätzung der Varianz von Z j : V ar[z j ] = P r[z j = 0] (0 E[Z j ]) 2 +P r[z j = 1] (1 E[Z j ]) 2 1 (31) 1 1 Wir bauen wieder einen Mehrheitsentscheider wie im Beweis von Satz 1. Sei Z = Z Z m. Dann ist E[Z] = me[z 1 ] m 2 (1 + ɛ) V ar[z] = j V ar[z j] = mv ar[z 1 ] m (Aus r j paarweise unabh. folgt Z j paarweise unabh.) 6 Vorlesung Definiere q j = A(f(x), r j e i ) v j für j = 1,..., m χ<x,e i> Sei q die Mehrheit der q i Werte Sei OBdA x i = 0 P r[q = 1] = P r[ z j m 2 ] P r[ Z E[Z] m 2 E[Z] ] Z m ɛ 2 P r[ Z E[Z] m ɛ 2 ] Chebycheff V ar[z] (m ɛ 4 2 )2 mɛ 2 = m= 400 ɛ 2 =O(poly(n)) p(n) Wir haben nun einen Algorithmus welcher mit Wkt. 0,99 das richtige x i berechnet. Mit Satz 1 können wir daraus einen Algorithmus machen, welcher x i mit Wkt p(n) richtig berechnet. Setzen wir p(n) = n, so erhalten wir einen Algorithmus welcher x 1,.., x n gleichzeitig mit Wkt. 0,99 richtig berechnet. Letzter Punkt: Alles eben gesagte gilt nur mit Wkt 1 m Wir überprüfen nun letztlich nach, ob y = f(x) gilt. Wenn ja: gib x aus, wenn nein, breche ab. Wir haben also einen Algorithmus konstruiert, welcher f mit signifikanter Wahrscheinlichkeit invertiert. (32) 11

12 Anwendungen Nochmal Satz von GL: Ist f eine OWF, dann ist g(x, r) = (f(x), r) wieder OWF und das Prädikat b(x, r) = x i r i mod 2 ist hardcore für g. Beobachtung Ist f eine Permutation, so ist auch g eine Permutation. 6.1 Public Key Verschlüsselung IND-CPA Ein Public-Key Verschlüsselungsschema ist ein Tripel (G, E, D). (G, E, D) heißt IND-CPA sicher, falls folgendes gilt: Jeder PPT-Angreifer A hat nur vernachlässigbar bessere Erfolgswkt. als 1 2 bei folgendem Spiel. A wählt 2 Nachrichten m 0, m 1 und sendet beide an das Spiel Das Spiel zieht ein zufälliges Bit b {0, 1}, berechnet c = E pk (m b ) und gibt c an A A erzeugt Ausgabe b A gewinnt, falls b = b Anhand von Goldreich-Levin können wir aus jeder Familie von Trapdoor-Einwegpermutationen (I, F, F 1 ), b( ) Hardcorebit ein IND-CPA sicheres Verschlüsselungsverfahren bauen. Konstruktion Schlüsselerzeugung G(1 k ) (i, t) = I(1 k ) Setze pk = i, sk = t Gib (pk, sk) aus Verschlüsselung E pk (m) Es sei m {0, 1}, pk = i Wähle ein zufälliges x {0, 1} k (Urbildraum von F i ) Setze y = F i (x), r = b(x) Gib c = (y, r m) aus Entschlüsselung D sk (c) Sei c = (y, s), sk = t Berechne x = Ft 1 (y), setze r = b(x) Gib m = s r aus Warum ist dieses Schema IND-CPA sicher? Angenommen, es existiert ein PPT-Angreifer A welcher das IND-CPA Spiel für dieses Schema mit Wkt ɛ(m) gewinnt, wobei ɛ(m) nicht vernachlässigbar. Wir konstrueiren einen Angreifer A welcher das Hardcore-Bit b(x), gegeben y = F i (x) mit Wkt ɛ(m) richtig rät, im Widerspruch zur Hardcore-Eigenschaft von b( ). A sieht folgendermaßen aus: Eingabe i, y = F i (x) A simuliert nun das IND-CPA-Spiel mit A, nimmt aber folgende Änderungen vor: 12

13 Anstatt (pk, sk) selbst zu erzeugen, setzt A pk = i. sk wird im Spiel nicht verwendet Anstatt y = F i (x) zu berechnen setzt A y = y Anstatt r = b(x) zu berechnen, zieht A r zufällig Ist der Guess b von A am Ende korrekt, b = b, dann gib r aus, ansonsten r = r 1 7 Brückentagvorlesung Vorlesung Intuition: B kann das Spiel immer gewinnen, wenn A richtig liegt. Erfolgswkt. von B daher gleich wie A P r[a (i, F i (x)) = b(x)] = P r[a (i, F i (x)) = b(x) r ( x)] + P r[a (i, F i (x)) = b(x) r = b(x) 1] = P r[r = b(x)] P r[a (i, F i (x)) = b(x) r = b(x)] + P r[r = b(x) 1] P r[a (i, F i (x)) = b(x) r = b(x) 1] 0,5 0,5+ɛ =0,5 0,5+ɛ 0, 5 + ɛ (33) Widerspruch zur Hardcore-Eigenschaft von b( ) 8.1 Pseudozufall Def: Eine Funktion G : {0, 1} n {0, 1} m (m = O(poly(n))) heißt Pseudozufallsgenerator, falls für alle PPT A gilt: U m : Zufällig der Länge m S: Zufällig der Länge n P r[a(u m ) = 1] P r[a(g(s)) = 1] negl(n) (34) Sei F : {0, 1} n {0, 1} n eine Einwegpermutation und b( ) ein Hardcore-Bit für F, dann ist G : {0, 1} n {0, 1} n+1 x (F (x), b(x)) Wir zeigen nun allgemein: Wenn Einwegpermutationen existieren, dann existieren Pseudozufallsgeneratoren mit beliebig großem (allerdings polynomiellen) Stretch m n HILL99: Einwegfunktionen sind für die Existenz von Pseudozufallsgeneratoren notwendig und hinreichend. Konstruktion Sei F eine OWP und b( ) ein Hardcore-Prädikat für I. Definiere G : {0, 1} n {0, 1} n folgendermaßen: Eingabe: S, setze s 0 = S Für i = 1,..., m 1 setze s i = F (s i 1 ) (s i = F i (s)) Für i = 0,..., m 1 setze G i = b(s i ) Gib w = σ 0...σ m 1 aus 13

14 S -> F -> S_1 -> F ->... -> F -> S_{m -1} v v v \ sigma_0 =b(s) \ sigma_1 \ sigma_ {m -1} Satz Ist F eine OWP mit Hardcoreprädikat b( ), dann ist G ein Pseudozufallsgen. Bew Wir beweisen die Ununterscheidbarkeit von G(S) und U m über ein Hybridargument. Wir definieren Zwischenverteilungen (Hybrid) zwischen G(S) und U m. Definiere Hybridverteilung H i folgendermaßen: Ziehe σ 0,.., σ i 1 {0, 1} gleichverteilt zufällig Ziehe s i {0, 1} n gleichverteilt zufällig Für j = i + 1,..., m 1 setze s j = F (s j 1 ) Für j = i,..., m 1 setze σ j = b(s j ) Gib w = σ 0...σ m 1 aus 9 Vorlesung Klar: H 0 stimmt exakt mit G(S) überein (für zufälliges S). Denn für i = 0 sind die Algoritmen welche G(S) und H 0 berechnen identisch. H m stimmt exakt mit U m überein (σ 1,..., σ m sind gleichverteilt zufällig gezogen). Sei A nun ein PPT-Algorithmus, welcher G(S) und U m mit Vorteil ɛ(n) unterscheidet wobei ɛ(n) nicht vernachlässigbar. P r[a(g(s)) = 1] P r[a(u m ) = 1] > ɛ(n) (35) Wir konstruieren nun einen Algorithmus B, welcher gegeben F (x) und β, mit Wahrscheinlichkeit 0, 5 + ɛ(n) m richtig enscheidet ob β = b(x), also die Hardcore-Eigenschaft von b( ) bricht, im Widerspruch zur Annahme, dass b( ) Hardcore-Bit für F. Definiere B folgendermaßen: (Notiz: Achtung, ab hier ist es σ 1,..., σ m und nicht mehr σ 0,..., σ m 1 Eingabe: y = F (x), β Ziehe i {0,..., m 1} gleichverteilt zufällig Ziehe σ 1,..., σ i 1 {0, 1} gleichverteilt zufällig Setze σ i = β, s i = y Für j = i + 1,..., m setze s j = F (s j 1 ) und σ j = b(s j ) Setze w = σ 1... σ m Lasse A auf Eingabe w laufen, gib aus was immer A ausgibt 14

15 Gilt β = b(x), dann ist w aus Sicht von A mit der Verteilung H i verteilt. Ist β hingegen zufällig gezogen, dann ist w aus von A wie H i+1 verteilt. Es gilt also: = t=0,...,m 1 P r[b(f (w), b(x)) = 1] P r[b(f (x), U) = 1] P r[i = t] P r[b(f (x), b(x)) = 1 i=t ] P r[i = t] P r[b(f (x), U) = 1 i=t ] = 1 i=0,..,m 1 m = 1 m = 1 m P r[a(h t ) = 1] P r[a(h t+1 ) = 1] 9.1 Commitment Schemes t=0,...,m 1 = 1 m t=0,...,m 1 P r[a(h t ) = 1] t=0,...,m 1 t=1,..,m P r[a(h t ) = 1] = 1 m P r[a(h 0) = 1] P r[a(h m ) = 1] > ɛ(n) m (36) Ein Commitment-Scheme ist ein 2-Phasen Protokoll, in welchem sich ein Sender bei einem Empfänger in der ersten Phase auf einen Wert festlegt, in der zweiten Phase den Empfänger den Wert öffenlegt, sodass für dieses Protokoll folgende Eigenschaften gelten: Secrecy/Hiding Eigenschaft Nach dem Ende der ersten Phase hat der Empfänger keinerlei Wissen über den Wert des Senders empfangen. Das muss auch gelten, falls der Empfänger zu schummeln versucht. Eindeutigkeit/Binding Nachdem die erste Phase beendet ist, gibt es nur einene Wert, den ein möglicherweise schummelnder Sender den Empfänger offenlegen kann, sodass dieser akzeptiert. Abbildung 1: Commitments (Idee) Bit-Commitments Definition Ein Bit-Commitment Schema ist ein Paar interaktiver PPT-Maschinen (S, R),die folgende Eigenschaften erfüllen: 15

16 Bezeichne < S(b), R > die Ausgabe von R nach Interaktion von S bei Eingabe b mit R. Wenn R akzeptiert, gibt es 1 aus, ansonsten 0. Completeness: b {0, 1} : P r[< S(b), R >= 1] 1 ɛ(n) für ein vernachl. ɛ(n) Secrecy: Auch ein vom Protokoll abweichender Empfänger kann 0-Commitments nicht von 1-Commitments unterscheiden. Genauer: Für jede interaktive PPT-Maschine R gilt, dass die Ausgaben von R in beiden Fällen ununterscheidbar sind. P r[< S(0), R >= 1] P r[< S(1), R >= 1] negl. < S(0), R >: Zufallsausgabe von R < S(0), R > ist ununterscheidbar von < S(1), R > (Notiz: R ist ein Unterscheider und kein Akzeptierer wie R) 10 Vorlesung Binding: Die View eines Empfängers R nach der Commit-Phase bei Interkation mit einem Sender S besteht aus dem von R verwendeten Coins r und den von R empfangenen Nachrichten m, also (r, m) Sei σ {0, 1}. Wir sagen, dass (r, m) ein mögliches σ-commit ist, falls Coin s (des Senders) existieren, sodass m die von R empfangenen Nachrichten beschreibt, wenn R die Coins r und S (ehrlicher Sender) die Coins s verwendet. Eine Receiver-View (r, m) ist mehrdeutig, falls sie ein mögliches 0-Commitment also auch ein mögliches 1-Commitment ist. Wir können die Binding-Eigenschaft so formulieren. Für alle S ist (ξ vernachlässigbar): P r r [view S (1 n ) R(1 n,r) =(r, m) ist mehrdeutig] ξ(n) (37) Anm.: Ununterscheidbarkeit in der Definition der Secrecy kann auf verschiedene Weisen verlangt werden Computationally indistinguishable Kein effizienter PPT Unterschieder kann zwischen beiden Verteilmenge unterscheiden, also: PPT A : P r[a(r0) = 1] P r[a( R1 ) = 1] ξ(n) (38) <s(0),r > Statistically indistinguishable Es gilt (T = allg. Prädikat/unbeschr. Unterscheider): (R 0, R 1) = max T P r[t (R 0) = 1] P r[t (R 1) = 1] ξ(n) (39) Perfectly indistinguishable R o und R 1 sind identisch verteilt, also (R o, R 1) = 0 16

17 Kanonische Unveilphase 1. Sender schickt (σ, s) = (N achricht, Seed) an Empfänger, also seine Eingabe und seine Random Coins 2. Verifier überprüft ob (σ, s) tatsächlich zusammen mit seinen Coins r zu Transkript m = (α, β) führen und akzeptiert falls ja. Konstruktion: Einfaches Bit-Commitment 1. Sei F : {0, 1} {0, 1} eine Einwegpermutation und b : {0, 1} {0, 1} ein Hardcore-Bit für F 2. Commit-Phase: Eingabe von S sei σ Ziehe zufällig gleichverteilt s {0, 1} n und berechne α = F (s), β = b(s) σ Sende (α, β) an R 3. Unveil-Phase S: Sende (s, σ) an R R: Überprüfe ob F (s) = α und b(s) σ = β, falls ja akzeptiere Dies ist ein sicheres Bit-Commitment-Schema: Secrecy: Folgt direkt aus IND-CPA Sicherheit des einige Vorlesungen früher konstruierten Verschlüsselungsverfahrens Binding: Folgt aus Ein-Eindeutigkeit (Injektivität) der Einwegpermutation F,also es existiert nur ein einziges s, sodass α = F (s) 10.1 Zero-Knowledge Beweise Definition: Interaktive Beweissysteme Ein Paar (P, V ) interaktiver Maschinen (P muss keine PPT Maschine sein, V ist eine PPT Maschine) heißt interaktives Beweissystem für eine Sprache L, falls folgendes gilt: (Bezeichne < P, V > (x) wieder die Ausgabe von V nach Ende des Protokolls, wenn beide als Eingabe x erhalten haben) 1. Completeness: Für alle x L : P r[< P, V > (x) = 1] Soundness: Für jedes x / L und jede interaktive Turing-Maschine P gilt: P r[< P, V > (x) = 1] 1 3 Def: Zero-Knowledge Sei (P, V ) ein interaktives Beweissystem für eine Sprache L. (P, V ) (bzw. P ) heißt computational Zero-knowledge, falls es für jede interaktive PPT Maschine V eine PPT M gilt, sodass folgende beiden Verteilungen für alle x L computationally ununterscheidbar sind. < P, V > (x): Ausgabe von V nach Protokolllauf mit P M (x): die Ausgabe von M bei Eingabe x Die Maschine M heißt Simulator. 17

18 11 Vorlesung Ein ZK-Beweissystem für Graph-3-Color (G3C) Problem Ein ungerichteter Graph G = (V, E), Frage: Gibt es eine Färbung φ : V {1, 2, 3} des Graph G, sodass je zwei adjazente Knoten u und v (also (u, v) E) unterschiedlich gefärbt sind (also φ(u) φ(v)) Lemma G3C ist NP-vollständig Das interaktive Beweissystem Wir benötigen ein Commitment-Schema (S, R) mit Phasen-Programmen Com, U nveil. Der Prover P unseres Beweissystems ist eine PPT-Maschine und erhält als Zusatzeingabe zum Graphen G eine Dreifärbung Ψ von G. Gemeinsame Eingabe von P und V : Ein 3-färbbarer Graph (!) G = (V, E) Hilfseingabe des Provers P : Eine Dreifärbung Ψ von G Prover(P 1): WÄhle eine zufällige Permutation π S 3 auf den Farben. Setze φ = π Ψ (wende π auf Ψ an). Für alle v V setze s v = φ(v), verwende Commitment-Schema um auf alle s v zu committen (führe Com(s v ) für alle v V aus). Verifier erhält Commitments. Verifier(V 1): Wähle zufällig gleichverteilt eine Kante (u, v) E aus und sende diese an den Prover. Prover(P 2): Ist e = (u, v) die vom Verifier gesuchte Kante, dann führe mit dem Verifier Unveil(s u ) und Unveil(s v ) aus Verifier(V 2): Prüfe ob U nveil korrekt/erfolgreich (Receiver-Programm R akzeptiert) und wenn ja prüfen ob s u s v (u und v unterschiedlich gefärbt). Wenn ja akzeptiere, ansonsten lehne ab. Satz Diese Konstruktion ist ein (computational) Zero-Knowledge Beweissystem, falls Com, U nveil ein Commitment-Schema ist, welches die (statistical) Binding und die (computational) Hiding- Eigenschaft erfüllt. Beweis Completeness Klar: Ist Ψ eine 3-Färbung, dann ist auch φ = π Ψ eine Dreifärbung. Damit akzeptiert V immer, wenn G 3-färbbar ist, also P r[< P, V > (G) = 1] = 1 Soundness Ist G nicht dreifärbbar, dann gibt es mindestens eine Kante (u, v) E sodass φ(u) = φ(v). Da der Verifier seine Challenge-Kante echt zufällig wählt, trifft er diese mit 1 1 Wkt E (akzeptiert also höchstens mit Wkt. 1 E ) Durch Wiederholung (mit unabhängigem neuen Zufall) lässt sich diese Wkt. auf 1 3 senken. Bei k Wiederholungen (wähle k E ln(3)): P r[ i {1,..., k} : V akzeptiert in Runden i] (1 1 E )k e k 1 E 3 (40) 18

19 Zero-Knowledge Sei V eine beliebige PPT-Maschine, welche mit P interagiert. Wir konstruieren uns einen Simulator M aus V. Wichtig: Simulator M erhält nicht die Hilfseingabe Ψ 1. Simulator M : Eingabe G = (V, E) 2. Wähle ein Random-Tape für Maschinen V und P 3. Wähle eine zufällige Färbung Ψ des Graphen G (das ist mit hoher Wkt. keine Dreifärbung). Lasse den ersten Schritt des Protokolls mit Prover-Eingabe G, Ψ laufen. V erhält also Commitments Com(s v ) für alle v V, wobei s v = Ψ (v) 4. Simuliere die Berechnung von V solange weiter, bis V eine Challenge-Kante e = (u, v) angibt 5. Falls s u s v dann lasse Protokollschritt P 2 laufen (Unveil des Provers), ansonsten gib aus (breche ab) Claim: Falls Ψ echt zufällig gezogen wird, gilt für alle (u, v) E : P r[ψ (u) = Ψ (v)] = 1 3 Claim 2: Ist G dreifärbbar und erfüllt Com die Hiding-Eigenschaft, dann ist P r[m (G) = ] 1 2 Idee: Annahme: Es existiert ein V sodass P r[m (G) = ] ɛ. Ein solches V können wir dazu verwenden, einen Angreifer A zu konstruieren, welcher die Hiding-Eigenschaft des Commitment-Schemas bricht. Claim 3: Für einen 3-färbbaren Graphen G sind die Zufallsvariablen < P (Ψ), V > (G) und M (G) M (G) computationally indistinguishable 11.2 Mehrparteienberechnung Bisher: Wir haben Protokollen für spezielle Aufgaben und Funktionalitäten angegeben (Commitments, ZK). Man hätte gerne ein Entwurfsschema, mit welchem man beliebige Mehrparteienfunktionen (Funktion mit mehreren Eingabeblöcken) bzw. -berechnungen sicher berechnen kann. Ziel Sichere Ausführung von Mehrparteienberechnung (Funktion mit 1 Eingabe pro Partei) Bsp Millionärsproblem von Yao Geg 2 Millionäre M 1 und M 2 mit Kontoständen m 1, m 2 Frage Wer ist reicher (ohne m 1, m 2 herauszufinden)? Was heißt sicher berechnen? M 1 soll nur das 1 Bit Information über die Eingabe von M 2 erfahren und umgekehrt. Diese Eigenschaft heißt Input Privacy. Zusätzlich: Unabhängigkeit der eingaben, Non-Malleability Sicherheitseigenschaften hängen mit der zu realisierenden Funktion zusammen. Erkenntnis: Über Liste von Sicherheitseigenschaften lässt sich Sicherheit nicht vernünftig definieren. Es gibt quasi keine allgemeingültige absolute Definition von Sicherheit. Stattdessen: Definiere Sicherheit relativ und zwar mit denselben Paradigmen wie ZK (Simulierbarkeit) 19

20 Protokoll π ZK : Austausch von P 1 und P 2, Protokoll F ZK : Austausch über vertrauenswürdige Instanz Die ZK-Eigenschaft besagt, dass beide Protokolle, egal wie die Eingaben gewählt sind und egal ob P 2 korrumpiert ist ununterscheidbar sind. Denn für jeden P 2 links existiert ein P 1 rechts (Simulator), sodass die Protokollabläufe links und rechts ununterschiedbar sind. Wir haben die Sicherheit von π ZK auf die Sicherheit von F ZK reduziert. Anders: π ZK ist mindestens so sicher wie F ZK. Denn: Zu jedem korrumpierten P 2 welcher π ZK erfolgreicht angreift, gibt es ein P 2, welcher F ZK mit demselben Erfolg angreift. Für allgemeine Funktionen F mit Anzahl m an Parteien sieht folgendermaßen aus: Ein Realweltangreifer A ist eine PPT, die eine Menge M von Parteien korrumpiert. A steuert die Parteien P i und kann Verbindungen zwischen beliebigen Parteien abhören. Erhalten die Parteien Eingaben x = (x 1,..., x n ) dann berechnen wir die Ausgabe von A mit Real π,a (x). Ein Idealweltangreifer S ist ein PPT welcher eine Menge M von Parteien in F steuert (aber keine zusätzlichen Verbindungen der Parteien mit F abhören kann). Erhalten die Parten Eingabe x = (x 1,..., x n ), dann bezeichnet Ideal F,S (x) die Ausgabe von S. Annahme In der Eingabe x steckt jeweils implizit ein Sicherheitsparameter, welcher sie auf geeignete Länge paddet. A modelliert eine Verschwörung einer Menge M von Parteien, welche zusätzlich noch Abhörequipment besitzt. Man kann A auch deutlich mehr erlauben, bspw. Nachrichten zw. ehrlichen Parteien blockieren. Dadurch wird der erhaltene Sicherheitsbegriff stärker. Wir können nun formal Sicherheit definieren: Def 8.1. Wir sagen, dass π sicher F implementiert, falls es für alle Angreifer A (welches M Parteien korrumpiert) einen Simulator S gibt (der diese Menge M von Parteien korrumpiert) sodass die Ensembles: {Real π,a (x)} x und {Ideal F,S (x)} x ununterscheidbar sind. Anm: Ununterscheidbarkeit kann hierbei natürlich wieder perfekt, statistisch oder computational sein und legt den Grad der Sicherheit fest (perfekt und statistische Sicherheit gegen unbeschränkte Angreifer). Frage Wie kann man nun in diesem Simulierbarkeits-Framework Protokollprobleme lösen? Falls M < 1/3m und A keine Verbindungen abhären kann, dann ex. für jede Funktionalität F eine stat. sichere Implementierung π. Man kommt also komplett ohne Computational Assumptions aus. Beschränken wir uns auf den 2-Parteien-Fall. Hier kann mann einen 2-Schritte-Ansatz durchführen um F zu implementieren. 1. Implementiere F passiv sicher zu π 0, also sicher gegen solche Angreifer, welche sich an die Protokollregeln halten, aber alles was sie zu sehen bekommen speichern (z.b. auch nicht löschen, wenn löschen gefordert ist) 2. Compiler um passiv sicheres Protokoll in aktiv sicheres (wie oben spezifiziert) umwandeln. 20

21 3. Vorgehensweise: Anfangs commited sich jeder auf seine Eingabe und randomtape, und beweist in jedem einzelnen Protokollschritt in ZK, dass er sich an die Protokollregeln hält. (Das ist ein NP-statement über die Inhalte des Commitments) 4. Wie lässt sich eine Fkt. passiv sicher machen? Yao schlägt vor, einen Schaltkreis, welcher F implementiert, zu obfuszieren. passiv sicherer kryptographische Primitive namens Oblivious Transfer (OT) 12 Vorlesung Universelle Komponierbarkeit Letztes Mal: Simulationsbasierte Sicherheit in Mehrparteienberechnungen Problem mit diesem Modell A ρ : view π,a (x) view F,ρ (x) (41) Wir würden Protokolle gerne als Bausteine für größere Protokollaufgaben verwenden (Existiere Protokolle als Sub-Protokolle verwenden) Aber: Allgemein geht das schief Gesucht: Ein Modell in welchem Angreiferverhalten unter Komposition berücksichtigt wird. Zunächst: Ist ρ F ein Protokoll, welches als Subprotokoll eine ideale Funktion F verwendet und π realisiert die Funktionalität F dann schreiben wir ρ F/π für das Kompositum von ρ und π, wobei F in ρ durch π ersetzt werden. Wir möchten, dass Sicherheit unter solchen Kompositionsoperationen erhalten bleibt. Eine Umgebungsmaschine Z ist eine Maschine, welche sowohl die Ein/Ausgabe der ehrlichen Parteien kontrolliert, als auch das Verhalten des Angreifers steuert (Z ersetzt sozusagen Unterscheider D im klassischen simulationsbasierten Sicherheitsbegriff). Intuitiv: Z modelliert einen größeren Kontext, in welchem Protokoll π läuft. Das schließt mit ein, dass die Eingaben der ehrlichen Parteien gewissen Konditionen unterliegen. Das modelliert auch, dass ein Angreifer Zusatzinformationen (Weltwissen) irgendwoher erfahren kann. Definition: UC-Sicherheit: Wir sagen ein Protokoll π UC-emuliert eine ideale Funktionalität F, falls für jeden PPT-Angreifer A ein PPT-Simulator ρ existiert, sodass für alle PPT- Umgebungsmaschinen Z gilt: view π,a (Z) view F,ρ (Z) Satz: Das Kompositionstheorem Ist π eine UC-Realisierung von F. Dann gilt für jedes F- Hybrid ρ F. ρ F/π UC-emuliert ρ F Beweisskizze: Wo ist der Haken an der Sache? Man braucht beweisbar zusätzliche Annahmen selbst um einfachste Funktionalitäten zu realisieren. Beispiel: Bit-Commitment Betrachte den Fall dass der Sender korrumpiert ist. 13 Glossar Bayes-Regel P r[a B] P r[b] = P r[a, B] PPT Probabilistic Polytime TM 21

Hardcore-Prädikat. Definition Hardcore-Prädikat. Ziel: Destilliere Komplexität des Invertierens auf ein Bit.

Hardcore-Prädikat. Definition Hardcore-Prädikat. Ziel: Destilliere Komplexität des Invertierens auf ein Bit. Hardcore-Prädikat Ziel: Destilliere Komplexität des Invertierens auf ein Bit. Definition Hardcore-Prädikat Sei Π f eine Einwegfunktion. Sei hc ein deterministischer pt Alg mit Ausgabe eines Bits hc(x)

Mehr

CPA-Sicherheit ist ungenügend

CPA-Sicherheit ist ungenügend CPA-Sicherheit ist ungenügend Definition CCA CCA (=Chosen Ciphertext Attack) ist ein Angriff, bei dem der Angreifer sich Chiffretext seiner Wahl entschlüsseln lassen kann. Beispiele in denen CPA nicht

Mehr

Rabin Verschlüsselung 1979

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

Mehr

Prinzipien der modernen Kryptographie Sicherheit

Prinzipien der modernen Kryptographie Sicherheit Prinzipien der modernen Kryptographie Sicherheit Prinzip 1 Sicherheitsmodell Das Sicherheitsmodell (Berechnungsmodell, Angriffstypen, Sicherheitsziele) muss präzise definiert werden. Berechnungsmodell:

Mehr

Sicherheit von ElGamal

Sicherheit von ElGamal Sicherheit von ElGamal Satz CPA-Sicherheit ElGamal ElGamal Π ist CPA-sicher unter der DDH-Annahme. Beweis: Sei A ein Angreifer auf ElGamal Π mit Erfolgsws ɛ(n) := Ws[PubK cpa A,Π (n) = 1]. Wir konstruieren

Mehr

Einführung in die Kryptographie

Einführung in die Kryptographie Einführung in die Kryptographie Stefan Katzenbeisser Institut für Informatik Technische Universität München skatzenbeisser@acm.org Kryptographie p.1/54 Vom Zeichen zum Code Älteste Form: Codes repräsentieren

Mehr

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

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

Mehr

3: Zahlentheorie / Primzahlen

3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz IKS, KIT 06.05.2013 1 / 25 Überblick 1 Hashfunktionen Erinnerung Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel:

Mehr

8 Komplexitätstheorie und Kryptologie

8 Komplexitätstheorie und Kryptologie 8 Komplexitätstheorie und Kryptologie Verschlüsselung, Authentisierung,... müssen schnell berechenbar sein. Formal: polynomiell zeitbeschränkte Funktionen/Algorithmen Angreifer hat beschränkte Ressourcen.

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Jörn Müller-Quade ITI, KIT basierend auf den Folien von Dennis Hofheinz, Sommersemester 2014 02.05.2016 1 / 22 Überblick 1 Hashfunktionen Erinnerung Formalisierung Die Merkle-Damgård-Konstruktion

Mehr

Sicherheit von hybrider Verschlüsselung

Sicherheit von hybrider Verschlüsselung Sicherheit von hybrider Verschlüsselung Satz Sicherheit hybrider Verschlüsselung Sei Π ein CPA-sicheres PK-Verschlüsselungsverfahren und Π ein KPA-sicheres SK-Verschlüsselungsverfahren. Dann ist das hybride

Mehr

Public-Key-Kryptographie

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

Mehr

Diskrete Wahrscheinlichkeitstheorie - Probeklausur

Diskrete Wahrscheinlichkeitstheorie - Probeklausur Diskrete Wahrscheinlichkeitstheorie - robeklausur Sommersemester 2007 - Lösung Name: Vorname: Matrikelnr.: Studiengang: Hinweise Sie sollten insgesamt Blätter erhalten haben. Tragen Sie bitte Ihre Antworten

Mehr

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem Seminar Codes und Kryptographie WS 2003 Ein RSA verwandtes, randomisiertes Public Key Kryptosystem Kai Gehrs Übersicht 1. Motivation 2. Das Public Key Kryptosystem 2.1 p-sylow Untergruppen und eine spezielle

Mehr

ElGamal Verschlüsselungsverfahren (1984)

ElGamal Verschlüsselungsverfahren (1984) ElGamal Verschlüsselungsverfahren (1984) Definition ElGamal Verschlüsselungsverfahren Sei n ein Sicherheitsparameter. 1 Gen : (q, g) G(1 n ), wobei g eine Gruppe G der Ordnung q generiert. Wähle x R Z

Mehr

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14 Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die

Mehr

7.5 Erwartungswert, Varianz

7.5 Erwartungswert, Varianz 7.5 Erwartungswert, Varianz Def. 7.5.: a) X sei eine diskrete ZV, die bei unendl. vielen Werten x k folgende Zusatzbedingung erfüllt: x k p k

Mehr

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

1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben? Die Themen 1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben? Er sollte von wirklichen Zufallsgeneratoren nicht unterscheidbar sein?! Eine viel zu starke Forderung: Stattdessen sollte ein

Mehr

Kryptographie und Komplexität

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

Mehr

Kap. 2: Fail-Stop Unterschriften

Kap. 2: Fail-Stop Unterschriften Stefan Lucks 2: Fail-Stop Unterschriften 17 Digital Unterschreiben und Bezahlen Kap. 2: Fail-Stop Unterschriften Digitale Unterschriften (Synomym: Digitale Signaturen ): Fälschen mutmaßlich hart (RSA-Wurzeln,

Mehr

Mitschrift Vorlesung Einführung in die Kryptographie vom 18. Januar 2011

Mitschrift Vorlesung Einführung in die Kryptographie vom 18. Januar 2011 Mitschrift Vorlesung Einführung in die Kryptographie vom 18. Januar 2011 Dominic Scheurer 6. Februar 2012 Inhaltsverzeichnis 30 Digitale Signaturen (cont'd) - One-Time-Signaturen (OTS) 1 31 Public-Key-Verschlüsselung

Mehr

Algorithmentheorie Randomisierung. Robert Elsässer

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

Mehr

Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende

Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende Universität Duisburg-Essen Essen, den 15.0.009 Fachbereich Mathematik Prof. Dr. M. Winkler C. Stinner Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende Lösung Die Klausur gilt als bestanden,

Mehr

Kryptosystem von Paillier: Analyse und Verbesserungen

Kryptosystem von Paillier: Analyse und Verbesserungen Kryptosystem von Paillier: Analyse und Verbesserungen Andreas Kumlehn 31. März 2006 Inhalt 1 Einleitung 3 2 Grundlagen 4 2.1 Laufzeiten........................................... 4 2.2 Sicherheit...........................................

Mehr

Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende

Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende Universität Duisburg-Essen Essen, den 12.02.2010 Fakultät für Mathematik Prof. Dr. M. Winkler C. Stinner Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende Lösung Die Klausur gilt als bestanden,

Mehr

Grundbegriffe der Wahrscheinlichkeitsrechnung

Grundbegriffe der Wahrscheinlichkeitsrechnung Algorithmen und Datenstrukturen 349 A Grundbegriffe der Wahrscheinlichkeitsrechnung Für Entwurf und Analyse randomisierter Algorithmen sind Hilfsmittel aus der Wahrscheinlichkeitsrechnung erforderlich.

Mehr

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

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

Mehr

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen Stefan Lucks 8: Zufallsorakel 139 Kryptogr. Hashfunkt. (WS 08/09) 8: Zufallsorakel Unser Problem: Exakte Eigenschaften von effizienten Hashfunktionen nur schwer erfassbar (z.b. MD5, Tiger, RipeMD, SHA-1,...)

Mehr

Public-Key-Verschlüsselung und Diskrete Logarithmen

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

Mehr

Einführung in die Stochastik für Informatiker Übungsaufgaben mit Lösungen

Einführung in die Stochastik für Informatiker Übungsaufgaben mit Lösungen Einführung in die Stochastik für Informatiker Übungsaufgaben mit Lösungen David Geier und Sven Middelberg RWTH Aachen, Sommersemester 27 Inhaltsverzeichnis Information 2 Aufgabe 4 Aufgabe 2 6 4 Aufgabe

Mehr

IT-Sicherheit Kapitel 3 Public Key Kryptographie

IT-Sicherheit Kapitel 3 Public Key Kryptographie IT-Sicherheit Kapitel 3 Public Key Kryptographie Dr. Christian Rathgeb Sommersemester 2013 1 Einführung In der symmetrischen Kryptographie verwenden Sender und Empfänger den selben Schlüssel die Teilnehmer

Mehr

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

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

Mehr

Kryptographie I Symmetrische Kryptographie

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

Mehr

Erinnerung Blockchiffre

Erinnerung Blockchiffre Erinnerung Blockchiffre Definition schlüsselabhängige Permutation Seien F, F 1 pt Algorithmen. F heißt schlüsselabhängige Permutation auf l Bits falls 1 F berechnet eine Funktion {0, 1} n {0, 1} l {0,

Mehr

Einführung in die Kryptographie. 20.6.2011, www.privacyfoundation.ch

Einführung in die Kryptographie. 20.6.2011, www.privacyfoundation.ch Einführung in die Kryptographie 20.6.2011, www.privacyfoundation.ch Kryptographie Name kryptós: verborgen, geheim gráphein: schreiben Verschlüsselung Text so umwandeln, dass man ihn nur noch entziffern/lesen

Mehr

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln. 4.4 Perfektes Hashing Das Ziel des perfekten Hashings ist es, für eine Schlüsselmenge eine Hashfunktion zu finden, so dass keine Kollisionen auftreten. Die Größe der Hashtabelle soll dabei natürlich möglichst

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Jörn Müller-Quade ITI, KIT basierend auf den Folien von Dennis Hofheinz, Sommersemester 2014 20.04.2014 1 / 28 Überblick 1 Blockchiffren Erinnerung Angriffe auf Blockchiffren 2 Formalisierung

Mehr

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie IT-Sicherheit: Kryptographie Asymmetrische Kryptographie Fragen zur Übung 5 C oder Java? Ja (gerne auch Python); Tips waren allerdings nur für C Wie ist das mit der nonce? Genau! (Die Erkennung und geeignete

Mehr

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz Entwicklung der Asymmetrischen Kryptographie und deren Einsatz Peter Kraml, 5a hlw Facharbeit Mathematik Schuljahr 2013/14 Caesar-Verschlüsselung Beispiel Verschiebung der Buchstaben im Alphabet sehr leicht

Mehr

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

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

Mehr

Cramer-Shoup-Variante des ElGamal-Kryptoschemas

Cramer-Shoup-Variante des ElGamal-Kryptoschemas R. Fischlin/15. Februar 000 Cramer-Shoup-Variante des ElGamal-Kryptoschemas Wir stellen die Variante des ElGamal-Kryptoschemas von Cramer und Shoup [GS98] vor. Im Gegensatz zum urspünglichen System ist

Mehr

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

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

Mehr

Unabhängige Zufallsvariablen

Unabhängige Zufallsvariablen Kapitel 9 Unabhängige Zufallsvariablen Die Unabhängigkeit von Zufallsvariablen wird auf die Unabhängigkeit von Ereignissen zurückgeführt. Im Folgenden sei Ω, A, P ) ein Wahrscheinlichkeitsraum. Definition

Mehr

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 22/3 Vorname Nachname Matrikelnummer

Mehr

3. Kombinatorik und Wahrscheinlichkeit

3. Kombinatorik und Wahrscheinlichkeit 3. Kombinatorik und Wahrscheinlichkeit Es geht hier um die Bestimmung der Kardinalität endlicher Mengen. Erinnerung: Seien A, B, A 1,..., A n endliche Mengen. Dann gilt A = B ϕ: A B bijektiv Summenregel:

Mehr

n ϕ n

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

Mehr

Übungsblatt Nr. 5. Lösungsvorschlag

Übungsblatt Nr. 5. Lösungsvorschlag Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 5 Aufgabe 1: Eine schöne Bescherung (K)

Mehr

RSA Full Domain Hash (RSA-FDH) Signaturen

RSA Full Domain Hash (RSA-FDH) Signaturen RSA Full Domain Hash (RSA-FDH) Signaturen Signatur RSA-FDH Sei H : {0, 1} Z N ein Random-Oracle. 1 Gen: (N, e, d) GenRSA(1 n ) mit pk = (N, e) und sk = (N, d). 2 Sign: Für eine Nachricht m {0, 1} berechne

Mehr

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren

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

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests 23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl

Mehr

Der Aufbau dieser Arbeit folgt thematisch und terminologisch dem Buch von Du et. al. Theory of Computational Complexity. 2

Der Aufbau dieser Arbeit folgt thematisch und terminologisch dem Buch von Du et. al. Theory of Computational Complexity. 2 Seite 1 Arthur-Merlin-Games stefan klumpp, 164010 Ráð þú mér nú, Frigg, alls mik fara tíðir at vitja Vafþrúðnis; forvitni mikla kveð ek mér á fornum stöfum við þann inn alsvinna jötun. Einleitung Das Frage-und-Antwort-Spiel

Mehr

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

2 Zufallsvariable, Verteilungen, Erwartungswert

2 Zufallsvariable, Verteilungen, Erwartungswert 2 Zufallsvariable, Verteilungen, Erwartungswert Bisher: Zufallsexperimente beschrieben durch W-Räume (Ω, A, P) Häufig interessiert nur eine zufällige Größe X = X(ω), die vom Ergebnis ω des Zufallsexperiments

Mehr

Digitale Unterschriften mit ElGamal

Digitale Unterschriften mit ElGamal Digitale Unterschriften mit ElGamal Seminar Kryptographie und Datensicherheit Institut für Informatik Andreas Havenstein Inhalt Einführung RSA Angriffe auf Signaturen und Verschlüsselung ElGamal Ausblick

Mehr

Voll homomorpe Verschlüsselung

Voll homomorpe Verschlüsselung Voll homomorpe Verschlüsselung Definition Voll homomorphe Verschlüsselung Sei Π ein Verschlüsselungsverfahren mit Enc : R R für Ringe R, R. Π heißt voll homomorph, falls 1 Enc(m 1 ) + Enc(m 2 ) eine gültige

Mehr

Übung Theoretische Grundlagen

Ü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

Mehr

Stochastik I. Vorlesungsmitschrift

Stochastik I. Vorlesungsmitschrift Stochastik I Vorlesungsmitschrift Ulrich Horst Institut für Mathematik Humboldt-Universität zu Berlin Inhaltsverzeichnis 1 Grundbegriffe 1 1.1 Wahrscheinlichkeitsräume..................................

Mehr

Wiederholung. Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES

Wiederholung. Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES Wiederholung Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES Mathematische Grundlagen: algebraische Strukturen: Halbgruppe, Monoid,

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen

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

Mehr

RSA Verfahren. Kapitel 7 p. 103

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

Mehr

7.2 Moment und Varianz

7.2 Moment und Varianz 7.2 Moment und Varianz Def. 21 Es sei X eine zufällige Variable. Falls der Erwartungswert E( X p ) existiert, heißt der Erwartungswert EX p p tes Moment der zufälligen Variablen X. Es gilt dann: + x p

Mehr

Dieses Quiz soll Ihnen helfen, Kapitel besser zu verstehen.

Dieses Quiz soll Ihnen helfen, Kapitel besser zu verstehen. Dieses Quiz soll Ihnen helfen, Kapitel 2.5-2. besser zu verstehen. Frage Wir betrachten ein Würfelspiel. Man wirft einen fairen, sechsseitigen Würfel. Wenn eine oder eine 2 oben liegt, muss man 2 SFr zahlen.

Mehr

3 Bedingte Wahrscheinlichkeit, Unabhängigkeit von Ereignissen

3 Bedingte Wahrscheinlichkeit, Unabhängigkeit von Ereignissen 3 Bedingte Wahrscheinlichkeit, Unabhängigkeit von Ereignissen 3.1 Einführung Bsp. 19 (3-maliges Werfen einer Münze) Menge der Elementarereignisse: Ω {zzz,zzw,zwz,wzz,zww,wzw,wwz,www}. Ω 2 3 8 N Wir definieren

Mehr

Verschlüsselung. Chiffrat. Eve

Verschlüsselung. Chiffrat. Eve Das RSA Verfahren Verschlüsselung m Chiffrat m k k Eve? Verschlüsselung m Chiffrat m k k Eve? Aber wie verteilt man die Schlüssel? Die Mafia-Methode Sender Empfänger Der Sender verwendet keine Verschlüsselung

Mehr

Sicherer MAC für Nachrichten beliebiger Länge

Sicherer MAC für Nachrichten beliebiger Länge Sicherer MAC für Nachrichten beliebiger Länge Korollar Sicherer MAC für Nachrichten beliebiger Länge Sei F eine Pseudozufallsfunktion. Dann ist Π MAC2 für Π = Π MAC sicher. Nachteile: Für m ({0, 1} n 4

Mehr

Varianz und Kovarianz

Varianz und Kovarianz KAPITEL 9 Varianz und Kovarianz 9.1. Varianz Definition 9.1.1. Sei (Ω, F, P) ein Wahrscheinlichkeitsraum und X : Ω eine Zufallsvariable. Wir benutzen die Notation (1) X L 1, falls E[ X ]

Mehr

Stochastik. 1. Wahrscheinlichkeitsräume

Stochastik. 1. Wahrscheinlichkeitsräume Stochastik 1. Wahrscheinlichkeitsräume Ein Zufallsexperiment ist ein beliebig oft und gleichartig wiederholbarer Vorgang mit mindestens zwei verschiedenen Ergebnissen, bei dem der Ausgang ungewiß ist.

Mehr

10. Public-Key Kryptographie

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

Mehr

Kommunikationsalgorithmus RSA

Kommunikationsalgorithmus RSA Kommunikationsalgorithmus RSA Herr Maue Ergänzungsfach Informatik Neue Kantonsschule Aarau Früjahrsemester 2015 24.04.2015 EFI (Hr. Maue) Kryptographie 24.04.2015 1 / 26 Programm heute 1. Verschlüsselungsverfahren

Mehr

Vortrag zum Proseminar: Kryptographie

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

Mehr

9 Die Normalverteilung

9 Die Normalverteilung 9 Die Normalverteilung Dichte: f(x) = 1 2πσ e (x µ)2 /2σ 2, µ R,σ > 0 9.1 Standard-Normalverteilung µ = 0, σ 2 = 1 ϕ(x) = 1 2π e x2 /2 Dichte Φ(x) = 1 x 2π e t2 /2 dt Verteilungsfunktion 331 W.Kössler,

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische

Mehr

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 26. November 2007 Semi-Entscheidbarkeit

Mehr

Pseudozufallsgeneratoren

Pseudozufallsgeneratoren Pseudozufallsgeneratoren In welchen kryptographischen Verfahren werden keine Zufallszahlen benötigt? Wie generiert man Zufallszahlen in einer deterministischen Maschine wie dem Computer? Wenn man eine

Mehr

1 Stochastische Konvergenz 2. 2 Das Gesetz der grossen Zahlen 4. 3 Der Satz von Bernoulli 6

1 Stochastische Konvergenz 2. 2 Das Gesetz der grossen Zahlen 4. 3 Der Satz von Bernoulli 6 Wirtschaftswissenschaftliches Zentrum 0 Universität Basel Mathematik Dr. Thomas Zehrt Grenzwertsätze Benötigtes Vorwissen: Der Stoff der Vorlesung,,Statistik wird als bekannt vorausgesetzt, insbesondere

Mehr

2 Aufgaben aus [Teschl, Band 2]

2 Aufgaben aus [Teschl, Band 2] 20 2 Aufgaben aus [Teschl, Band 2] 2.1 Kap. 25: Beschreibende Statistik 25.3 Übungsaufgabe 25.3 a i. Arithmetisches Mittel: 10.5 ii. Median: 10.4 iii. Quartile: x 0.25 Y 4 10.1, x 0.75 Y 12 11.1 iv. Varianz:

Mehr

5 Erwartungswerte, Varianzen und Kovarianzen

5 Erwartungswerte, Varianzen und Kovarianzen 47 5 Erwartungswerte, Varianzen und Kovarianzen Zur Charakterisierung von Verteilungen unterscheidet man Lageparameter, wie z. B. Erwartungswert ( mittlerer Wert ) Modus (Maximum der Wahrscheinlichkeitsfunktion,

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 4.2 Primzahltests 1. Deterministische Primzahltests 2. Der Primzahltest von Solovay-Strassen 3. Der Milner-Rabin Test Wozu Primzahltests? RSA Schlüssel benötigen sehr

Mehr

Asymmetrische Kryptographie u

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

Mehr

RSA Full Domain Hash (RSA-FDH) Signaturen

RSA Full Domain Hash (RSA-FDH) Signaturen RSA Full Domain Hash (RSA-FDH) Signaturen Signatur RSA-FDH Sei H : {0, 1} Z N ein Random-Oracle. 1 Gen: (N, e, d) GenRSA(1 n ) mit pk = (N, e) und sk = (N, d). 2 Sign: Für eine Nachricht m {0, 1} berechne

Mehr

5. Spezielle stetige Verteilungen

5. Spezielle stetige Verteilungen 5. Spezielle stetige Verteilungen 5.1 Stetige Gleichverteilung Eine Zufallsvariable X folgt einer stetigen Gleichverteilung mit den Parametern a und b, wenn für die Dichtefunktion von X gilt: f x = 1 für

Mehr

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

Mehr

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren 4: Stromchiffren Zwei Grundbausteine der symmetrischen Kryptographie: Stromchiffren Verschlüsseln beliebig langer Klartexte, interner Zustand Blockchiffren Verschlüsseln von Blocks einer festen Größe,

Mehr

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP

Mehr

Beweisbar sichere Verschlüsselung

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 bmoeller@crypto.rub.de 11

Mehr

Krypto-Begriffe U23 Krypto-Mission

Krypto-Begriffe U23 Krypto-Mission Krypto-Begriffe -Mission florob Simon e.v. http://koeln.ccc.de 4. Oktober 2015 Was ist Kryptographie? Griechisch: κρυπτος (verborgen) + γραϕειν (schreiben) Mittel und Wege: Verschlüsseln einer Nachricht

Mehr

13. Der diskrete Logarithmus

13. Der diskrete Logarithmus 13. Der diskrete Logarithmus 13.1. Definition. Sei p eine Primzahl. Wie wir in 9 bewiesen haben, ist die multiplikative Gruppe F p des Körpers F p = Z/p zyklisch. Sei g ein erzeugendes Element von F p

Mehr

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012 Die Klassen P und NP Dr. Eva Richter 29. Juni 2012 1 / 35 Die Klasse P P = DTIME(Pol) Klasse der Probleme, die sich von DTM in polynomieller Zeit lösen lassen nach Dogma die praktikablen Probleme beim

Mehr

TU Darmstadt FB Mathematik, AG 9 WS 2004/2005 Jakob Creutzig (1 + ρ)

TU Darmstadt FB Mathematik, AG 9 WS 2004/2005 Jakob Creutzig (1 + ρ) TU Darmstadt FB Mathematik, AG 9 WS 2004/2005 Jakob Creutzig 9..04 Lösungsvorschläge zum 3. Aufgabenblatt der Vorlesung,,Einführung in die Finanzmathematik Gruppenübungen Aufgabe : Es sei Ω = {, +} n,

Mehr

Einführung in die Wahrscheinlichkeitsrechnung

Einführung in die Wahrscheinlichkeitsrechnung Marco Cattaneo Institut für Statistik Ludwig-Maximilians-Universität München Sommersemester 2011 1. Wahrscheinlichkeitsrechnung 2. Diskrete Zufallsvariable 3. Stetige Zufallsvariable 4. Grenzwertsätze

Mehr

Unentscheidbare Probleme: Diagonalisierung

Unentscheidbare Probleme: Diagonalisierung Unentscheidbare Probleme: Diagonalisierung Prof Dr Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Oktober 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

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

Der RSA-Algorithmus. 2. Anschließend ist n = p q und ϕ (n) = (p 1) (q 1) zu berechnen. Kapitel 4 Der RSA-Algorithmus Der RSA-Algorithmus ist das heute bekannteste Verfahren aus der Familie der Public-Key-Kryptosysteme. Es wurde 1978 der Öffentlichkeit vorgestellt und gilt bis heute als der

Mehr

Zufallsvariablen [random variable]

Zufallsvariablen [random variable] Zufallsvariablen [random variable] Eine Zufallsvariable (Zufallsgröße) X beschreibt (kodiert) die Versuchsausgänge ω Ω mit Hilfe von Zahlen, d.h. X ist eine Funktion X : Ω R ω X(ω) Zufallsvariablen werden

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

Ü b u n g s b l a t t 10

Ü b u n g s b l a t t 10 Einführung in die Stochastik Sommersemester 07 Dr. Walter Oevel. 6. 2007 Ü b u n g s b l a t t 0 Mit und gekennzeichnete Aufgaben können zum Sammeln von Bonuspunkten verwendet werden. Lösungen von -Aufgaben

Mehr

Teil III. Komplexitätstheorie

Teil III. Komplexitätstheorie Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik 0 KIT 17.05.2010 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am

Mehr