Kryptographie und Komplexität

Ähnliche Dokumente
Kryptographie und Komplexität

RSA Verfahren. Kapitel 7 p. 103

Vortrag zum Proseminar: Kryptographie

3: Zahlentheorie / Primzahlen

7 Asymmetrische Kryptosysteme

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

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

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

Vorlesung Sicherheit

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

Algorithmentheorie Randomisierung. Robert Elsässer

Vorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015

Verschlüsselung. Chiffrat. Eve

Kommunikationsalgorithmus RSA

Digitale Unterschriften mit ElGamal

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

Probabilistische Primzahltests

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

11. Das RSA Verfahren und andere Verfahren

3 Das RSA-Kryptosystem

10. Public-Key Kryptographie

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem

Das RSA Kryptosystem

Kryptographische Algorithmen

Sicherheit von hybrider Verschlüsselung

Public-Key-Verschlüsselung und Diskrete Logarithmen

AES und Public-Key-Kryptographie

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

Praktikum Diskrete Optimierung (Teil 11)

Einführung in die Kryptographie

Einführung in die Kryptographie ,

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Public-Key-Kryptographie

Name:... Vorname:... Matrikel-Nr.:... Studienfach:...

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

Sicherheit von ElGamal

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

Elementare Zahlentheorie II

Wiederholung Symmetrische Verschlüsselung klassische Verfahren: Substitutionschiffren Transpositionschiffren Vigenère-Chiffre One-Time-Pad moderne

Kryptographie. ein erprobter Lehrgang. AG-Tagung Informatik, April 2011 Alfred Nussbaumer, LSR für NÖ. LSR für NÖ, 28. April 2011 Alfred Nussbaumer

8 Komplexitätstheorie und Kryptologie

Grundlagen der Kryptographie

Einführung in die Kryptographie

Einführung in Computer Microsystems

AUFGABEN ZUR KRYPTOLOGIE

Einleitung Shor s Algorithmus Anhang. Thomas Neder. 19. Mai 2009

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz

Lösung zur Klausur zu Krypographie Sommersemester 2005

Angewandte Kryptographie

Musterlösung der Hauptklausur zur Vorlesung Sicherheit Sommersemester 2012

Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung)

Konzepte von Betriebssystem-Komponenten: Schwerpunkt Sicherheit Grundlagen: Asymmetrische Verschlüsslung, Digitale Signatur

Netzwerktechnologien 3 VO

Modul Diskrete Mathematik WiSe 2011/12

n ϕ n

ElGamal Verschlüsselungsverfahren (1984)

Probabilistische Primzahlensuche. Marco Berger

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

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Pseudozufallsgeneratoren

Datensicherheit durch Kryptographie

Homomorphe Verschlüsselung

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik Dr. Hartmut Lanzinger, Hans- Peter Reck

Kryptographie und Komplexität

Technikseminar SS2012

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

Mathematik und Logik

Diskrete Strukturen Vorlesungen 13 und 14

Erste Vorlesung Kryptographie

Proseminar: Electronic Commerce und Digitale Unterschriften Public-Key-Kryptographie

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

Lenstras Algorithmus für Faktorisierung

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

Folien der 14. Vorlesungswoche

Public-Key Verschlüsselung

Computeralgebra in der Lehre am Beispiel Kryptografie

Primzahlen Primzahlsatz Der Satz von Green und Tao Verschlüsselung mit RSA. Primzahlen. Ulrich Görtz. 3. Mai 2011

Methoden der Kryptographie

Digitale Signaturen. Kapitel 10 p. 178

Asymmetrische Kryptographie u

Algorithmische Kryptographie

Grundlagen der Verschlüsselung und Authentifizierung (2)

Quadratisches Sieb. Aufgabenstellung

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

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

1. Klassische Kryptographie: Caesar-Verschlüsselung

Geheimnisvolle Codes

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

Quantenkryptographie

Einwegfunktionen mit und ohne Falltür

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

Gedächtnisprotokoll zur Diplomprüfung in Theoretischer Informatik

4: Algebraische Strukturen / Gruppen

Vorlesung Sicherheit

MGI Exkurs: RSA-Kryptography

3-9 Elementare Zahlentheorie

Einführung in die Kryptographie - Multiple Choice Quiz

Grundlegende Protokolle

Designziele in Blockchiffren

Workshop Experimente zur Kryptographie

Transkript:

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 Sicherheit des Schlüssels Vollständiger Bruch des Verfahrens Angreifer ist in der Lage, den geheimen Schlüssel zu bestimmen Danach kann jede beliebige Nachricht vom Angreifer genauso effizient entschlüsselt werden wie vom vorgesehenen Empfänger Partieller Bruch des Verfahrens Angreifer kann mit einer gewissen Wahrscheinlichkeit Schlüsseltexte in akzeptabler Zeit dechiffrieren, ohne den Schlüssel kennen zu müssen Extraktion von Teilinformationen Angreifer kann aus Schlüsseltext spezifische Teilinformationen über den Klartext extrahieren Äquivalent zum Ziel, Chiffrierung eines Klartextes von der eines beliebigen Strings zu unterscheiden (mit Wahrscheinlichkeit über 50%) Ein System ist semantisch sicher, wenn dies nicht möglich ist Kryptographie und Komplexität 4.4 1 Semantische Sicherheit

Extraktion partieller Informationen Steckt Klartextinformation im Schlüsseltext? z.b.: Ist Klartext x eine gerade Zahl oder größer als n/2? Information über einzelne Klartextbits kann sehr wertvoll sein und z.b. Antworten auf wichtige Ja/Nein Entscheidungen liefern Nicht jede Information kann geheim bleiben z.b. ändert RSA Verschlüsselung den Wert des Jacobi Symbols nicht Ist y = x e mod n so ist ( y n ) = (xe n ) = (x n )e = ( x n ), da e ungerade ist Extraktion von Teilinformation ist bei RSA genauso schwer wie partieller Bruch Das Problem der vollständigen Entschlüsselung von RSA ist reduzierbar auf die Berechnung von parity bzw half (Beweis folgt) RSA Sicherheit gegen partiellen Bruch ungewiß Es gibt keinen Beweis, daß RSA genauso schwer wie Faktorisierung ist Kryptographie und Komplexität 4.4 2 Semantische Sicherheit

Extraktion partieller Information bei RSA Genauso schwer wie partieller Bruch Breche Schlüsseltexte mit Orakel half Sei half(y) = für y = e K (x) { 1, n>x>n/2 0, x<n/2 und parity(y) = half und parity sind gleich schwer zu bestimmen { 1, x ungerade 0, x gerade half(y) liefert das erste Bit des Klartextes, parity(y) das letzte Wegen (2x) e mod n = 2 e x e mod n liefert half(2 e y) das zweite Bit, half(2 2e y) das dritte, bis nach n Iterationen der Klartext feststeht Verfahren berechnet x durch Binärsuche Setze [l..r] := [0..n] Für i := 0.. n setze [l..r] := [(l + r)/2..r], falls half(2 i e y) = 1 Ergebnis nach n Schritten ist x = r [l..r] := [l..(l + r)/2], falls half(2 i e y) = 0 Kryptographie und Komplexität 4.4 3 Semantische Sicherheit

Das Rabin Verschlüsselungsverfahren Sichere Modifikation des RSA Verfahrens Schlüsselerzeugung Wähle zwei großer Primzahlen p und q, wobei p,q 3 mod 4 (Zusatzbedingung nicht nötig, erleichtert Dechiffrierung) Setze n = p q und lege n offen, halte p und q geheim Verschlüsselungsverfahren Jeder Textblock wird als Binärdarstellung einer Zahl x interpretiert Verschlüsselung wird Quadrieren modulo n: e K (x) = x 2 mod n Entschlüsselung wird Quadratwurzel modulo n: d K (y) = y mod n (Nichttriviale Operation, wenn p, q nicht bekannt) System nur von theoretischem Interesse Ein partieller Bruch des Systems ist genauso schwer wie Faktorisierung Nach heutigem Stand der Technik semantisch sicher Kryptographie und Komplexität 4.4 4 Semantische Sicherheit

Entschlüsselung im Rabin Verfahren Die Gleichung x 2 y mod p q hat 4 Lösungen y ist quadratischer Rest modulo p und modulo q Es folgt y (p 1)/2 1 mod p und y (q 1)/2 1 mod q Damit (±y (p+1)/4 ) 2 = y (p+1)/2 y mod p (analog für q) Wegen p,q 3 mod 4 sind ±y (p+1)/4 und ±y (q+1)/4 wohldefiniert Nach dem chinesischen Restsatz hat jedes Paar von Kongruenzen x ±y (p+1)/4 mod p und x ±y (q+1)/4 mod q jeweils eine eindeutige Lösung modulo n Verschlüsselung ist nicht injektiv Bestimmung des Klartextes O( n 3 ) Berechne y p := q 1 mod p und y q := p 1 mod q a priori Berechne x i := ±q y p y (p+1)/4 ± p y q y (q+1)/4 mod n Wähle nach Übertragung in Text den besten der vier Kandidaten aus Bei großen Blöcken gibt es i.a. nur einen einzigen sinnvollen Nichtdeterministische Dechiffrierung ist Basis für Sicherheit des Verfahrens Kryptographie und Komplexität 4.4 5 Semantische Sicherheit

Das Rabin Verfahren am Beispiel Schlüsselerzeugung Wähle p = 944123 q = 944147 Dann ist n = 891390898081 Entschlüsselungskoeffizienten sind y p := p 1 mod q = 511400 und y q := q 1 mod p = 432734 Verschlüsselung Alice verschlüsselt Klartext x = 730581888230 Ergebnis ist y = x 2 mod n = 408240297532 Entschlüsselung Bob berechnet y (p+1)/4 mod p = 568209, y (q+1)/4 mod q = 576202 Bob berechnet ±q y p y (p+1)/4 ± p y q y (q+1)/4 mod n und erhält 160809009851, 532577267684, 358813630397, 730581888230 Die letzte der vier Lösungskandidaten ist der Klartext Kryptographie und Komplexität 4.4 6 Semantische Sicherheit

Sicherheit des Rabin Verfahrens Berechnung des Klartextes x aus y = x 2 mod n ist genauso schwer wie die Faktorisierung von n = p q Faktorisierung liefert den Klartext Wenn Eve n faktorisieren kann, dann hat sie alle Informationen, die im Rabin Verfahren zur Entschlüsselung erforderlich sind Quadratwurzelberechnung liefert Faktorisierung Wähle a {1...n 1} zufällig Ist g = gcd(a,n) 1 dann ist g echter Teiler von n Ansonsten berechne eine Quadratwurzel z von x 2 mod n Wenn z ± x mod n so ist gcd(z x, n) echter Teiler von n Für z gibt es vier Möglichkeiten gcd(z x, n) = n z x mod p z x mod q p z x mod p z x mod q q z x mod p z x mod q 1 z x mod p z x mod q Da x zufällig ist, wird ein Teiler mit Wahrscheinlichkeit 1/2 gefunden Liefert RP Algorithmus zur Faktorisierung von n Kryptographie und Komplexität 4.4 7 Semantische Sicherheit

Sicherheit durch Randomisierung Unterscheidbarkeit von Schlüsseltexten Gegeben Verschlüsselungsfunktion f, zwei Klartexte x 1,x 2 und einen Schlüsseltext y mit der Eigenschaft y=f(x i ) für ein i. Bestimme i mit einer Fehlerwahrscheinlichkeit weniger als 50% Allgemeinste Form der Extraktion von Information aus Schlüsseltexten Kann ein Angreifer Schlüsseltexte nicht in polynomieller Zeit unterscheiden, so kann er keinerlei Information über den Klartext aus einem Schlüsseltext extrahieren Semantische Sicherheit ˆ= Nichtunterscheidbarkeit von Schlüsseltexten Nichtunterscheidbarkeit braucht Randomisierung Wenn die Verschlüsselungsfunktion f deterministisch ist, kann ein Angreifer f(x 1 ) und f(x 2 ) in polynomieller Zeit ausrechnen Ein deterministisches Verfahren kann nicht semantisch sicher sein Moderne Versionen von RSA ergänzen Zufallskomponenten Kryptographie und Komplexität 4.4 8 Semantische Sicherheit

Semantisch sichere Verschlüsselung Randomisierung der Verschlüsselungsfunktion f Verschlüsselung: (y 1,y 2 ) := e K (x) = (f(r),g(r) x) Entschlüsselung: d K (y 1,y 2 ) := G(f 1 (y 1 )) y 2 r beliebige Zufallszahl G zufallstreue Expansionsfunktion (dargestellt als riesige Tabelle) f Einwegfunktion (nicht in polynomieller Zeit umkehrbar) Intuitive Begründung der Sicherheit Um Information über x zu erhalten, braucht man Information zu G(r) G(r) kann nur berechnet werden, wenn r vollständig bekannt ist Teile von r reichen nicht aus, um Teile von G(r) zu bestimmen r kann nur bestimmt werden, wenn f 1 (y 1 ) vollständig berechnet wird f 1 (y 1 ) kann nicht in polynomieller Zeit berechnet werden Detaillierter Beweis siehe Stinson 5.9.2 Kryptographie und Komplexität 4.4 9 Semantische Sicherheit

Semantisch sichere Version von RSA Einfache Variante Verschlüsselung: (y 1,y 2 ) := e K (x) = (r e mod n,g(r) x) Entschlüsselung: d K (y 1,y 2 ) := G(y d 1 mod n) y 2 PKCS# Standard Verschlüsselung: y := e K (x) = ((x G(r)) (r H(x G(r)))) e mod n r {0, 1} k beliebige Zufallszahl G:{0, 1} k {0, 1} l Expansionsfunktion H:{0, 1} l {0, 1} m Kompressionsfunktion Klartextlänge x = l, RSA Blocklänge n = l+k+1 Klartext wird zu y 1 = x G(r) randomisiert Zufallszahl wird zu y 2 = r H(y 1 ) maskiert Entschlüsselung: Berechne y 1 y 2 := y d mod n Bestimme r = H(y 1 ) y 2 und berechne x = y 1 G(r) Kryptographie und Komplexität 4.4 10 Semantische Sicherheit

RSA im Rückblick Ältestes/bedeutendstes Public-Key Verfahren Ver-/Entschlüsselung ist Potenzieren mit e bzw. d modulo n Rahmenbedingung d = e 1 mod ϕ(n) n zusammengesetzt aus zwei großen Primzahlen p und q n, e liegt offen, d, p und q bleiben geheim Schlüsselerzeugung benötigt Primzahltests Schnellste Verfahren sind probabilistisch (Miller-Rabin) Sicherheit basiert auf Faktorisierungsproblem Schlüsselangriff äquivalent zu Lösung des Faktorisierungsproblems Faktorisierung ist subexponentiell O(e 1.92 n 1/3 (log( n )) 2/3 ) Sicherheit nur noch für Schlüsselgröße über 1024 Bit Semantische Sicherheit nur mithilfe von Randomisierung Kryptographie und Komplexität 4.4 11 Semantische Sicherheit