stefan katzenbeisser institut für informatik technische ... · einführung in die kryptographie...
TRANSCRIPT
Einführung in die Kryptographie
Stefan Katzenbeisser
Institut für Informatik
Technische Universität München
Kryptographie – p.1/54
Vom Zeichen zum Code
� Älteste Form: Codesrepräsentieren Nachrichten
� Beispiel: Gaunerzinke
Unterscheidung in
� Steganographie: verdeckte Übermittlung vonNachrichten
� Kryptographie: Codierung von geheimen Texten
Kryptographie – p.2/54
Steganographie (1)
Kryptographie – p.3/54
Steganographie (2)
Dritter Buchstabe nach Satzzeichen!
Kryptographie – p.4/54
Substitution (1)
� einfache Ersetzung
� Beispiel:
�
�
�
� � �
�
� � �
� Permutation!� Cäsar-Chiffre:
�
�
�
� � �
�
� � �
Kryptographie – p.5/54
Substitution (2)
Abu Ja’far Muhammadibn Musa Al-Kwarizmi(ca. 790-850 n. Chr.)
� Häufigkeiten derBuchstabenunterschiedlich
� Angriff durchstatistische Analyse
Kryptographie – p.6/54
Polyalphabetische Chiffre (1)
� MehreremonoalphabetischeChiffren verwenden
� Ab ca. 1500 eingesetzt
Kryptographie – p.7/54
Polyalphabetische Chiffre (2)
Ioannis Trithemius(1462-1516)
�
�
-tes Alphabet für
�
-ten Buchstabenverwenden
� Permutation derAlphabeteals Schlüssel
� Sicherheit hängt vonder Periodenlänge ab!
� Friedrich Kasiski(1863)
Kryptographie – p.8/54
Kerckhoffs’ Axiome
� Man soll den Gegner nicht unterschätzen
� Nur der Kryptanalytiker kann die Sicherheit einesChiffrierverfahrens beurteilen
� “Der Feind kennt das benutzte System”
� Äußerliche Komplikationen können illusionärsein
� Verstöße gegen die Chiffrierdisziplin sind bei derAnalyse einzuplanen
Auguste Kerckhoffs (1835-1903)
Kryptographie – p.9/54
Enigma (1)
� PolyalphabetischeChiffre mit langerPeriode (max.
� � �
)
� Rotorprinzip
� Erfinder: EdwardHebern, ArthurScherbius, Hugo Koch
� Mehrere Varianten derEnigma in Betrieb
Kryptographie – p.10/54
Enigma (2)
Kryptographie – p.11/54
Enigma (3)
Marian Rejewski(1905-1980)
Alan Turing(1912-1954)
Kryptographie – p.12/54
Symmetrische Chiffre
� Alice und Bob wollen über einen sicheren Kanalkommunizieren
� Eve hört mit
Alice Bob
kk
Eve
Problem des Schlüsseltausches!
Kryptographie – p.13/54
Was ist Sicherheit?
Claude Shannon1916-2001
� Chiffre ist sicher,wenn
� � �
�
� �
� Informell: Kenntnisvon ändert nichts ander Ungewißheit über
.� Keine Aussage über
Rechenleistung!
Kryptographie – p.14/54
Vernam-Chiffre
Klartextmenge = Chiffretextmenge =
����
� �
� � �
� � �
Verschlüsselung und Entschlüssel-ung durch:
�� �
�� �
Ein neuer Schlüssel pro Nachrichtnotwendig!
Satz 1 Die Vernam-Chiffre ist perfekt sicher.
Kryptographie – p.15/54
Computationale Sicherheit
� Perfekte Chiffriersysteme benötigen langeSchlüssel:
� � � �
� Grund: keine Einschränkung der Rechenleistungdes Angreifers
� Computationale Sicherheit: kein probabilistischerpolynomieller Algorithmus kann Eigenschaftendes Klartextes “erraten”
Kryptographie – p.16/54
Probabilistische Algorithmen
� . . . können zufällige Entscheidungen treffen
� Ergebnis ist nur mit bestimmterWahrscheinlichkeit korrekt
Konzept Tafel!
Kryptographie – p.17/54
Probabilistische TM (1)
Eine probabilistische polynomielle Turing-Maschineist eine nichtdeterministische TM mit:
� jede Berechnung endet nach exakt � Schritten,
� � � � ��� � ��� � �
,
� bei jedem Schritt existieren zweinichtdeterministische Nachfolgezustände.
Erfolgswahrscheinlichkeit:� �� � TRUE
Kryptographie – p.18/54
Probabilistische TM (2)
Eine polynomielle Monte-Carlo TM für eine Sprache�
ist eine probabilistische polynomielle TM mit:
� für � � �
, mindestens die Hälfte allerEndzustände liefern TRUE:
� �� � TRUE� � � � � ���
� für � � �
enden alle Berechnungen mit FALSE:
� �� � TRUE
� � � � �
Kryptographie – p.19/54
Probabilistische TM (2)
� Die Klasse RP enthält alle Probleme, für die einepolynomielle Monte-Carlo TM existiert.
� co-RP: Klasse aller Probleme mit Monte-CarloTM, die keine falsch negative Antwort gibt.
� ZPP RP
�
co-RP (Las Vegas Algorithmen)
Satz 2
�
.
Kryptographie – p.20/54
Probabilistische TM (3)
Eine Sprache
�
wird durch eine probabilistischepolynomielle TM akzeptiert, wenn:
� für � � �
, mindestens
� ���
aller Endzuständeliefern TRUE:
� �� � TRUE� � � � � ���
� für � � �
akzeptieren ebenfalls mindestens
� ���
aller Endzustände:
� �� � FALSE
� � � � � ���
Kryptographie – p.21/54
Probabilistische TM (4)
Die Klasse aller Sprachen, die durch probabilistischepolynomielle TM akzeptiert werden, bezeichnet manBPP.
Satz 3 .
Kryptographie – p.22/54
Primzahltest
PRIMES
Input: � �
Output: TRUE falls � Primzahl, sonst FALSE
Satz 4 (Pratt) PRIMES
� � � � �
Rabin-Miller Test liefert probabilistischenPrimzahltest mit Fehlerwahrscheinlichkeit � � ��
Inzwischen kennt man einen polynomiellenAlgorithmus: PRIMES
�
Kryptographie – p.23/54
Public-Key Kryptographie (1)
Martin Hellman (Mitte), Whitfield Diffie (rechts)(zusammen mit Ralph Merkle)
Kryptographie – p.24/54
Public-Key Kryptographie (2)
� Trennung der Schlüssel in. . .
� privaten Schlüssel und. . .
� und öffentlichen Schlüssel
Alice BobEve
kpub kpriv
Kryptographie – p.25/54
Inverse Funktionen (1)
Grundlage der Kryptographie sind Funktionen, die
� einfach zu berechnen, . . .
� aber schwer zu invertieren sind
Kryptographie – p.26/54
Inverse Funktionen (2)Kann auch die inverse Funktion jeder polynomiellberechenbaren Funktion polynomiell berechnetwerden?
Betrachte nur
�� � � mit
� � � �� � � � �� � �
.
Satz 5 Sei eine polynomiell berechenbare Funktion.Dann gibt es eine nichtdeterministische polynomielleMaschine , die das Urbild von berechnet.Beweis Tafel!
Kann man auch eine polynomielle Maschine angeben?
Kryptographie – p.27/54
Inverse Funktionen (3)
Satz 6 Es gilt genau dann wenn jedepolynomiell berechenbare Funktion eine Inversebesitzt, die ebenfalls polynomiell berechenbar ist.Beweis Tafel
Die Kryptographie erfordert jedoch eineprobabilistische Sichtweise!
Kryptographie – p.28/54
One-Way Functions (1)
Eine Funktion heißt “one-way function”, falls
� ein polynomieller Algorithmus zur Berechnungvon existiert und
� für alle probabilistischen polynomiellenAlgorithmen
�
die Erfolgswahrscheinlichkeitzur Invertierung von kleiner ist als der Quotientjedes Polynoms.
Kryptographie – p.29/54
One-Way Functions (2)
Formal:
Für alle probabilistischen polynomiellen Algorithmen
�
und alle Polynome � � ��
gibt es einen Index
���
sodaß
� ��� �� �
� � � ��
� � ��
� �� ��
� � � � � � � � � � �
für alle
� �� gilt.
Kryptographie – p.30/54
One-Way Functions (3)
Satz 7 Die Existenz von one-way functions impliziert
.
[Die Public-Key Kryptographie] kann also eine unter-haltsame Diskussion uber die leere Menge seinProf. Friedrich Bauer, 1993
Kryptographie – p.31/54
Trapdoor One-Way Function (1)
Eine one-way function heißt trapdoor one-wayfunction, falls
� ein Algorithmus
�
existiert,
� der
���
mithilfe eines Strings� � � � ��
� ��
invertieren kann,
� wobei die Größe von
� � maximal polynomiellwächst:
� � �� � � � � � .
Kryptographie – p.32/54
Trapdoor One-Way Function (2)
Ein Public-Key Cryptosystem kann aus einer trapdoorone-way function gebildet werden:
� Die Verschlüsselung enthält die Auswertung vonan einer oder mehreren Stellen
� Die Entschlüsselung verwendet das trapdoor, umzu intertieren; das trapdoor wird zum privaten
Schlüssel
� Ein Angreifer muß die one-way functioninvertieren, da er das trapdoor nicht kennt
Kryptographie – p.33/54
Mathematische Grundlagen
� � � ��
�� � � � �
� � � �
�
�� � � �
�
ist ein Ring
� Alle Elemente � � � mit � � ���
� � �
habenein Inverses
�
�� �� � �
� � � ���
� � � �
�
� �� � �
�
ist eine Gruppe mit � � � � Elementen
� Für alle � � �� : �
� � � �
� � � � � � � .Beweis Tafel
Kryptographie – p.34/54
RSA (1)
Ron Rivest, Adi Shamir, Leonard Adleman (1978)
Seien ��
� zwei große Primzahlen, � � � und
�
� � � � � mit � � ���
� � � � � �
.
RSA-Funktion:
�� � � � � � ��
� � ��
Kryptographie – p.35/54
RSA (2)
Die zugehörige inverse Funktion ist gegeben durch
�� �� � � �
� � �wobei
�
so gewählt wird, daß �
� � � � � � � � � � � .
Beweis Tafel
�
���
� �
ist öffentlicher Schlüssel
�
�
ist privater Schlüssel (trapdoor)
Kryptographie – p.36/54
RSA (3)
Satz 8 Die Berechnung von
�
aus
���
� �
istpolynomiell äquivalent zur Berechnung derPrimfaktorzerlegung von �
Satz 9 FACTORIZE
� � � � � �
Es ist kein polynomieller Algorithmus zurBerechnung der Primfaktorzerlegung bekannt.
RSA ist ein Kandidat für eine one-way function!
Die exakte Relation zwischen RSA und FACTORIZE istaber unbekannt!
Kryptographie – p.37/54
Diskreter Logarithmus (1)
Sei eine endliche zyklische Gruppe:
��� ���� � � � �
� ��� �
In der Kryptographie verwendet man:
�
�� mit � Primzahl,
� Elliptische Kurven,
� Multiplikative Gruppen endlicher Körper,
� . . .
Kryptographie – p.38/54
Diskreter Logarithmus (2)
DISCRETELOG über
��
Input: ��
��
�
Output: � sodaß � � � mod �Dieses Problem scheint härter zu sein alsFACTORIZE!
Basis des ElGamal Public-Key Kryptosystems
Kryptographie – p.39/54
Diskreter Logarithmus (3)
ElGamal:
� Sei � ein Generator von
�� und
� � � �mod �, für
eine Zufallszahl �
� Öffentlicher Schlüssel:
� ��
��
� �
� Privater Schlüssel: �
� Verschlüsselung wählt Zufallszahl
�
und . . .
� produziert Tupel
� � � �
�� ��
� � �
mod ��
� � �
mod � �
� Entschlüsselung: �� � � ��
� ��
mod �
Kryptographie – p.40/54
Computationale Sicherheit (1)
Kryptographie – p.41/54
Computationale Sicherheit (2)
Forderungen:
� Der private Schlüssel soll nicht aus demöffentlichen Schlüssel berechenbar sein
� Nachrichten sollten nicht aus dem Chiffratableitbar sein
� Aus dem Chiffrat alleine soll keine Informationüber den Klartext effizient berechenbar sein
Kryptographie – p.42/54
Kryptanalyse
Satz 10 Sei
��
� ��
� ��
ein polynomiellberechenbares Prädikat über der Menge allerKlartextnachrichten . Für jedes deterministischePublic-Key Kryptosystem gilt: das Problem derBerechnung von
� � � � aus dem Chiffrat � liegt in
� � � � .
Beweis Tafel
Kryptographie – p.43/54
Semantische Sicherheit (1)
� Ausgangspunkt: sei
� �
� ��
� � �
eineFunktion über der Menge allerKlartextnachrichten .
� Ziel: ein Chiffriersystem heißt semantisch sicher,wenn alle Funktionen
�
“schwer” zu berechnensind, falls nur verschlüsselte Nachrichtenvorliegen.
Formal wird diese Eigenschaft über zwei Spieleformuliert.
Kryptographie – p.44/54
Semantische Sicherheit (2)
. . . Angreifer, . . . Richter
Spiel 1.
wählt � � .errät
� � � � .
Spiel 2.
wählt � � .sendet � � � � an .berechnet
� � � � aus �.
Ein System ist semantisch sicher, falls für alle
�
dieWahrscheinlichkeit für das Spiel 2 zu gewinnennicht viel größer ist als die Wahrscheinlichkeit Spiel 1zu gewinnen.Ein Spiel ist ein probabilisticher Algorithmus!
Kryptographie – p.45/54
Ununterscheidbarkeit (1)
Ein Chiffriersystem ist “polynomiellununterscheidbar”, wenn ein Angreifer keinenprobabilistischen polynomiellen Algorithmusverwenden kann kann, um zwei Nachrichten zugenerieren, deren Chiffrate er in polynomieller Zeitunterscheiden kann.
Spiel 3.
� wählt � � �
� � � und sendet diese an .
� wählt zufällig � � oder � � ,
� . . . und sendet das Chiffrat � an
� entscheidet, ob er das Chiffrat von � � oder � �
erhalten hat.Kryptographie – p.46/54
Ununterscheidbarkeit (2)
Formal heißt ein Chiffriersystem polynomiellununterscheidbar, falls es ein Polynom � gibt, sodaßdie Wahrscheinlichkeit für , Spiel 3 zu gewinnen,maximal
� ��� � � � � � � ist.
Satz 11 Ein Chiffriersystem ist semantisch sichergenau dann wenn es polynomiell ununterscheidbar ist.
Kryptographie – p.47/54
Ist RSA semantisch sicher?
Nein; es gibt einen Algorithmus, der RSA-Chiffrateunterscheidet:
� generiert � � und � � .
� wählt � � oder � � aus; nenne diese Nachricht
�.
� sendet � � � � � � an .
� testet, ob � � �� � � � oder � � �� � � �
Satz 12 Jedes deterministische Public-KeyKryptosystem ist nicht semantisch sicher.
Kryptographie – p.48/54
RSA-OAEP
� randomisiertes RSA
� �
� ��
� � ��� � ��
� � � � ��
pseudorandomgenerator
� �
� ��
� � � � �� � ��
� � ���
hash function
� � ist Zufallszahl der Länge���
� Verschlüsselung durch�� � � ��� � � �
, wobei
� �� � �� � � � �
� � � � �
� RSA-OAEP ist semantisch sicher
Kryptographie – p.49/54
Zufallszahlen (1)
Wie kann man sicher Zufallszahlen erzeugen?
Kryptographie – p.50/54
Zufallszahlen (2)
Wichtigste Sicherheitseigenschaft: produzierte Bitssollen nicht “vorhersagbar” sein
Next Bit Test:
� Test erhält bisherige Pseudozufallszahlen:
�� � � � � �
��
� . . . und soll nächste Zahl
�� � � vorhersagen.
� Ein Zufallszahlengenerator ist sicher, falls jederTest nur “raten” kann.
Kryptographie – p.51/54
Hard Core Predicates (1)
Ein Prädikat heißt “hard-core” für eine one-wayfunction , falls
�
�� �
in polynomieller Zeit berechenbar ist, aber
� jeder probabilistische polynomielle Algorithmusmit Input
�� �
den Wert�� �
nur “erraten” kann.
�� �� �� �
� � � ��
� � ��
�
� � �� � � ��
� � � � � �
Kryptographie – p.52/54
Hard Core Predicates (2)
Beispiel:
�
� �
: least significant bit
� Die Berechnung des
� �
des Klartextes aus demChiffretext ist polynomiell äquivalent zu einemAngriff gegen RSA.
� Falls RSA sicher ist, kann auch der Wert des
� �
nicht effizient berechnet werden.
�
� �
ist dann ein Hard Core Predicate.
Kryptographie – p.53/54
Hard Core Predicates (3)
Jede one-way function mit Hard Core Predicateliefert einen sicheren Zufallszahlengenerator:
� �� � � �� �
�� � � �� � � � � �� � �
� �� � � �� � � � � �� � �
... ...
Nehme
�� � � � �� � � � � � �� � � �� � � als Zufallszahl
bei seed � .
Kryptographie – p.54/54