Beweisbar sichere Kryptographie

Größe: px
Ab Seite anzeigen:

Download "Beweisbar sichere Kryptographie"

Transkript

1 Beweisbar sichere Kryptographie Dennis Hofheinz Wintersemester 2012/2013, Karlsruher Institut für Technologie Notation Für n N schreiben wir n := {1,..., n}. Für einen Bitstring x {0, 1} bezeichnet x die Bitlänge von x. Für n N bezeichnet 1 n den String von n Einsen. Für eine Menge S bezeichnet s S gleichverteiltes Ziehen von s aus S. Für einen probabilistischen Algorithmus M bezeichnet y M(x), daß y die Ausgabe von M bei Eingabe x ist. Um den von M verwendeten Zufall r explizit zu machen, schreiben wir auch y = M(x; r). 1 Motivation Szenario: sichere Nachrichtenübermittlung. Angenommen, Alice möchte Bob eine geheimzuhaltende Nachricht über eine unsichere Datenleitung schicken. Mit unsicherer Datenleitung sei hier zunächst gemeint, daß ein hypothetischer Angreifer alle über die Leitung gesendeten Signale mithört. Will man erreichen, daß der Angreifer die zu versendene Nachricht nicht erfährt, ist also zu vermeiden, die Nachricht im Klartext zu senden. Stattdessen sollten Maßnahmen ergriffen werden, die Nachricht vor dem Transport über die unsichere Leitung geeignet zu schützen. Dies kann durch Verschlüsseln der Nachricht erreicht werden. Secret-Key-Verschlüsselung. Bei Nutzung eines Secret-Key-Verschlüsselungsschemas (kurz: eines SKE-Schemas) verfügen Alice und Bob über einen gemeinsamen Schlüssel K {0, 1}. Sowohl der Verschlüsselungs- als auch der Entschlüsselungsalgorithmus erfordern K als Eingabe. Der Schlüssel K ist dabei geheimzuhalten wird er veröffentlicht, kann ein Angreifer selbst ein gesendetes Chiffrat entschlüsseln. SKE-Schemata haben den Nachteil, daß durch die benötigten geheimen Schlüssel K eine Schlüsselverteilung benötigt wird. Zudem gibt es bei einem Kommunikationssystem mit n teilnehmenden Parteien n(n 1)/2 Schlüssel, wobei wir davon ausgehen, daß jedes Paar von Parteien über einen eigenen Schlüssel verfügt. Public-Key-Verschlüsselung. Um diesem Mißstand entgegenzuwirken, kann Public-Key-Verschlüsselung (PKE) verwendet werden. Bei einem PKE-Schema wird eine Nachricht M unter einem öffentlichen Schlüssel pk verschlüsselt: Dennis.Hofheinz@kit.edu C Enc(pk, M). 1

2 Um ein Chiffrat C zu entschlüsseln, muß dabei ein passender geheimer Schlüssel sk genutzt werden: M Dec(sk, C). Der öffentliche Schlüssel pk allein erlaubt keine Entschlüsselung. Damit ist es prinzipiell möglich, daß pk veröffentlicht wird. Insbesondere kann pk von allen Sendern genutzt werden, die Nachrichten an den Besitzer von sk verschlüsseln und senden möchten. Es sind also bei n Parteien im System nur n Schlüsselpaare nötig. 2 Überblick In dieser Vorlesung sollen folgende Themen behandelt werden: Definitionen. Wir werden nach einer sinnvollen und nützlichen Definition von PKE-Schemata und ihrer Sicherheit suchen. Dabei werden wir Wert darauf legen, Konzepte wie asymptotische Sicherheit und die Unterscheidung verschiedener Bedrohungsarten zu motivieren und zu erklären. Konstruktionen. Wir werden Beispiele für sichere und effiziente Konstruktionen von PKE-Systemen angeben. Hierbei soll Wert darauf gelegt werden, die Sicherheit der Systeme in einem festgelegten Rahmen und unter vereinbarten Annahmen und Definitionen mathematisch zu beweisen. Techniken. Wir werden Techniken kennenlernen, um Sicherheitsbeweise damit sind hier Reduktionsbeweise im Sinne der Komplexitätstheorie gemeint zu führen. Dreh- und Angelpunkt unserer Betrachtungen werden PKE-Schemata sein. Jedoch werden wir gelegentlich auch andere, verwandte kryptographische Systeme betrachten, etwa digitale Signaturschemata. Insbesondere können im Umfeld von PKE-Schemata entwickelte Techniken auch in anderen Kontexten als sehr nützlich erkannt werden. 3 Definition von Public-Key-Verschlüsselungsschemata Ein erster Versuch. Zunächst wollen wir das Objekt unserer Untersuchungen definieren. Beginnen wir dazu zunächst mit einem Definitionsversuch: Definition 3.1 (PKE-Schema, erster Versuch). Ein PKE-Schema PKE mit Nachrichtenraum M {0, 1} besteht aus drei probabilistischen Algorithmen (Gen, Enc, Dec): Schlüsselgenerierung. Gen(ε) gibt bei leerer Eingabe ε ein Schlüsselpaar (pk, sk) aus. Verschlüsselung. Enc(pk, M) gibt bei Eingabe eines öffentlichen Schlüssels pk und einer Nachricht M M ein Chiffrat C aus. Entschlüsselung. Dec(sk, C) gibt bei Eingabe eines geheimen Schlüssels sk und eines Chiffrats C eine Nachricht M M aus. Wir fordern Korrektheit in dem Sinne, daß für alle M M, alle (pk, sk) im Bild von Gen, und alle C im Bild von Enc(pk, M) immer Dec(sk, C) = M gilt. Definition 3.1 wäre nicht mit erster Versuch annotiert, wenn sie der Weisheit letzter Schluß wäre. Um die Probleme zu verstehen, die Definition 3.1 verbunden sind, halten wir zunächst fest, daß kein PKE-Schema im Sinne von Definition 3.1 uneingeschränkt sicher sein kann: 2

3 Lemma 3.2 (PKE-Unsicherheit gegen unbeschränkte Angreifer). Sei PKE = (Gen, Enc, Dec) ein PKE-Schema im Sinne von Definition 3.1. Dann existiert ein deterministischer Algorithmus A, der M A(pk, C) für alle M M und alle möglichen (pk, sk) Gen(ε) und C Enc(pk, M) erfüllt. Beweis. A sucht mit vollständiger Suche nach M M, R {0, 1} mit C = Enc(pk, M ; R ) und gibt das erste so gefundene M aus. Bei Eingabe (pk, C) wie im Lemma existieren solche M, R ; der Algorithmus terminiert also. Andererseits impliziert Enc(pk, M ; R ) = C = Enc(pk, M; R) (1) wegen der angenommenen Korrektheit von PKE schon M = M. (Um dies einzusehen, wende man Dec(sk, ) auf (1) an.) Selbstverständlich ist der Angreifer A aus Lemma 3.2 alles andere als effizient. Es bleibt also zu hoffen, daß man ein PKE-Schema angeben kann, daß sicher zumindest gegen effiziente Angriffe ist. Aber auch hier ist etwas Vorsicht geboten: Lemma 3.3 (PKE-Unsicherheit mit kleiner Wahrscheinlichkeit). Sei PKE = (Gen, Enc, Dec) ein PKE-Schema im Sinne von Definition 3.1. Dann existiert ein probabilistischer Algorithmus A mit etwa derselben Laufzeit wie Enc, der A(pk, C) {, M} und Pr M A(pk, C) > 0 für alle M M und alle möglichen (pk, sk) Gen(ε) und C Enc(pk, M) erfüllt. Beweis. Man betrachte das A aus dem Beweis von Lemma 3.2; statt jedoch eine vollständige Suche über M, r durchzuführen rate man M M, r {0, 1}. (Hierzu kann eine beliebige Verteilung X mit Pr X = x > 0 für alle x {0, 1} verwendet werden.) Asymptotische Sicherheit. Es existieren also generische allerdings entweder ineffiziente oder nur selten erfolgreiche Angriffe auf PKE-Schemata. Wir können also nur auf eine Sicherheitsaussage der Form Jeder effiziente Angriff gegen PKE hat höchstens mit kleiner Wahrscheinlichkeit Erfolg. hoffen. Hierbei ist noch zu definieren, was effiziente Angriffe und kleine Wahrscheinlichkeiten sind. Eine Möglichkeit hierzu wäre etwa, Effiziente Angreifer := Algorithmen mit Laufzeit 2 80 Kleine Wahrscheinlichkeiten := Wahrscheinlichkeiten 2 80 zu setzen. Ein Schema, daß in diesem Sinne sicher wäre, dürfte man wohl als intuitiv sicher bezeichnen können. Allerdings hat eine solche Sicherheitsdefinition Nachteile: 3

4 Mangelnde Skalierbarkeit. Durch algorithmische Fortschritte verändern sich Komplexitätsabschätzungen. Beispielsweise wurde 1977 geschätzt, daß die Faktorisierung einer 429-Bit-Zahl mehrere Millionen Jahre beanspruchen würde wurden erstmals Zahlen dieser Größe durch verteilte Berechnungen faktorisiert. Das heißt auch, daß heute noch aktuelle konkrete Abschätzungen für die Erfolgswahrscheinlichkeit eines Angriffs oder die Komplexität einer Berechnung in absehbarer Zukunft veraltet sein könnten. Aus diesem Grund scheint es gewagt, konkrete Schranken für die Sicherheit eines Schemas (und die Klassifikation von sicheren Schemata) anzugeben. Mangelnde technische Handhabbarkeit. Bezeichnet man ein Schema genau dann als sicher, wenn es keine Angriffe mit Erfolgswahrscheinlichkeit größer als 2 80 zuläßt, so könnte eine Kombination von zwei Instanzen eines sicheren Schemas unsicher werden. (Man nehme etwa an, daß ein Angriff auf jede einzelne Instanz die Erfolgswahrscheinlichkeit 2 80 hat. Dann ist die Wahrscheinlichkeit, daß ein Angriff auf mindestens eine von zwei Instanzen des Schemas funktioniert, > Aus diesem Grund werden wir nicht versuchen, effizient und kleine Wahrscheinlichkeit wie oben konkret zu definieren. Stattdessen werden wir PKE-Schemata als komplexitätstheoretische Objekte auffassen, die einen expliziten, unär kodierten Sicherheitsparameter 1 k (mit k N) als Eingabe erhalten. Mit größerem Sicherheitsparameter soll intuitiv gesprochen mehr Sicherheit garantiert werden. Das bedeutet, daß das Schema selbst eine Zeitkomplexität haben darf, die polynomiell in k ist, Angriffe polynomiell in k sein dürfen (aber nicht aufwendiger), der Erfolg eines Angriffs als Funktion in k klein sein muß. Als kleine Funktionen (um einen Angriffserfolg zu beschränken) bieten sich verschiedene Möglichkeiten an: Man könnte fordern, daß eine Funktion f(k) klein ist, wenn lim k f(k) = 0 oder gar f(k) 2 k ist. Wir werden uns hier für die derzeit gängigste Formalisierung kleiner Funktionen entscheiden: Definition 3.4 (Vernachlässigbare Funktion). Eine Funktion f : N R ist vernachlässigbar, wenn gilt: c N k 0 N k > k 0 : f(k) < 1 k c. Eine vernachlässigbare Funktion verschwindet also asymptotisch schneller als jedes Polynom. Es ist beispielsweise k log k vernachlässigbar, k 1000 allerdings nicht. Weiter definieren wir Definition 3.5 (PPT). Ein probabilistischer Algorithmus ist PPT (für probabilistic polynomialtime), wenn er polynomielle Zeitkomplexität in der Länge der ersten Eingabe hat. So ausgestattet können wir nun unsere Definition eines PKE-Schemas leicht verfeinern (unterlegt dabei die Veränderungen gegenüber Definition 3.1): Definition 3.6 (PKE-Schema). Ein PKE-Schema PKE mit Nachrichtenraum M k {0, 1} besteht aus drei PPT-Algorithmen (Gen, Enc, Dec): Schlüsselgenerierung. Gen(1 k ) gibt bei Eingabe 1 k ein Schlüsselpaar (pk, sk) aus. Verschlüsselung. Enc(pk, M) gibt bei Eingabe eines öffentlichen Schlüssels pk und einer Nachricht M M k ein Chiffrat C aus. 4

5 Entschlüsselung. Dec(sk, C) gibt bei Eingabe eines geheimen Schlüssels sk und eines Chiffrats C eine Nachricht M M k { } aus. Wir fordern Korrektheit in dem Sinne, daß für alle k N, alle M M k, alle (pk, sk) im Bild von Gen(1 k ), und alle C im Bild von Enc(pk, M) immer Dec(sk, C) = M gilt. Die spezielle Ausgabe von Dec signalisiert hierbei, daß die Entschlüsselung fehlgeschlagen ist. 4 Sicherheitsdefinitionen Vorbemerkungen. Tasten wir uns nun vor zu einer ersten Sicherheitsdefinition. Wir haben bereits festgehalten: Angriffe sollten effizient, also PPT sein, und Angriffserfolge sollten vernachlässigbar sein. Es ist aber noch nicht klar, was das Ziel eines Angriffs sein soll. Mehrere Ziele sind denkbar: Den geheimen Schlüssel (und damit eine universelle Methode, um zu entschlüsseln) aus dem öffentlichen Schlüssel berechnen. Ein gegebenes Chiffrat entschlüsseln (also die zugehörige Nachricht finden). (Möglicherweise begrenzte) Informationen über die verschlüsselte Nachricht bei gegebenem Chiffrat finden. Man beachte hierbei, daß diese Ziele in absteigender Reihenfolge der Schwierigkeit angegeben sind. Findet man beispielsweise einen geheimen Schlüssel, so ist es damit auch möglich, jedes gegebene Chiffrat zu entschlüsseln. Je nach Einsatzzweck können auch speziellere Anforderungen existieren. (Wir werden diesbezüglich noch ein konkretes Beispiel kennenlernen.) Generell werden wir aber daran interessiert sein, eine möglichst universelle Sicherheitsdefinition zu finden, die Angriffe in einer Vielzahl von Szenarien ausschließt. Anders gesagt: wir sind daran interessiert, die Sicherheit eines Schemas unabhängig vom Einsatzzweck zu analysieren. Einwegeigenschaft der Verschlüsselung. schwachen Definition: Beginnen wir zunächst mit einer vergleichsweise Definition 4.1 (OW-CPA). Sei PKE = (Gen, Enc, Dec) ein PKE-Schema mit für jedes k endlichem Nachrichtenraum M k. Sei A ein PPT-Algorithmus. Sei Adv ow-cpa PKE,A (k) := Pr Exp ow-cpa PKE,A (k) = 1, wobei das Experiment Exp ow-cpa PKE,A wie folgt definiert ist: Experiment Exp ow-cpa PKE,A (k) (pk, sk) Gen(1 k ) M M k C Enc(pk, M ) M A(1 k, pk, C ) if M = M then return 1 else return 0 PKE ist OW-CPA-sicher (für one-way under chosen-plaintext attacks ), falls für jeden PPT- Algorithmus A die Funktion Adv ow-cpa PKE,A (k) vernachlässigbar ist. 5

6 Es ist sofort klar, wo das Problem dieser Definition liegt: Die Auswahl der Zielnachricht M erfolgt relativ willkürlich: M wird gleichverteilt aus M k gezogen. Es sind PKE-Schemata denkbar, die zwar Definition 4.1 erfüllen, die jedoch einige feste Nachrichten wie ja oder nein immer unsicher verschlüsseln. (Man denke etwa an ein Schema, bei dem immer ja Enc(pk, ja) und nein Enc(pk, nein) gilt.) Dennoch wird sich später Definition 4.1 als nützliches Hilfsmittel erweisen, um leistungsfähigere PKE-Schemata zu konstruieren. OW-CPA-Sicherheit und die Größe des Nachrichtenraums. Eine erste Beobachtung zeigt, daß Definition 4.1 überdies nur bei hinreichend großem Nachrichtenraum Sinn ergibt: Lemma 4.2 (OW-CPA-Unmöglichkeit bei kleinem Nachrichtenraum). Sei PKE ein PKE-Schema mit Nachrichtenraum M k {0, 1} k, so daß 1/ M k als Funktion in k nicht-vernachlässigbar ist. Dann ist PKE nicht OW-CPA-sicher. Beweis. Der Angreifer A, der unabhängig von der Eingabe M M k wählt, erzielt was nach Annahme nicht-vernachlässigbar ist. Adv ow-cpa PKE,A (k) = Pr M = M = 1 M k, Selbstverständlich hätten wir auch Adv ow-cpa PKE,A anders definieren können, beispielsweise durch Adv ow-cpa PKE,A (k) := Pr Exp ow-cpa PKE,A (k) = 1 1/ M k. In diesem Fall könnte man auch hoffen, OW- CPA-Sicherheit bei kleinem Nachrichtenraum zu erreichen. (In der Tat würde dann das noch einzuführende Lemma 4.4 auch bei kleinem Nachrichtenraum gelten.) Wir haben uns in Definition 4.1 für eine OW-CPA-Formulierung ohne Korrekturterm 1/ M k entschieden, da eine solche Formulierung intuitiv naheliegender erscheint und eine absolute Sicherheit unabhängig von der Größe des Nachrichtenraums garantiert. Ununterscheidbarkeit von Chiffraten. Es stellt sich die Frage, wie eigentlich die Nachricht M gewählt wird, deren Chiffrat A schließlich entschlüsseln soll. In einer konkreten Anwendung wird diese Nachricht einer bestimmten, anwendungsspezifischen Verteilung genügen. Überdies kann es in einigen Anwendungen ausreichen, sagen wir, die erste Hälfte von M zu finden, um die Anwendung zu schädigen. (Man denke an Nachrichten der Form Leider müssen wir Ihnen mitteilen,... bzw. Wir freuen uns, Ihnen mitteilen zu dürfen,....) Einen Ausweg bietet hier die Möglichkeit, A selbst die zu verschlüsselnde Nachricht M wählen zu lassen. Natürlich kann dann nicht mehr das Angriffsziel sein, M zu finden. Vielmehr soll A nun zwischen den Chiffraten von zwei selbstgewählten Nachrichten unterscheiden: Definition 4.3 (IND-CPA). Sei PKE = (Gen, Enc, Dec) ein PKE-Schema. Sei A ein PPT-Algorithmus. Sei Adv ind-cpa PKE,A (k) := Pr Exp ind-cpa PKE,A (k) = 1 1 2, wobei das Experiment Exp ind-cpa PKE,A wie folgt definiert ist: 6

7 Experiment Exp ind-cpa PKE,A (k) (pk, sk) Gen(1 k ) (M 0, M 1, state) A(1 k, find, pk) b {0, 1} C Enc(pk, M b ) b A(1 k, attack, state, C ) if b = b then return 1 else return 0 A heißt gültig, wenn es in Exp ind-cpa PKE,A immer M 0 = M 1 garantiert. PKE ist IND-CPA-sicher (für indistinguishable under chosen-plaintext attacks ), falls für jedes gültige A die Funktion (k) vernachlässigbar ist. Adv ind-cpa PKE,A Man beachte, daß Definition 4.3 nicht von einem PKE-Schema mit deterministischer Verschlüsselung Enc (und nichttrivialem Nachrichtenraum) erfüllt werden kann. Ein IND-CPA-Angreifer A könnte bei deterministischer Verschlüsselung zwei beliebige verschiedene, aber gleich lange Nachrichten M 0, M 1 wählen und bei attack-eingabe das erhaltene Chiffrat mit Enc(pk, M 0 ) und Enc(pk, M 1 ) vergleichen. Universalität der Definition. Ein gewichtiger Vorteil der IND-CPA-Definition ist ihre Universalität: Es existieren eine Reihe von äquivalenten Sicherheitsdefinitionen für PKE-Schemata. Beispielsweise fordert ROR-CPA-Sicherheit, daß kein effizienter Angreifer ein Verschlüsselungsorakel (das also bei Eingabe M immer Enc(pk, M) liefert) unterscheiden kann von einem Orakel, das bei Eingabe M immer Enc(pk, R) liefert, für zufälliges R {0, 1} M derselben Länge wie M. Es kann dabei einfach eingesehen werden, daß ROR-CPA-Sicherheit und IND-CPA-Sicherheit äquivalent sind. Ähnliches gilt für semantische Sicherheit; semantische Sicherheit fordert, daß jede Funktion f(m) einer Nachricht M unter Kenntnis eines Chiffrats von M nicht signifikant besser approximiert werden kann als ohne Kenntnis dieses Chiffrats. Dies soll für beliebige Nachrichtendistributionen, beliebige (selbst nicht-berechenbare) Funktionen f, und selbst wenn beliebige zusätzliche Information h(m) über M zur Verfügung steht. Zum Verbergen der Nachrichtenlänge. Wir lassen in Definition 4.3 nur Angreifer zu, die versuchen, Chiffrate von gleich langen Nachrichten ( M 0 = M 1 ) zu unterscheiden. Es wird also geduldet, daß beispielsweise Chiffrate von Nachrichten der Länge k unterschieden werden können von Chiffraten der Länge k + 1. (Anders gesagt: Wir fordern nicht, daß Verschlüsseln die Länge einer Nachricht verbirgt.) Diese Einschränkung der Sicherheit ergibt sich aus einer praktischen Notwendigkeit: Ein (mittels Gen erzeugter) öffentlicher Schlüssel pk und ein (mittels Enc(pk, ) erzeugtes) Chiffrat C legen schon eindeutig eine Nachricht fest. Es gibt also mindestens so viele Chiffrate wie Nachrichten. Ein Abzählargument liefert, daß also zwischen Nachrichtenlänge und Chiffratlänge ein Zusammenhang bestehen muß. Anders gesagt: Die Länge eines Chiffrats läßt in einem gewissen Umfang Rückschlüsse auf die Länge der verschlüsselten Nachricht zu. Es kann also die Nachrichtenlänge zumindest nicht vollständig verborgen werden. Zusammenhang zwischen OW-CPA und IND-CPA-Sicherheit. Es ist relativ einfach einzusehen, daß IND-CPA-Sicherheit schon OW-CPA-Sicherheit impliziert (sofern Lemma 4.2 dies zuläßt): 7

8 Lemma 4.4 (IND-CPA OW-CPA). Sei PKE ein PKE-Schema mit Nachrichtenraum M k {0, 1} k, so daß 1/ M k als Funktion in k vernachlässigbar ist. Ist dann PKE IND-CPA-sicher, so ist PKE auch OW-CPA-sicher. Beweis. Sei also PKE = (Gen, Enc, Dec) IND-CPA-sicher. Um zu zeigen, daß PKE auch OW- CPA-sicher ist, müssen wir für einen beliebigen PPT-Algorithmus A zeigen, daß Adv ow-cpa PKE,A (k) vernachlässigbar ist. Sei also A gegeben. Wir konstruieren einen PPT-Algorithmus B aus A wie folgt: Algorithmus B(1 k, find, pk) M 0 M k M 1 (M k \ {M 0 }) state := (M 0, M 1 ) return (M 0, M 1, state) Algorithmus B(1 k, attack, state, C ) parse state =: (M 0, M 1 ) M A(1 k, pk, C ) if M = M 0 then return 0 elseif M = M 1 then return 1 else return 0 Zunächst ist offenbar M 0 = M 1 = k, und deshalb B gültig im Sinne von Definition 4.3. Nach Annahme ist also Adv ind-cpa PKE,B (k) vernachlässigbar. Wie wir sogleich zeigen werden, gilt weiter Adv ind-cpa PKE,B (k) Advow-cpa PKE,A (k)/2 1/ M k (2) für hinreichend großes k, woraus das Lemma folgt. Es genügt also, (2) zu zeigen. Sei invert das Ereignis, daß A bei einer Ausführung von B tatsächlich C invertiert, also die Nachricht M mit M = Dec(sk, C ) findet. Weil sowohl M 0 als auch M 1 für sich genommen gleichverteilt über M k sind, gilt ε := Pr invert = Adv ow-cpa PKE,A (k). Weiter ist Adv ind-cpa PKE,B (k) + 1/2 = Pr b = b Nun gilt wiederum Pr b = b invert = 1 2 = Pr b = b invert Pr invert + Pr b = b invert Pr invert = 1 ε + Pr b = b invert (1 ε). ( Pr b = b invert, b = 0 + Pr b = b invert, b = 1 ) = 1 2 (Pr M M 1 invert, b = 0 + 0) ( ) 1 ( ) 1 1, 2 M k 1 wobei ( ) nutzt, das M 1 selbst bei bekanntem M 0 gleichverteilt über einer Menge der Kardinalität M k 1 ist. Einsetzen ergibt Adv ind-cpa PKE,B (k) ε + 1 ( ) 1 1 (1 ε) 1 2 M k 1 2 = ε 2 1 ε 2 M k 2, was wiederum (2) für hinreichend großes k zeigt. 8

9 5 Annahmen und erste Reduktionen PKE-Sicherheit braucht Annahmen. Man könnte nun hoffen, ein PKE-Schema zusammen mit einem Beweis seiner IND-CPA-Sicherheit anzugeben. Es ist allerdings problematisch, einen solchen Beweis angeben zu wollen, ohne weitere Annahmen zu machen: Lemma 5.1 (Notwendigkeit von Annahmen für PKE-Sicherheit). Angenommen, es existiert ein PKE-Schema, welches OW-CPA-sicher ist. Dann folgt P NP. Beweis. Betrachten wir die Sprache L PKE := { (pk, C, M) C = Enc(pk, M; R) für ein R und einen Präfix M von M }. Offenbar gilt L PKE NP: Ein passender Zeuge für (pk, C, M) L PKE ist (M, R) mit C = Enc(pk, M; R). Nehmen wir nun zum Widerspruch an, daß L PKE P ist; wir zeigen, daß dies der OW-CPA-Sicherheit von PKE widerspricht. Sei genauer D ein Polynomialzeit-Algorithmus, der L PKE entscheidet. Bei gegebenen pk und C = Enc(pk, M; R) kann mittels D durch bitweise Suche M gefunden werden. Es läßt sich so aus D ein PPT-Algorithmus A mit Adv ow-cpa PKE,A (k) = 1 konstruieren, was der OW-CPA-Sicherheit von PKE widerspricht. Es ist nicht realistisch, zu hoffen, daß beim Sicherheitsbeweis eines PKE-Schemas nebenbei P NP bewiesen wird. Deshalb können wir nur auf Sicherheitsaussagen der Form Wenn ein geeignetes Problem schwierig ist, dann ist Schema PKE IND-CPA-sicher. hoffen. Im folgenden sollen einige geeignete Berechenbarkeitsprobleme vorgestellt werden. (Es erübrigt sich beinahe, zu erwähnen, daß die Schwierigkeit jedes dieser Probleme schon P NP impliziert.) Faktorisierungsbasierte Probleme. Als eine der nützlichsten mathematischen Plattformen für kryptographische Anwendungen haben sich Ringe der Form Z N := Z/NZ ( Rechnung modulo N ) für ein Produkt N = P Q für zwei hinreichend große Primzahlen P, Q erwiesen. Wir nehmen hierfür einen geeigneten PPT-Algorithmus GenN an, der bei Eingabe 1 k verschiedene Primzahlen P > 2 und Q > 2 wählt und N, P, Q für N = P Q ausgibt. (Beispielsweise könnte man P und Q als gleichverteilt gewählte k-bit-primzahlen setzen.) Verbunden mit Z N ergeben sich folgende Annahmen. Faktorisierungsannahme. Es ist schwierig, N zu faktorisieren. Genauer nehmen wir an, daß für jeden PPT-Algorithmus A die Funktion Adv fac GenN,A (k) := Pr Exp fac GenN,A (k) = 1 vernachlässigbar ist. RSA-Annahme. Es ist schwierig, bei gegebenen N, e Z (P 1)(Q 1) und y Z N ein x Z N mit y = x e mod N zu finden. Genauer nehmen wir an, daß für jeden PPT-Algorithmus A die Funktion Adv rsa GenN,A (k) := Pr Exp rsa GenN,A (k) = 1 vernachlässigbar ist. 9

10 Starke RSA-Annahme. Es ist schwierig, bei gegebenen N und y Z N ein Tupel (x, e) mit x Z N und e 2 zu finden, das x e = y mod N erfüllt. Genauer nehmen wir an, daß für jeden PPT-Algorithmus A die Funktion Adv srsa GenN,A (k) := Pr Exp srsa GenN,A (k) = 1 vernachlässigbar ist. Die verwendeten Experimente sind dabei wie folgt definiert: Experiment Exp fac GenN,A (k) (N, P, Q) GenN(1 k ) D A(1 k, N) if D {P, Q} then return 1 else return 0 Experiment Exp rsa GenN,A (k) (N, P, Q) GenN(1 k ) e Z (P 1)(Q 1) y Z N x A(1 k, N, e, y) if x e = y mod N then return 1 else return 0 Experiment Exp srsa GenN,A (k) (N, P, Q) GenN(1 k ) y Z N (x, e) A(1 k, N, y) if x e = y mod N and e 2 then return 1 else return 0 Offenbar impliziert die starke RSA-Annahme die RSA-Annahme, welche wiederum die Faktorisierungsannahme impliziert. Unglücklicherweise ist aber nicht bekannt, ob die RSA-Annahme von der Faktorisierungsannahme impliziert wird. Ein Beispiel für ein PKE-Schema in Z N. Das ursprünglich von Rivest, Shamir und Adleman vorgeschlagene RSA-Schema PKE RSA = (Gen RSA, Enc RSA, Dec RSA ) mit Nachrichtenraum M = Z N ist wie folgt definiert: Algorithmus Gen RSA (1 k ) (N, P, Q) GenN(1 k ) e Z (P 1)(Q 1) d := 1/e mod (P 1)(Q 1) (pk, sk) := ((N, e), (N, d)) return (pk, sk) Algorithmus Enc RSA (pk, M) parse pk =: (N, e) C := M e mod N return C Algorithmus Dec RSA (sk, C) parse sk =: (N, d) M := C d mod N return M Wir nehmen dabei eine geeignete Kodierung von Elementen M Z N als Bitstrings an. Die Korrektheit von PKE RSA kann mittels des Chinesischen Restesatzes (Rechnung modulo P bzw. Rechnung modulo Q) eingesehen werden. Theorem 5.2 (Sicherheit von PKE RSA ). PKE RSA ist OW-CPA-sicher genau dann wenn die RSA- Annahme gilt. Beweis. Ein OW-CPA-Angreifer A auf PKE RSA kann direkt als A wie in der RSA-Annahme betrachtet werden. Insbesondere ist momentan nicht bekannt, ob die Faktorisierungsannahme schon die OW-CPA- Sicherheit von PKE RSA impliziert. Theorem 5.3 (Unsicherheit von PKE RSA ). PKE RSA ist nicht IND-CPA-sicher. Beweis. Man beachte, daß Enc RSA deterministisch ist. Ein geeigneter IND-CPA-Angreifer A kann somit die Verschlüsselungen zweier verschiedener gleich langer Nachrichten M 0, M 1 Z N durch Vergleich mit den (eindeutig bestimmten) Enc(pk, M 0 ) bzw. Enc(pk, M 1 ) unterscheiden. 10

11 Probleme in zyklischen Gruppen. Als weitere sehr nützliche mathematische Plattform haben sich zyklische Gruppen erwiesen. Sei also (G k ) k N eine Familie von nichttrivialen endlichen zyklischen Gruppen. (Man beachte: Um von asymptotisch schweren Problemen zu reden, ist hier wieder der Begriff des Sicherheitsparameters nötig.) Der Einfachheit halber werden wir im folgenden den Index k unterdrücken und G statt G k schreiben. Wir setzen die jeweilige Gruppenordnung q := G > 1 als bekannt voraus. Gens G G bezeichnet die Menge der Generatoren von G; wir setzen voraus, daß die Gleichverteilung auf Gens G effizient berechenbar ist. Es ergeben sich die folgende Annahmen. Diskreter-Logarithmus-(DLog-)Annahme. Es ist schwierig, x aus g x zu berechnen. Genauer: für jeden PPT-Algorithmus A ist die Funktion Adv dlog G,A A(1 (k) := Pr k, g, g x ) = x g Gens G, x q vernachlässigbar ist. Computational-Diffie-Hellman-(CDH-)Annahme. Es ist schwierig, bei gegebenen g, g x, g y das Element g xy zu berechnen. Genauer nehmen wir an, daß für jeden PPT-Algorithmus A die Funktion Adv cdh G,A(k) := Pr A(1 k, g, g x, g y ) = g xy g Gens G, x, y q vernachlässigbar ist. Decisional-Diffie-Hellman-(DDH-)Annahme. Es ist schwierig, bei gegebenen g, g x, g y das Element g xy von einem zufälligen Gruppenelement zu unterscheiden. Genauer nehmen wir an, daß für jeden PPT-Algorithmus A die Funktion Adv ddh G,A(k) := Pr Exp ddh G,A(k) = vernachlässigbar ist. Hierbei ist das Experiment Exp ddh G,A wie folgt definiert: Experiment Exp ddh G,A (k) g Gens G x, y, z q b {0, 1} (g 0, g 1 ) := (g xy, g z ) b A(1 k, g, g x, g y, g b ) if b = b then return 1 else return 0 Es ist einfach einzusehen, daß die CDH-Annahme die DLog-Annahme impliziert. Immer noch relativ einfach kann auch eingesehen werden, daß die DDH-Annahme die CDH-Annahme impliziert. (Hier ergibt sich die Schwierigkeit, daß die Korrektheit einer CDH-Lösung nicht unbedingt effizient verifiert werden kann. Deshalb unterscheide man hier die Fälle 1/ G vernachlässigbar und 1/ G nicht vernachlässigbar. Im ersten Fall kann wie in Lemma 4.4 verfahren werden, und im zweiten Fall kann eingesehen werden, daß die DDH-Annahme genauso wie die CDH-Annahme nicht gilt.) Weiter ist einfach einzusehen und im Verlauf nützlich, daß Adv ddh G,A(k) = 1 2 ( Pr A(1 k, g, g x, g y, g z ) = 1 11 Pr A(1 k, g, g x, g y, g xy ) = 1 ) (3)

12 gilt, wobei wie in Exp ddh G,A die Variablen g Gens G und x, y, z q gleichverteilt gezogen werden. (Um (3) einzusehen, konditioniere man die Definition von Adv ddh G,A auf b = 0 bzw. b = 1.) Mögliche Instanziierungen. Es gibt Kandidaten für Gruppen G, in denen die oben genannenten Annahmen gelten. Die zwei populärsten dieser Kandidaten sollen kurz besprochen werden. Multiplikative Untergruppen von endlichen Körpern. G kann als (echte) Untergruppe der multiplikativen Gruppe Z p eines endlichen Körpers Z p (mit primem p) gewählt werden. Hierbei ist zu beachten, daß zum einen p hinreichend groß gewählt werden sollte, so daß Zahlen in der Größenordnung von p nicht effizient faktorisiert werden können. (Andernfalls können mittels des Index-Calculus-Algorithmus effizient diskrete Logarithmen berechnet werden.) p sollte also nach derzeitigem Kenntnisstand eine Bitlänge von mehr als 1024 haben. Zudem sollte der Fall G = Z p (also die Verwendung der gesamten multiplikativen Gruppe) vermieden werden, da dann die DDH-Annahme verletzt ist: Lemma 5.4. In Gruppen der Form G = Z p gilt die DDH-Annahme nicht. Beweis. Man betrachte den Angreifer A, der bei Eingabe (1 k, g, g x, g y, g b ) die Legendre- Symbole ( ) ( ) ( ) g x := (g x ) (p 1)/2 g y mod p, := (g y ) (p 1)/2 gb mod p, := g (p 1)/2 p p p b mod p berechnet. Für unsere Zwecke reicht es, über Legendre-Symbole das folgende zu wissen: ( ) ( ) ( ) g g x g x g G, x Z : { 1, 1}, = ; p p p weiter ist (für p > 2) für genau die Hälfte aller Elemente g G das Legendre-Symbol ( g p ) = 1. Unser Angreifer A gibt schließlich 1 aus genau dann wenn gilt: ( ( ) ( ) ) ( ) g x g y gb = 1 = 1 = 1. p p p Intuitiv sagt A mit einer 1-Ausgabe aus, daß g b nicht den Regeln genügt, den ein g xy genügen müßte. Etwa aus ( gx gxy p ) = 1 würde ( p ) = ( gx p )y = 1 folgen. Offenbar gibt demnach A immer 0 aus, falls g b = g xy = (g x ) y = (g y ) x ist. Falls aber g b = g z für unabhängiges z q ist, so gibt A mit Wahrscheinlichkeit 3/4 1/2 = 3/8 eine 1 aus. Insgesamt gilt also Adv ddh G,A(k) (3) = 1 ( ) Pr A(1 k, g, g x, g y, g z ) = 1 Pr A(1 k, g, g x, g y, g xy ) = 1 = , was die Behauptung zeigt. Andererseits sind Gruppen G := { g Z p ( ) } g = 1 p (für geeignetes p) durchaus populäre Kandidaten für Gruppen, in denen die DDH-Annahme nach heutigem Stand gilt. 12

13 Elliptische Kurven. G kann als geeignete Untergruppe einer elliptischen Kurve gewählt werden. (Hier soll jedoch nicht auf die Definition oder Konstruktion von elliptischen Kurven eingegangen werden.) Dies hat den Vorteil, das in einer solchen Struktur kein Äquivalent des Index-Calculus-Algorithmus existiert, weshalb Gruppen sehr viel kleinerer Ordnung und Darstellung (im Vergleich zu G Z p) gewählt werden können. Auf diese Weise können Gruppen gewählt werden, bei denen nach heutigem Stand die DDH-Annahme gilt und deren Elemente durch etwa 200 Bits repräsentiert werden können. Eine wichtige Bemerkung hierzu: es ist gängig, zyklische Gruppen G einer primen Ordnung q zu wählen. Dies hat den Vorteil, daß jedes Element g G \ {1} schon G generiert. Ein Beispiel für ein PKE-Schema in zyklischen Gruppen. Nehmen wir eine Familie von Gruppen G wie oben an. Das von ElGamal vorgeschlagene und nach ihm benannte PKE-Schema PKE ElG = (Gen ElG, Enc ElG, Dec ElG ) mit Nachrichtenraum M = G ist wie folgt definiert: Algorithmus Gen ElG (1 k ) g Gens G x q (pk, sk) := ((g, g x ), x) return (pk, sk) Algorithmus Enc ElG (pk, M) parse pk =: (g, X) y q C := (g y, X y M) return C Algorithmus Dec ElG (sk, C) set x := sk parse C =: (Y, Z) M := Z/Y x return M Wir nehmen dabei eine geeignete Kodierung von Elementen M G als Bitstrings an. Korrektheit von PKE ElG gilt wegen X y = (g x ) y = g xy = (g y ) x = Y x. An PKE ElG ist interessant, daß Verschlüsselung randomisiert erfolgt: Ein fester Klartext M kann zu q verschiedenen Chiffraten C führen, abhängig vom verwendeten Zufall y. Theorem 5.5 (OW-CPA-Sicherheit von PKE ElG ). PKE ElG ist genau dann OW-CPA-sicher, wenn die CDH-Annahme gilt. Beweis. Wir zeigen zunächst, daß die OW-CPA-Unsicherheit von PKE ElG benutzt werden kann, um die CDH-Annahme zu widerlegen. Man nehme also einen Angreifer A mit nicht-vernachlässigbarem OW-CPA-Vorteil Adv ow-cpa PKE ElG,A an. Wir konstruieren einen CDH-Angreifer B aus A, der wie folgt agiert. Bei Eingabe (1 k, g, g x, g y ) wählt B ein zufälliges Element Z G und setzt M A(1 k, (g, g x ), (g y, Z)). Man beachte, daß diese A-Eingaben wie in Exp ow-cpa Z/M aus. Es gilt PKE ElG,A verteilt sind. Schließlich gibt B den Wert weshalb Z/M = g xy Z/g xy = M Dec(x, (g y, Z)) = M, Adv cdh G,B(k) = Adv ow-cpa PKE ElG,A (k) ist und somit B ein erfolgreicher Angreifer auf die CDH-Annahme ist. Umgekehrt kann ein erfolgreicher CDH-Angreifer in ähnlicher Weise zu einem OW-CPA-Angreifer auf PKE ElG umgebaut werden. 13

14 Theorem 5.6 (IND-CPA-Sicherheit von PKE ElG ). PKE ElG ist genau dann IND-CPA-sicher, wenn die DDH-Annahme gilt. Beweis. Analog zu Theorem Das Schema von Blum und Goldwasser Die bislang präsentierten Sicherheitsbeweise PKE-Schemata könnten den Eindruck hinterlassen, daß im wesentlichen schon die Sicherheit des Schemas angenommen wurde. (Der Beweis leistet also nur eine mehr oder weniger oberflächliche Umformulierung von Annahmen.) Deshalb soll nun ein PKE-Schema vorgestellt werden, dessen IND-CPA-Sicherheit unter der Faktorisierungsannahme bewiesen werden kann. Genauer ist das Ziel die Herleitung des folgenden Ergebnisses: Theorem 6.1 (IND-CPA-Sicherheit unter der Faktorisierungsannahme). Es existiert ein PKE- Schema PKE BG mit Nachrichtenraum M k = {0, 1} k, welches IND-CPA-sicher unter der Faktorisierungsannahme ist. Hierzu ist ein wenig Vorbereitung nötig. Quadratische Reste. Wir betrachten den Ring Z N für N = P Q mit P = Q = 3 mod 4. (Man sagt in dem Fall auch, daß N ein Blum-Integer ist.) Die Menge QR N := { x 2 x Z } N ist die Menge der quadratischen Reste modulo N. Sei Q N : QR N QR N x x 2 mod N die Quadrierungsfunktion auf QR N. Wir machen zunächst einige kleine Beobachtungen: Lemma 6.2. Q N ist bijektiv. Beweis. Wegen des Chinesischen Restesatzes wissen wir, daß die Ringisomorphie Z N = ZP Z Q gilt. Weil P = Q = 3 mod 4 ist, gilt deshalb für die multiplikativen Gruppen Z N = Z P Z Q = C P 1 C Q 1 = ( C(P 1)/2 C 2 ) ( C(Q 1)/2 C 2 ), wobei C i die (additiv geschriebene) zyklische Gruppe mit i Elementen darstellt und (P 1)/2 und (Q 1)/2 ungerade sind. Quadrierung in Z N entspricht einer Multiplikation mit 2 in den (additiv geschriebenen) C i -Komponenten. Deshalb ist eine Quadrierung in Z N eine Bijektion auf den C (P 1)/2 - und C (Q 1)/2 -Komponenten, annihiliert aber die C 2 -Komponenten. Die Quadrate in QR N sind also genau die Menge C (P 1)/2 C (Q 1)/2, und die Quadrierungsfunktion Q N ist auf der Menge der Quadrate bijektiv. 14

15 Lemma 6.3. Unter Kenntnis der Faktorisierung N = P Q kann Q 1 N effizient (d. h. in Polynomialzeit) berechnet werden. Beweis. Es ist x e = x e mod QR N für alle x QR N. Weiter ist nach dem Gesagten QR N eine Gruppe ungerader Ordnung QR N = (P 1)(Q 1)/4. Insbesondere hat 2 ein multiplikatives Inverses modulo QR N. Sei nun λ := 2 1 mod QR N, d. h. λ ist die kleinste natürliche Zahl mit 2 λ = 1 mod QR N. Für alle x QR N gilt ( x 2 ) λ = x 2λ = x 2λ mod QR N = x 1 mod QR N = x 1 = x mod N. Exponentiation mit λ erlaubt es also, Q N effizient zu invertieren. (Man beachte, daß die Faktorisierung von N erlaubt, λ effizient zu berechnen.) Lemma 6.4. Jedes Element y QR N hat genau vier Quadratwurzeln in Z N ; es existieren also genau vier Elemente x Z N mit y = x 2 mod N. Beweis. Durch den Chinesischen Restesatz wird klar, daß die Quadrate y QR N genau Elementen (y P, y Q ) Z P Z Q entsprechen, wobei y P und y Q Quadrate in Z P bzw. Z Q sind. Wegen Z P = C (P 1)/2 C 2 hat jedes Quadrat y P Z P genau zwei Quadratwurzeln x P und x P. (Analog für y Q.) Durch Kombination ergeben sich genau 4 mögliche Quadratwurzeln (x P, x Q ), (x P, x Q ), ( x P, x Q ), und ( x P, x Q ) eines y. Bemerkung 6.5. Die letzten Resultate (Lemma 6.2, Lemma 6.3, Lemma 6.4) können auch alternativ bewiesen werden, indem man den Kern des Gruppenhomomorphismus Q N : Z N QR N mit Q N (x) = x 2 mod N betrachtet. (Der einzige Unterschied zwischen Q N und Q N besteht im Definitionsbereich.) Genauer besteht ker(q N ) aus allen x Z N mit x2 = 1 mod N. Ähnlich wie im Beweis von Lemma 6.4 liefert der Chinesische Restesatz, daß es genau 4 solche x = (x P, x Q ) gibt, von denen genau eines schon ein Quadrat ist. Damit folgt Lemma 6.4 (weil Q N ein Homomorphismus ist), und wegen QR N = Z N /4 = (P 1)(Q 1)/4 auch Lemma 6.2. Schließlich folgt Lemma 6.3 wie oben. Von der Faktorisierungsannahme zu Einwegpermutationen. Unter der Faktorisierungsannahme hat die Quadrierungsfunktion Q N eine für unsere Zwecke nützliche Einwegeigenschaft: Definition 6.6 (Einwegfunktion, Einwegpermutation). Sei F = (F k ) k N eine Familie von Familien von Funktionen f F k mit f : X f Y f über endlichen Mengen X f. Wir nennen F eine Familie von Einwegfunktionen, falls für jeden PPT-Algorithmus A die Funktion Adv ow F,A(k) := Pr f(a(1 k, f(x))) = f(x) f F k, x X f vernachlässigbar in k ist. Falls zusätzlich jedes f F k F bijektiv ist und Y f = X f gilt, heißt F Familie von Einwegpermutationen. Man beachte, daß dann gilt: f(a(1 k, f(x))) = f(x) A(1 k, f(x)) = x. Wenn der Bezug zum Sicherheitsparameter klar ist, sagen wir auch manchmal, daß eine einzelne Funktion f eine Einwegfunktion bzw. Einwegpermutation ist. 15

16 Lemma 6.7. Unter der Faktorisierungsannahme ist Q N eine Einwegpermutation. Beweis. Da Q N nach Lemma 6.2 bijektiv ist, reicht es aus, zu zeigen, daß für jeden PPT-Algorithmus A die Funktion Adv ow Q N,A(k) = Pr A(1 k, N, Q N (x)) = x x QR N vernachlässigbar ist. Genauer zeigen wir nun Adv fac GenN,B (k) Advow Q N,A (k) 2 für einen geeigneten Faktorisierungsalgorithmus B, den wir aus A konstruieren. Nach Annahme ist Adv fac GenN,B vernachlässigbar, weshalb wegen (4) auch Advow Q N,A vernachlässigbar sein muß. B verfährt wie folgt: Algorithmus B(1 k, N) x B Z N y = x 2 B mod N x A A(1 k, N, y) return gcd(x A x B, N) Setzen wir zur Analyse x := Q 1 N (y), d. h. x ist die (eindeutige) Quadratwurzel von y in QR N. Da die Eingabe y von A wie in Definition 6.6 ein gleichverteiltes Element aus QR N ist, gilt Pr x A = x = Adv ow Q N,A(k). Weiter hat y nach Lemma 6.4 in Z N genau 4 Quadratwurzeln. Es gibt also 4 mögliche Elemente x 1,..., x 4 Z N mit x2 i = y mod N. Nach Konstruktion ist x B ein zufälliges dieser x i. Für genau zwei dieser x i gilt x i {x, x}. Wir haben also Pr x B { x, x} = 1 2. (4) Zudem sind die Ereignisse x B { x, x} und As Ausgabe unabhängig, da A nur y, nicht aber x B als Eingabe erhält. Demnach gilt Pr x A = x x B { x, x} = Pr x A = x Pr x B { x, x} = Advow 2 Q N,A. (5) Nehmen wir nun x A = x x B {x, x} an. Dann ist x 2 A = y = x2 B mod N; anders ausgedrückt, (x A + x B )(x A x B ) = x 2 A x2 B = 0 mod N, weshalb N = gcd((x A + x B )(x A x B ), N) gcd(x A + x B, N) gcd(x A x B, N) eine Faktorisierung von N liefert. Weil x A + x B 0 mod N und x A x B 0 mod N ist, ist diese Faktorisierung nichttrivial. Demnach faktorisiert B erfolgreich N, sobald x A = x x B {x, x} gilt. Wegen (5) folgt (4). 16

17 Zwischenschritt: faktorisierungsbasierte OW-CPA-Sicherheit. Als Zwischenschritt auf unserem Weg zu einem faktorisierungsbasierten IND-CPA-sicheren PKE-Schema betrachte man das folgende PKE-Schema PKE Rab = (Gen Rab, Enc Rab, Dec Rab ) mit Nachrichtenraum QR N : Algorithmus Gen Rab (1 k ) (N, P, Q) GenN(1 k ) (pk, sk) := (N, (P, Q)) return (pk, sk) Algorithmus Enc Rab (pk, M) parse pk =: N C := Q N (M) return C Algorithmus Dec Rab (sk, C) parse sk =: (P, Q) M := Q 1 N (C) return M Offenbar ist PKE Rab genau dann OW-CPA-sicher, wenn die Funktion Q N eine Einwegpermutation ist. Mit Lemma 6.7 ergibt sich: Theorem 6.8 (Sicherheit von PKE Rab ). Unter der Faktorisierungsannahme ist PKE Rab OW-CPAsicher. PKE Rab ist allerdings nicht IND-CPA-sicher, denn Enc Rab ist deterministisch. Ununterscheidbarkeit. Als nächstes soll aus der Einwegpermutation Q N eine stärkere Form von Unvorhersagbarkeit hergeleitet werden. Zunächst definieren wir hierfür einen Begriff für die Ununterscheidbarkeit von zwei Verteilungen: Definition 6.9 (Ununterscheidbarkeit). Seien A = (A k ) k N und B = (B k ) k N zwei Folgen von Zufallsvariablen. Wir sagen, daß A und B ununterscheidbar sind (geschrieben A c B), falls für alle PPT-Algorithmen D die Funktion Adv dist A,B,D(k) := Pr D(1 k, A k ) = 1 Pr D(1 k, B k ) = 1 vernachlässigbar in k ist. Bevor wir fortfahren, soll der universelle Charakter von Definition 6.9 herausgestellt werden. Hierfür definieren wir exemplarisch: Definition 6.10 (Reihenfolgen-Ununterscheidbarkeit). Wir sagen, daß A = (A k ) k N und B = (B k ) k N Reihenfolgen-ununterscheidbar sind (geschrieben A c 2 B) falls für alle PPT-Algorithmen D die Funktion Pr D(1 k, C b, C 1 b ) = b b {0, 1}, C 0 = A k, C 1 = B k 1/2 vernachlässigbar in k ist. Um die Universalität von Definition 6.9 zu illustrieren, zeigen wir: Lemma A c B A c 2 B, falls A oder B effizient berechenbar sind. Beweis. Zunächst bemerken wir, daß A und B genau dann Reihenfolgen-ununterscheidbar sind wenn Pr D(1 k, A k, B k ) = 1 Pr D(1 k, B k, A k ) = 1 (6) 17

18 vernachlässigbar ist. Es gilt nämlich (wobei wir b {0, 1}, C 0 = A k, und C 1 = B k voraussetzen): ( ) 2 Pr D(1 k, C b, C 1 b ) = b 1/2 ( ) = 2 Pr D(1 k, C b, C 1 b ) = b b = 0 + Pr D(1 k, C b, C 1 b ) = b b = 1 1 = Pr D(1 k, C b, C 1 b ) = b b = 0 + Pr D(1 k, C b, C 1 b ) = b b = 1 1 = Pr D(1 k, C 0, C 1 ) = 0 + Pr D(1 k, C 1, C 0 ) = 1 1 = Pr D(1 k, C 1, C 0 ) = 1 Pr D(1 k, C 0, C 1 ) = 1. Aus (6) folgt offenbar A c 2 B A c B. Für die Umkehrung nehmen wir ohne Beschränkung der Allgemeinheit an, daß A effizient berechenbar ist und bemerken Pr D(1 k, A k, B k ) = 1 Pr D(1 k, A k, A k ) = 1 = Pr E(1 k, B k ) = 1 Pr E(1 k, A k ) = 1 (7) Pr D(1 k, B k, A k ) = 1 Pr D(1 k, A k, A k ) = 1 = Pr F(1 k, B k ) = 1 Pr F(1 k, A k ) = 1 (8) für geeignete PPT-Algorithmen E und F, die die erste bzw. zweite Eingabe A k selbst generieren und D aufrufen. Nach Annahme sind die rechten Seiten von (7) und (8) vernachlässigbar, weshalb auch (6) vernachlässigbar sein muß. Es sind ähnliche Variationen eines intuitiven Ununterscheidbarkeitsbegriffs denkbar; jedoch sollten diese in den meisten Fällen äquivalent zu Definition 6.9 sein. Von Einwegpermutationen zu Ununterscheidbarkeit. Definition 6.12 (Hard-Core-Prädikat). Sei H = (H k ) k N eine Familie von Familien von Paaren von Funktionen (f, h) H k mit f : X f Y f und h : X f {0, 1} über endlichen Mengen X f. Wir sagen (wenn der Bezug zu H klar ist), daß h ein Hard-Core-Prädikat von f ist, falls gilt: (f(x), h(x)) c (f(x), U {0,1} ), wobei (f, h) H k, x X f und U {0,1} {0, 1} unabhängig gezogen werden. Selbst bei gegebenem f(x) sieht h(x) also aus wie unabhängiger Zufall. Anders gesagt: f(x) hilft nicht wesentlich dabei, h(x) zu berechnen. Für x Z N sei lsb N (x) das niederwertigste Bit von x (also x mod 2) in einer Darstellung von x als Ganzzahl x {0,..., N 1}. Wir werden ohne Beweis das folgende Resultat benutzen: Theorem 6.13 (Hard-Core-Eigenschaft des LSB). Angenommen, Q N ist eine Einwegpermutation. Dann ist Funktion lsb N ist ein Hard-Core-Prädikat von Q N. (Für Interessierte: Diese Eigenschaft von lsb N wurde in 1 gezeigt.) Mittels Theorem 6.13 könnte man schon hoffen, ein unter der Faktorisierungsannahme IND- CPA-sicheres PKE-Schema zu definieren. Man könnte etwa Chiffrate der Form C := (x 2, lsb N (x) M) 18

19 (mit M {0, 1}) erzeugen. Unter Kenntnis der Faktorisierung von N läßt sich x und damit lsb N (x) berechnen. Andererseits sollte ohne Kenntnis der Faktorisierung lsb N (x) und damit lsb N (x) M wie unabhängiger Zufall aussehen. In der Tat wurde ein ähnliches Schema von Goldwasser und Micali vorgeschlagen und als IND-CPA-sicher bewiesen. Nachteil des Schemas ist jedoch der kleine Nachrichtenraum: Es können nur einzelne Bits M {0, 1} verschlüsselt werden. Wir werden deshalb an dieser Stelle die bisherigen Gedanken noch etwas weiterentwickeln. Von einem Bit zu vielen Bits. Unser Vorgehen wird sein, die Anwendung der Quadrierungsfunktion Q N zu iterieren. Intuitiv wird bei jeder Anwendung ein weiteres Zufallsbit verfügbar, welches dann direkt zur Verschlüsselung genutzt werden kann. Wir definieren also zunächst ( ) BBS N (x) := lsb N (x), lsb N (Q N (x)), lsb N (Q 2 N(x)),..., lsb N (Q k 1 N (x)) {0, 1} k. Lemma 6.14 (Pseudozufallseigenschaft von BBS N ). Unter der Annahme, daß lsb N Core-Prädikat von Q N ist, gilt ein Hard- (N, Q k N(x), BBS N (x)) c (N, Q k N(x), U {0,1} k), wobei (N, P, Q) GenN(1 k ), und x QR N und U {0,1} k {0, 1} k unabhängig gleichverteilt sind. Beweis. Sei ein beliebiger PPT-Algorithmus D gegeben. Wir müssen zeigen, daß Adv dist A,B,D vernachlässigbar ist, wobei A := (N, Q k N (x), BBS N(x)) k und B := (N, Q k N (x), U {0,1} k) k) ist. Hierzu konstruieren wir zunächst aus D einen Algorithmus D, der zwischen (Q N (x), lsb N (x)) und (Q N (x), U {0,1} ) unterscheidet und dazu wie folgt verfährt: Algorithmus D (1 k, N, y, z) (mit y QR N und z {0, 1}) i k u {0, 1} i 1 v := (lsb N (y), lsb N (Q N (y)),..., lsb N (Q k i 1 N (y))) {0, 1} k i w := (u, z, v) {0, 1} k b D(1 k, N, Q k i N (y), w) return b Zur Analyse von D definieren wir für i {0,..., k} und x QR N die Zufallsvariable H i,x := (U {0,1} i, lsb N (Q i N(x)),..., lsb(q k 1 N (x))) {0, 1}k, wobei U {0,1} i {0, 1} i gleichverteilt ist. Offenbar ist H 0,x = BBS N (x), und H k,x = U {0,1} k gleichverteilter k-bit-string. Weiter gilt in der Ausführung von D für jedes j k: Dist w i = j, z = lsb N (x) = Dist H j 1,x Dist w i = j, z = U {0,1} = Dist Hj,x ist ein (9) 19

20 und somit Adv dist A,B,D(k) = Pr D(1 k, N, Q k N(x), BBS N (x)) = 1 = Pr D(1 k, N, Q k N(x), H 0,x ) = 1 (9) = k j=1 = k j=1 Pr Pr D(1 k, N, Q k N(x), U {0,1} k) = 1 D(1 k, N, Q k N(x), H k,x ) = 1 ( ) Pr D(1 k, N, Q k N(x), H j 1,x ) = 1 Pr D(1 k, N, Q k N(x), H j,x ) = 1 ( ) Pr D (1 k, N, Q N (x), lsb N (x)) = 1 i = j Pr D (1 k, N, Q N (x), U {0,1} ) = 1 i = j ( k Pr D (1 k, N, Q N (x), lsb N (x)) = 1 i = j Pr D (1 k, N, Q N (x), U {0,1} ) = 1 i = j ) = Pr i = j j=1 ( ) = k Pr D (1 k, N, Q N (x), lsb N (x)) = 1 Pr D (1 k, N, Q N (x), U {0,1} ) = 1 = k Adv dist A,B,D (k) für A := (N, Q k N (x), lsb N(x)) und B := (N, Q k N (x), U {0,1}). Nach Annahme ist Adv dist A,B,D (k) vernachlässigbar, weshalb auch Adv dist A,B,D (k) vernachlässigbar ist. Das Schema von Blum und Goldwasser. Wir sind nun endlich in der Lage, das PKE-Schema PKE BG := (Gen BG, Enc BG, Dec BG ) von Blum und Goldwasser mit Nachrichtenraum M k = {0, 1} k vorzustellen und als IND-CPA-sicher zu beweisen: Algorithmus Gen BG (1 k ) (N, P, Q) GenN(1 k ) (pk, sk) := (N, (P, Q)) return (pk, sk) Algorithmus Enc BG (pk, M) parse pk =: N x QR N y := Q k N (x) C := (y, BBS N (x) M) return C Algorithmus Dec BG (sk, C) parse sk =: (P, Q) parse C =: (y, ρ) M := BBS N (Q k N (y)) ρ return M Dieses Schema genügt Theorem 6.1, ist also unter der Faktorisierungsannahme IND-CPA-sicher: Beweis von Theorem 6.1. Nehmen wir einen beliebigen PPT-Angreifer A auf die IND-CPA-Sicherheit von PKE BG an. Wir konstruieren aus A einen PPT-Unterscheider D mit Adv dist A,B,D(k) = Adv ind-cpa PKE BG,A(k) (10) für A := (N, Q k N (x), BBS N(x)) und B := (N, Q k N (x), U {0,1} k). Unter der Faktorisierungsannahme ist nach Lemma 6.7, Theorem 6.13 und Lemma 6.14 Adv dist A,B,D vernachlässigbar. Es reicht also, ein D anzugeben, das (10) erfüllt. Sei D wie folgt definiert: 20

21 Algorithmus D(1 k, N, y, z) (mit y QR N und z {0, 1} k ) pk := N (M 0, M 1, state) A(1 k, find, pk) b {0, 1} C := (y, z M b ) b A(1 k, attack, state, C ) if b = b then return 1 else return 0 Man beachte, daß y = Q k N (x) für unbekanntes x gilt. Unterscheiden wir nun die Fälle z = BBS N(x) und z = U {0,1} k. Im Fall z = BBS N (x) ist C = (y, z M b ) = (Q k N (x), BBS N(x) M b ) eine ehrliche Verschlüsselung von M b, und D führt das IND-CPA-Experiment Exp ind-cpa PKE BG,A mit A aus. Deshalb ist Pr D(1 k, N, Q k N(x), BBS N (x)) = 1 = Pr Exp ind-cpa PKE BG,A (k) = 1 = Adv ind-cpa PKE BG,A (k) Gilt andererseits z = U {0,1} k, so ist auch das Chiffratelement z M b (aus Sicht von A) unabhängig gleichverteilt und insbesondere unabhängig von b. Da b selbst gleichverteilt ist, folgt Pr D(1 k, N, Q k N(x), U {0,1} k) = 1 = 1 2. Insgesamt können wir also (10) und damit die IND-CPA-Sicherheit von PKE BG folgern. 7 Aktive Sicherheit Motivation: sichere Auktionen. Nehmen wir eine Auktion mit Auktionator A und der Einfachheit halber nur zwei Bietern B 1 und B 2 an. Es soll die Unabhängigkeit der Gebote sichergestellt werden, wobei aber keine sicheren Kanäle zwischen A und B 1 bzw. A und B 2 angenommen werden sollen. Es liegt nahe, in dieser Situation auf Public-Key-Verschlüsselungstechniken zurückzugreifen. Etwa könnte man B 1 und B 2 ihre jeweiligen Gebote unter dem öffentlichen Schlüssel pk A von A verschlüsselt an A senden lassen. Nehmen wir dabei an, daß das verwendete PKE-Schema PKE = (Gen, Enc, Dec) IND-CPA-sicher sei. Man könnte nun hoffen, daß die IND-CPA-Sicherheit von PKE sicherstellt, daß das Gebot M 2 von B 2 unabhängig vom Gebot M 1 von B 1 abgegeben wird, selbst wenn B 2 vor Abgabe des Gebots C 1 = Enc(pk A, M 1 ) erfährt. Immerhin sichert die IND-CPA-Sicherheit von PKE zu, daß B 2 durch C 1 keine verwertbare (bzw. effizient nutzbare) Information über M 1 erhält. Allerdings ist hier Vorsicht geboten: Nehmen wir beispielsweise an, daß das (unter der DDH- Annahme) IND-CPA-sichere ElGamal-Schema PKE = PKE ElG verwendet wird. Nehmen wir weiter an, daß eine Gruppe G Z p für geeignetes p verwendet wird, und daß Gebote M i G auf naheliegende Weise als Ganzzahlen M i {0,..., p 1} interpretiert werden. Man beachte nun, daß ElGamal homomorph in dem Sinne Enc(pk, M; r) Enc(pk, M ; r ) = (g r, X r M) (g r, X r M ) = (g r+r, X r+r MM ) = Enc(pk, MM ; r + r ) 21

22 ist, so daß insbesondere Enc(pk A, M 1 ; r) Enc(pk A, 2; r ) = Enc(pk A, 2M 1, r + r ) gilt. 1 Anders gesagt: Ein unehrlicher Bieter B 2 kann zunächst das verschlüsselte Gebot C 1 = Enc(pk A, M 1 ) abwarten, dieses mit einer 2-Verschlüsselung multiplizieren und das erhaltene Chiffrat als eigenes verschlüsseltes Gebot abgeben. Auf diese Weise kann B 2 den Bieter B 1 sicher überbieten (vorausgesetzt, daß M 1 < p/2 ist), ohne allerdings zu wissen, worauf er geboten hat. Man beachte, daß B 2 in diesem Fall einen aktiven Angriff durchführt, also nicht nur abhört, sondern anschließend aktiv in das Geschehen eingreift. Offenbar reicht also IND-CPA-Sicherheit nicht aus, um (zumindest intuitiv) Sicherheit gegen aktive Angreifer zu garantieren. Non-Malleability. Im Hinblick auf das gerade vorgestellte Auktionsbeispiel sollte ein intuitiv sicheres PKE-Schema die Eigenschaft haben, daß sich aus gegebenen Chiffraten keine neuen Chiffrate von verwandten Klartexten konstruieren lassen. Diese spezielle Eigenschaft heißt Non- Malleability und wurde zuerst 1991 formalisiert. Wir werden hier Non-Malleability nicht weiter thematisieren, da es nur einen Zwischenschritt auf der Suche nach dem universellen Sicherheitsbegriff für PKE-Schemata darstellt. Gründe für IND-CCA-Sicherheit. Stattdessen werden wir IND-CCA-Sicherheit vorstellen, eine Variante von IND-CPA-Sicherheit. Ohne zunächst näher darauf einzugehen, wie IND-CCA- Sicherheit überhaupt definiert ist, sollen hier Gründe vorgestellt werden, warum wir uns im folgenden auf IND-CCA-Sicherheit konzentrieren: Realisiert sichere Kanäle. Die Untersuchung komplexer Protokolle gestaltet sich einfacher und modularer, wenn man zunächst sichere Kanäle zwischen einigen oder allen Parteien annimmt, und diese erst später durch PKE-Verschlüsselung implementiert. In diesem Zusammenhang stellt sich heraus, daß IND-CCA-Sicherheit genau sichere Kanäle gegen aktive Angreifer realisiert. (Damit ist gemeint: Ein IND-CCA-sicheres PKE-Schema kann anstelle von sicheren Kanälen in jedem größeren Protokoll genutzt werden, ohne die Sicherheitseigenschaften des größeren Protokolls zu beeinflussen. Umgekehrt ist jedes PKE-Schema mit dieser Eigenschaft schon IND-CCA-sicher.) Impliziert zahlreiche andere Begriffe. Es wurden viele zu IND-CCA-Sicherheit äquivalente oder zumindest von IND-CCA-Sicherheit implizierte natürliche PKE-Sicherheitsbegriffe gefunden. Hierzu gehört beispielsweise Non-Malleability. Diese Äquivalenzen sollen später noch einmal kurz beleuchtet werden, wenn wir IND-CCA-Sicherheit definiert haben. Kann unter Standardannahmen erfüllt werden. Es existieren effiziente PKE-Schemata, die unter der Faktorisierungsannahme, der DDH- oder der CDH-Annahme IND-CCA-sicher sind. In diesem Sinne fordert IND-CCA-Sicherheit nicht zu viel. Derartige Schemata sollen im Verlauf der Vorlesung noch vorgestellt werden. Standard in der Literatur. Aus den oben genannten Gründen hat sich mittlerweile IND-CCA- Sicherheit als Standardbegriff für PKE-Schemata herauskristallisiert. Definition von IND-CCA-Sicherheit. IND-CCA-Sicherheit steht für indistinguishability under chosen-ciphertext attacks und stellt eine Verschärfung von IND-CPA-Sicherheit dar. Tatsächlich 1 Der Einfachheit halber nehmen wir 2 G und M 1 < p/2 an. 22

Vorlesung Sicherheit

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

Mehr

Vorlesung Sicherheit

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

Mehr

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

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

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

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Jörn Müller-Quade ITI, KIT basierend auf den Folien von Dennis Hofheinz, Sommersemester 2014 04.05.2015 1 / 20 Kummerkasten Vorlesungsfolien bitte einen Tag vorher hochladen : Sollte

Mehr

Asymmetrische Verschlüsselungsverfahren

Asymmetrische Verschlüsselungsverfahren Asymmetrische Verschlüsselungsverfahren Vorlesung 4 Alexander Koch (Vertretung) FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT 2015-11-12 Universität desalexander Landes Baden-Württemberg

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 30.04.2018 1 / 35 Überblick 1 Hashfunktionen Motivation Formalisierung Die Merkle-Damgård-Konstruktion (Weitere) Angriffe auf Hashfunktionen Zusammenfassung

Mehr

Asymmetrische Verschlüsselungsverfahren

Asymmetrische Verschlüsselungsverfahren Asymmetrische Verschlüsselungsverfahren Vorlesung 4 Alexander Koch (Vertretung) FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK 0 2016-11-10 Alexander Koch Asymmetrische Verschlüsselungsverfahren

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

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

Institut für Theoretische Informatik Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester Klausur. Lösung

Institut für Theoretische Informatik Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester Klausur. Lösung Institut für Theoretische Informatik Prof. Dr. D. Hofheinz Stammvorlesung Sicherheit im Sommersemester 2017 Klausur Lösung 02.08.2017 Vorname: Nachname: Matrikelnummer: Klausur-ID: Hinweise - Schreiben

Mehr

Algorithmische Kryptographie

Algorithmische Kryptographie Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Public-Key-Systeme: Rabin 1 Das System nach Rabin 2 Grundlagen Körper Endliche Körper F(q) Definitionen Quadratwurzel

Mehr

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

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz IKS, KIT 25.04.2013 1 / 19 Überblick 1 Blockchiffren Erinnerung Beispiel: AES Angriffe auf Blockchiffren 2 Formalisierung von Sicherheit (symmetrischer Verschlüsselung)

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Jörn Müller-Quade ITI, KIT basierend auf den Folien von Dennis Hofheinz, Sommersemester 2014 23.05.2016 1 / 32 Überblick 1 Symmetrische Authentifikation von Nachrichten Ziel Konstruktionen MACs

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 08.05.2017 1 / 32 Überblick 1 Blockchiffren Erinnerung Varianten von DES Beispiel: AES Angriffe auf Blockchiffren 2 Formalisierung von Sicherheit (symmetrischer

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz IKS, KIT 29.04.2013 1 / 22 Überblick 1 Zusammenfassung und Korrektur Zusammenfassung Korrektur Definition semantische Sicherheit 2 Hashfunktionen Motivation Formalisierung

Mehr

Ziel: Zertifiziere Pfad von Wurzel zu m mittels Signaturen. Signieren Public-Keys auf Pfad inklusive der Nachbarknoten.

Ziel: Zertifiziere Pfad von Wurzel zu m mittels Signaturen. Signieren Public-Keys auf Pfad inklusive der Nachbarknoten. Merkle-Baum Idee: Konstruktion von Merkle-Bäumen Ersetze Signaturkette durch Baum (sogenannter Merkle-Baum). Verwenden Baum der Tiefe n für Nachrichten der Länge n. Die Wurzel erhält Label ɛ. Die Kinder

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

Kryptographie und Komplexität

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

Mehr

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

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

Mehr

Der komplexitätstheoretische Zugang zur Kryptographie

Der komplexitätstheoretische Zugang zur Kryptographie Der komplexitätstheoretische Zugang zur Kryptographie Claus Diem Im Wintersemester 2017 / 18 Literatur Oded Goldreich: Foundations of Cryptography Jonathan Katz & Yeduda Lindell: Intoduction to Modern

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

Prinzipien der modernen Kryptographie Sicherheit

Prinzipien der modernen Kryptographie Sicherheit Prinzipien der modernen Kryptographie Sicherheit Prinzip 1 Sicherheitsziel Die Sicherheitsziele müssen präzise definiert werden. Beispiele für ungenügende Definitionen von Sicherheit: Kein Angreifer kann

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Jörn Müller-Quade ITI, KIT basierend auf den Folien von Dennis Hofheinz, Sommersemester 2014 08.06.2015 1 / 34 Überblick 1 Schlüsselaustauschprotokolle Erinnerung Weitere Schlüsselaustauschtypen

Mehr

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

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

Mehr

Sicherheit von Merkle Signaturen

Sicherheit von Merkle Signaturen Sicherheit von Merkle Signaturen Algorithmus Angreifer A für die Einwegsignatur EINGABE: pk, Zugriff auf eine Anfrage an Orakel Sign sk ( ) 1 Berechne (pk (i), sk (i) ) Gen(1 n ) für i = 1,...,l. Wähle

Mehr

Einwegfunktionen Ziel: CPA-sichere Verschlüsselung aus Trapdoor-Einwegpermutation Später: CCA-sichere Verschlüsselung aus Trapdoor-Einwegperm.

Einwegfunktionen Ziel: CPA-sichere Verschlüsselung aus Trapdoor-Einwegpermutation Später: CCA-sichere Verschlüsselung aus Trapdoor-Einwegperm. Einwegfunktionen Ziel: CPA-sichere Verschlüsselung aus Trapdoor-Einwegpermutation Später: CCA-sichere Verschlüsselung aus Trapdoor-Einwegperm. Spiel Invertieren Invert A,f (n) Sei f : 0, 1} 0, 1} effizient

Mehr

Hybride Verschlüsselungsverfahren

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

Mehr

Existenz von Einwegfunktionen

Existenz von Einwegfunktionen Existenz von Einwegfunktionen Satz Einweg-Eigenschaft von f FO Unter der Faktorisierungsannahme ist f FO eine Einwegfunktion. Beweis: f FO ist mittels FACTOR-ONEWAY effizient berechenbar. z.z.: Invertierer

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

Homomorphe Verschlüsselung

Homomorphe Verschlüsselung Homomorphe Verschlüsselung Definition Homomorphe Verschlüsselung Sei Π ein Verschlüsselungsverfahren mit Enc : G G für Gruppen G, G. Π heißt homomorph, falls Enc(m 1 ) G Enc(m 2 ) eine gültige Verschlüsselung

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

Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Übungsleiter: Thomas Agrikola. Stammvorlesung Sicherheit im Sommersemester 2017

Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Übungsleiter: Thomas Agrikola. Stammvorlesung Sicherheit im Sommersemester 2017 Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Übungsleiter: Thomas Agrikola Stammvorlesung Sicherheit im Sommersemester 2017 Übungsblatt 4 Aufgabe 1. Wir instanziieren das ElGamal-Verschlüsselungsverfahren

Mehr

Übung zur Vorlesung. Sicherheit Übungsblatt 5 Björn Kaidel

Übung zur Vorlesung. Sicherheit Übungsblatt 5 Björn Kaidel Übung zur Vorlesung Sicherheit 30.06.2016 Übungsblatt 5 Björn Kaidel bjoern.kaidel@kit.edu https://b.socrative.com/login/student/ Room: SICHERHEIT Bitte gleich einloggen! 1 / 55 Evaluation (siehe Evaluations-PDF)

Mehr

Das Quadratische Reste Problem

Das Quadratische Reste Problem Das Quadratische Reste Problem Definition Pseudoquadrate Sei N = q mit, q rim. Eine Zahl a heißt Pseudoquadrat bezüglich N, falls ( a ) = 1 und a / QR N. N Wir definieren die Srache QUADRAT:= {a Z N (

Mehr

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

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

Mehr

Prinzip 2 Präzisierung der Annahmen

Prinzip 2 Präzisierung der Annahmen Prinzip 2 Präzisierung der Annahmen Prinzip 2 Komplexitätsannahme Es muss spezifiziert werden, unter welchen Annahmen das System als sicher gilt. Eigenschaften: Angriffstyp COA, KPA, CPA oder CCA muss

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

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Nachklausur Hinweise

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Nachklausur Hinweise Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade Stammvorlesung Sicherheit im Sommersemester 2016 Nachklausur 12.10.2016 Vorname: Nachname: Matrikelnummer: Hinweise - Für die Bearbeitung

Mehr

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen 3: Primzahlen 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen Definition 40 (Teiler, Vielfache, Primzahlen, zusammengesetzte Zahlen) Seien a, b N. a ist ein Teiler von b ( a b ), falls es ein k N gibt

Mehr

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen Miller-Rabin Test Primzahl- und Zerlegbarkeitstests Sei N eine positive ganze Zahl. Wie kann man möglichst effizient feststellen, ob N eine Primzahl oder zerlegbar ist? Dies ist die Aufgabe von Primzahlund

Mehr

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen Miller-Rabin Test Primzahl- und Zerlegbarkeitstests Sei N eine positive ganze Zahl. Wie kann man möglichst effizient feststellen, ob N eine Primzahl oder zerlegbar ist? Dies ist die Aufgabe von Primzahlund

Mehr

Übungsblatt 3. Stammvorlesung Sicherheit im Sommersemester Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade

Übungsblatt 3. Stammvorlesung Sicherheit im Sommersemester Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade Stammvorlesung Sicherheit im Sommersemester 2015 Übungsblatt 3 Aufgabe 1. Beurteilen Sie für die folgenden Konstruktionen jeweils, ob es sich

Mehr

Pseudo-Zufallsgeneratoren basierend auf dem DLP

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

Mehr

Prinzipien der modernen Kryptographie Sicherheit

Prinzipien der modernen Kryptographie Sicherheit Prinzipien der modernen Kryptographie Sicherheit Prinzip 1 Sicherheitsziel Die Sicherheitsziele müssen präzise definiert werden. Beispiele für ungenügende Definitionen von Sicherheit Kein Angreifer kann

Mehr

Public Key Kryptographie

Public Key Kryptographie 3. Juni 2006 1 Algorithmen für Langzahlen 1 RSA 1 Das Rabin-Kryptosystem 1 Diskrete Logarithmen Grundlagen der PK Kryptographie Bisher: Ein Schlüssel für Sender und Empfänger ( Secret-Key oder symmetrische

Mehr

Ununterscheidbarkeit von Chiffretexten

Ununterscheidbarkeit von Chiffretexten Ununterscheidbarkeit von Chiffretexten Spiel Ununterscheidbarkeit von Chiffretexten PrivK eav A,Π (n) Sei Π ein Verschlüsselungsverfahren und A ein Angreifer. 1 (m 0, m 1 ) A. 2 k Gen(1 n ). 3 Wähle b

Mehr

Ununterscheidbarkeit von Chiffretexten

Ununterscheidbarkeit von Chiffretexten Ununterscheidbarkeit von Chiffretexten Spiel Ununterscheidbarkeit von Chiffretexten PrivK eav A,Π (n) Sei Π ein Verschlüsselungsverfahren und A ein Angreifer. (m 0, m ) A. 2 k Gen( n ). 3 Wähle b R {0,

Mehr

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Nachklausur. Lösung Hinweise

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Nachklausur. Lösung Hinweise Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade Stammvorlesung Sicherheit im Sommersemester 2016 Nachklausur Lösung 12.10.2016 Vorname: Nachname: Matrikelnummer: Hinweise - Für die Bearbeitung

Mehr

Ununterscheidbarkeit von Chiffretexten

Ununterscheidbarkeit von Chiffretexten Ununterscheidbarkeit von Chiffretexten Spiel Ununterscheidbarkeit von Chiffretexten PrivK eav A,Π (n) Sei Π ein Verschlüsselungsverfahren und A ein Angreifer. 1 (m 0, m 1 ) A. 2 k Gen(1 n ). 3 Wähle b

Mehr

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Satz von Euler Satz von Euler Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Beweis: Sei G = {g 1,..., g n } und a G. Betrachte die Abbildung f : G G, g ag. Da a G, besitzt a ein

Mehr

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Satz von Euler Satz von Euler Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Beweis: Sei G = {g 1,..., g n } und a G. Betrachte die Abbildung f : G G, g ag. Da a G, besitzt a ein

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 4.4 Semantische Sicherheit 1. Sicherheit partieller Informationen 2. Das Verfahren von Rabin 3. Sicherheit durch Randomisierung Semantische Sicherheit Mehr als nur

Mehr

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Klausur Hinweise

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Klausur Hinweise Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade Stammvorlesung Sicherheit im Sommersemester 2015 Klausur 21.07.2015 Vorname: Nachname: Matrikelnummer: Hinweise - Für die Bearbeitung stehen

Mehr

Digitale Signaturen. RSA-FDH & das Random Oracle Model Björn Kaidel (mit Folien von Gunnar Hartung)

Digitale Signaturen. RSA-FDH & das Random Oracle Model Björn Kaidel (mit Folien von Gunnar Hartung) Digitale Signaturen RSA-FDH & das Random Oracle Model Björn Kaidel (mit Folien von Gunnar Hartung) FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK 0 2017-12-01 B. Kaidel Digitale Signaturen:

Mehr

6: Public-Key Kryptographie (Grundidee)

6: Public-Key Kryptographie (Grundidee) 6: Public-Key Kryptographie (Grundidee) Ein Teil des Schlüssels ist nur dem Empfänger bekannt. Der auch dem Sender bekannte Teil kann sogar veröffentlicht werden. Man spricht dann von einem Schlüsselpaar.

Mehr

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

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

Mehr

Digitale Signaturen. GHR-und Chamäleon-Signaturen Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

Digitale Signaturen. GHR-und Chamäleon-Signaturen Björn Kaidel.   FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK Digitale Signaturen GHR-und Chamäleon-Signaturen Björn Kaidel FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK 0 2017-12-15 B. Kaidel Digitale Signaturen: GHR- und Chamäleon-Signaturen KIT

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

Gruppenbasierte Kryptographie. ElGamal Sicherheit. Drei Probleme. ElGamal Verschlüsselung. Benutzt zyklische Gruppen von (fast) Primzahlordnung:

Gruppenbasierte Kryptographie. ElGamal Sicherheit. Drei Probleme. ElGamal Verschlüsselung. Benutzt zyklische Gruppen von (fast) Primzahlordnung: Gruppenbasierte Kryptographie Benutzt zyklische Gruppen von (fast) Primzahlordnung: G = g und #G = l = cl 0 mit c klein und l 0 prim. b G : x Z : b = g x. Das Element x heißt diskreter Logarithmus von

Mehr

Kryptographische Protokolle

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

Mehr

Digitale Signaturen. RSA-FDH & das Random Oracle Model Jiaxin Pan (Slides from Björn Kaidel and Gunnar Hartung)

Digitale Signaturen. RSA-FDH & das Random Oracle Model Jiaxin Pan (Slides from Björn Kaidel and Gunnar Hartung) Digitale Signaturen RSA-FDH & das Random Oracle Model Jiaxin Pan (Slides from Björn Kaidel and Gunnar Hartung) FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK 0 2018-10-26 B. Kaidel Digitale

Mehr

Proseminar Schlüsselaustausch (Diffie - Hellman)

Proseminar Schlüsselaustausch (Diffie - Hellman) Proseminar Schlüsselaustausch (Diffie - Hellman) Schlüsselaustausch Mathematische Grundlagen Das DH Protokoll Sicherheit Anwendung 23.06.2009 Proseminar Kryptographische Protokolle SS 2009 : Diffie Hellman

Mehr

WS 2013/14. Diskrete Strukturen

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

Mehr

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Klausur Hinweise

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Klausur Hinweise Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz Stammvorlesung Sicherheit im Sommersemester 2014 Klausur 22.07.2014 Vorname: Nachname: Matrikelnummer: Hinweise - Für die Bearbeitung stehen

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 26.06.2017 1 / 41 Überblick 1 Identifikationsprotokolle Erinnerung Sicherheitsmodell Ein sicheres Protokoll Noch ein sicheres Protokoll 2 Zero-Knowledge-Protokolle

Mehr

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

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren) WS 2016/17 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Attacken auf RSA und Das Rabin Kryptosystem

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

Mehr

Asymmetrische Verschlüsselungsverfahren

Asymmetrische Verschlüsselungsverfahren Asymmetrische Verschlüsselungsverfahren Björn Kaidel - Vertretung für Prof. J. Müller-Quade (Folien von A. Koch) FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK 0 17.11.2016 Björn Kaidel

Mehr

Stromchiffre. Algorithmus Stromchiffre

Stromchiffre. Algorithmus Stromchiffre Stromchiffre Algorithmus Stromchiffre Sei G ein Pseudozufallsgenerator mit Expansionsfaktor l(n). Wir definieren Π s = (Gen, Enc, Dec) mit Sicherheitsparameter n für Nachrichten der Länge l(n). 1 Gen:

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

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 23.06.2014 1 / 26 Überblick 1 Zero-Knowledge-Protokolle Erinnerung Beispiel für Zero-Knowledge-Protokoll Analyse des Beispiel-Zero-Knowledge-Protokolls Proof-of-Knowledge-Eigenschaft

Mehr

Stromchiffre. Algorithmus Stromchiffre

Stromchiffre. Algorithmus Stromchiffre Stromchiffre Algorithmus Stromchiffre Sei G ein Pseudozufallsgenerator mit Expansionsfaktor l(n). Wir definieren Π s = (Gen, Enc, Dec) mit Sicherheitsparameter n für Nachrichten der Länge l(n). 1 Gen:

Mehr

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Übungsblatt 5. pk = (g, y) und sk = (g, x). ? = y H(t m) t. g s

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Übungsblatt 5. pk = (g, y) und sk = (g, x). ? = y H(t m) t. g s Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz Stammvorlesung Sicherheit im Sommersemester 2014 Übungsblatt 5 Hinweis: Übungsblätter können freiwillig bei Jessica Koch, Raum 256, Geb.

Mehr

4 Der diskrete Logarithmus mit Anwendungen

4 Der diskrete Logarithmus mit Anwendungen 4 Der diskrete Logarithmus mit Anwendungen 62 4.1 Der diskrete Logarithmus Für eine ganze Zahl a Z mit ggt(a, n) = 1 hat die Exponentialfunktion mod n zur Basis a exp a : Z M n, x a x mod n, die Periode

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

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

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

Mehr

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2 Abschnitt 5: Kryptographie. Zunächst wollen wir die Struktur von (Z/mZ) untersuchen. 5.1 Definition: Die Eulersche ϕ-funktion: ϕ : N N; ϕ(m) := (Z/mZ) 5.2 Bemerkung: (Z/mZ) {a {1,..., m 1} ggt(a, m) =

Mehr

Aufgabe der Kryptografie

Aufgabe der Kryptografie Aufgabe der Kryptografie Eve möchte die Unterhaltung mithören und/oder ausgetauschte Informationen ändern. Alice & Bob kommunzieren über einen unsicheren Kanal. Alice & Bob nutzen Verschlüsselung und digitale

Mehr

3 Public-Key-Kryptosysteme

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

Mehr

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Nachklausur. Lösungsvorschlag Hinweise

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Nachklausur. Lösungsvorschlag Hinweise Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade Stammvorlesung Sicherheit im Sommersemester 2015 Nachklausur Lösungsvorschlag 29.09.2015 Vorname: Nachname: Matrikelnummer: Hinweise - Für

Mehr

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

Institut für Kryptographie und Sicherheit Jun.-Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester Nachklausur

Institut für Kryptographie und Sicherheit Jun.-Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester Nachklausur Institut für Kryptographie und Sicherheit Jun.-Prof. Dr. D. Hofheinz IKS Institut für Kryptographie und Sicherheit Stammvorlesung Sicherheit im Sommersemester 2013 Nachklausur 07.10.2013 Vorname: Nachname:

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

Sicherheit von ElGamal Intuitiv: Eve soll c 2 = m g ab nicht von c 2 R G unterscheiden können.

Sicherheit von ElGamal Intuitiv: Eve soll c 2 = m g ab nicht von c 2 R G unterscheiden können. Sicherheit von ElGamal Intuitiv: Eve soll c 2 m g ab nicht von c 2 R G unterscheiden können. Protokoll Unterscheider EINGABE: q, g, g x 1 Eve wählt m G und schickt m an Alice. 2 Alice wählt b R {0, 1},

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Jörn Müller-Quade ITI, KIT basierend auf den Folien von Dennis Hofheinz, Sommersemester 2014 18.05.2015 1 / 30 Überblick 1 Asymmetrische Authentifikation von Nachrichten Erinnerung

Mehr

Klausurtermin. Klausur Diskrete Mathematik I Do stündig

Klausurtermin. Klausur Diskrete Mathematik I Do stündig Klausurtermin Klausur Diskrete Mathematik I Do. 28.02.2008 3-stündig 07.12.2007 1 Wiederholung Komplexität modularer Arithmetik Addition: O(n) Multiplikation: O(n 2 ) bzw. O(n log 2 3 ) Exponentiation:

Mehr

Kryptographie und Komplexität

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

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz IKS, KIT 13.05.2013 1 / 16 Überblick 1 Asymmetrische Verschlüsselung Erinnerung Andere Verfahren Demonstration Zusammenfassung 2 Symmetrische Authentifikation von Nachrichten

Mehr

WS 2009/10. Diskrete Strukturen

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

Mehr

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

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester Übungsblatt 3

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester Übungsblatt 3 Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz Stammvorlesung Sicherheit im Sommersemester 2014 Übungsblatt 3 Hinweis: Übungsblätter können freiwillig bei Florian Böhl, Raum 255, Geb.

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

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

RSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n)

RSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n) RSA Parameter { öffentlich: N = pq mit p, q prim und e Z RSA Parameter φ(n) geheim: d Z φ(n) mit ed = 1 mod φ(n). Satz RSA Parameter Generierung RSA-Parameter (N, e, d) können in Zeit O(log 4 N) generiert

Mehr