Zero Knowledge:

Transcrição

Zero Knowledge:
Zero Knowledge:
Überzeugen ohne etwas zu verraten
Jörn Müller-Quade
5. Emmy-Noether-Jahrestreffen
Potsdam, 22.07.06
Überzeugen ohne etwas zu verraten
Wozu?
Überzeugen ohne etwas zu verraten
Dass es überhaupt geht, ist erstaunlich,
ein wenig wie ein Zaubertrick.
Es gibt aber auch Anwendungen!
1. Anwendung: Geldautomat
1. Anwendung: Geldautomat
Zur Zeit zeigen wir einem
Geldautomaten unseren
Magnetstreifen und verraten
unser Geheimnis (PIN).
Ein gefälschter Automat
erfährt also genug, um
an unser Geld zu kommen.
Das erinnert an Asterix als Legionär.
Mein Autoschlüssel
ist auch nicht klüger.
Überzeugen ohne etwas zu verraten
Öffentliches Rätsel
von
Jörn Müller-Quade
Meine
geheime
Lösung
Überzeugen ohne etwas zu verraten
Öffentliches Rätsel
von
Jörn Müller-Quade
Meine
geheime
Lösung
Ich beweise, dass ich die Lösung kenne,
ohne etwas zu verraten (etwa eine PIN).
Überzeugen ohne etwas zu verraten
Öffentliches Rätsel
von
Jörn Müller-Quade
Dies löst das Problem der Identifikation,
aber wie kann man überzeugen
ohne etwas zu verraten?
Meine
geheime
Lösung
Ich beweise, dass ich die Lösung kenne,
ohne etwas zu verraten (etwa eine PIN)
2. Anwendung: Kopierschutz
Musikdateien
Beweis, dass
die Software
unverändert ist.
Musikdateien
Beweis, dass
die Software
unverändert ist.
Gibt die TPM dabei ihre Identität preis, so
kann das Kaufverhalten mitprotokolliert werden.
Musikdateien
Beweis, dass
die Software
unverändert ist.
Benötigt wird ein Beweis, der nichts verrät,
aber wie kann das gehen?
Gibt die TPM ihre Identität preis, so kann das
Kaufverhalten mit protokolliert werden.
3. Anwendung: Plagiatvermeidung
Nicht ernst gemeint, oder?
3. Anwendung: Plagiatvermeidung
Nicht ernst gemeint, oder?
Ein Mathematiker hat eine neue Formel und will seine Fachkollegen
davon überzeugen, fürchtet aber, ein anderer könnte sie veröffentlichen.
3. Anwendung: Plagiatvermeidung
Nicht ernst gemeint, oder?
Benötigt wird ein Beweis, der nichts verrät,
aber wie kann das gehen?
Ein Mathematiker hat eine neue Formel und will seine Fachkollegen
davon überzeugen, fürchtet aber, ein anderer könnte sie veröffentlichen.
Was ist ein Beweis?
Eine überzeugende Abfolge
elementarer Schlussfolgerungen
Pythagoras: A+B=C
Pythagoras: A+B=C
Pythagoras: A+B=C
Pythagoras: A+B=C
Pythagoras: A+B=C
Pythagoras: A+B=C
Pythagoras: A+B=C
Überzeugt so ein Beweis?
Beweiskalküle
Syntax
Axiome
t: Z (t )  x : Z ( x)
Terme:
0, x, x+y
x: x = x
Formeln:
x y : y  x  2 x  y
Ableitungsregeln
Modus Ponens:
A, A  B
Generalisierung:
W
B
x : W
Maschinenüberprüfbar!
Beweiskalküle
Syntax
Axiome
t: Z (t )  x : Z ( x)
Terme:
0, x, x+y
x: x = x
Formeln:
x y : y  x  2 x  y
Ableitungsregeln
Modus Ponens:
A, A  B
Generalisierung:
W
B
x : W
Maschinenüberprüfbar!
So könnte man eine
Maschine bauen, die
alle mathematischen
Wahrheiten aufzählt.
Für jedes Beweiskalkül
gibt es Wahrheiten, die
sich in diesem Kalkül
nicht beweisen lassen.
So könnte man eine
Maschine bauen, die
alle mathematischen
Wahrheiten aufzählt.
Für jedes Beweiskalkül
gibt es Wahrheiten, die
sich in diesem Kalkül
nicht beweisen lassen.
Wir wollen nur beweisen, was beweisbar ist,
aber ohne etwas zu verraten!
So könnte man eine
Maschine bauen, die
alle mathematischen
Wahrheiten aufzählt.
Beweise sind übertragbar
Beweise sind übertragbar
Aha
Jeder dieser Beweise kann weitergegeben werden
und überzeugt jeden. Diese Beweise verraten alles.
Beweise sind übertragbar
Wie überzeugt man, ohne dass etwas bleibt,
was Dritte überzeugt?
Aha
Jeder dieser Beweise kann weitergegeben werden
und überzeugt jeden. Diese Beweise verraten alles.
Interaktive Beweise
Aha
Hä?
Eine Interaktion überzeugt den direkten Empfänger,
ein Mitschrieb aber nicht mehr unbedingt.
Der Pepsi-Test: ein Beweis, dass
Pepsi ≠ Cola
Fülle Pepsi in
zufällige Gläser
0
1
1
0
0
1
0
0
Fülle Cola in die
anderen Gläser
0
1
1
0
0
1
0
0
Gib die Gläser dem Beweiser
Erkennt dieser, welche Gläser
was enthalten, so sind die
Getränke wohl unterscheidbar.
Pepsi ≠ Cola
0
1
1
0
0
1
0
0
Nun ein Experiment:
Gedankenlesen!
Ich benötige einen
Freiwilligen.
Ah, Sabine, Du.
Sabine, Denke Dir
bitte eine
zweistellige Zahl
Habe
ich,
Jörn
Es ist die 37.
Genau
!
Dies gibt das während der Lecture gebotene
Experiment nur ungenügend wieder.
Wichtig ist jedenfalls, dass die Zuschauer
den Verdacht haben, Sabine und Jörn hätten
sich vor der Lecture abgesprochen.
Sabine ist nun überzeugt, dass Jörn Gedanken
lesen kann (es sei denn es war doch Absprache).
Im Publikum ist aber niemand überzeugt, da
alles wie Absprache aussieht.
Dies ist ein Beispiel für einen interaktiven Beweis,
der nicht weitergegeben werden kann.
Zero-Knowledge-Beweise
Korrekt:
Ist die Aussage falsch, so überzeugt der Beweis
nur mit vernachlässigbarer Wahrscheinlichkeit.
Zero Knowledge:
Für jeden Prüfer (Sabine) gibt es einen Simulator,
der einen Mitschrieb der Kommunikation selber
erzeugen kann. Ohne den Beweis zu kennen!
Absprache
Jörn
Sabine
Simulator
Zero-Knowledge-Beweise
Korrekt:
Ist die Aussage falsch, so überzeugt der Beweis
nur mit vernachlässigbarer Wahrscheinlichkeit.
Zero Knowledge:
Für jeden Prüfer (Sabine) gibt es einen Simulator,
der einen Mitschrieb der Kommunikation selber
erzeugen kann. Ohne den Beweis zu kennen!
Absprache
Shafi Goldwasser, Silvio Micali und Charles Rackoff 1982.
Jörn bis es 1985 erschien.
Immer wieder abgelehnt,
Sabine
Simulator
Graph-Isomorphismus
Ein Graph hat Knoten und Kanten.
Ein Graph-Isomorphismus bewegt die Knoten so, dass
zwei Graphen gleich werden (die Kanten gehen mit).
Graph-Isomorphismus
Ein Graph hat Knoten und Kanten.
Ein Graph-Isomorphismus bewegt die Knoten so, dass
zwei Graphen gleich werden (die Kanten gehen mit).
Graph-Isomorphismus
Ein Graph hat Knoten und Kanten.
Ein Graph-Isomorphismus bewegt die Knoten so, dass
Einen Graph-Isomorphismus zu finden, gilt als schwierig.
zwei Graphen gleich werden (die Kanten gehen mit).
Wie Wollknäulentwirren.
Ein ZK-Beweis für
Graph-Isomorphismus
Allen bekannt: zwei Graphen
Geheimnis des Beweisers: ein Graph-Isomorphismus
Der Beweiser erzeugt einen
zufälligen isomorphen Graphen
Der Beweiser gibt den
Graphen an den Prüfer
Der Prüfer wählt einen Isomorphismus, den er sehen will.
Diesen Isomporphismus hat sich
der Beweiser gerade ausgedacht
Der Beweiser gibt den Isomorphismus bekannt.
Und der Andere?
Der Andere
Ist einfach die Nacheinanderausführung von
1. seinem geheimen Isomorphismus und
2. dem neu ausgedachten.
Der Beweiser kann beide
Isomorphismen angeben
Dieses Spiel wird häufig wiederholt.
Korrektheit
Kann der Beweiser beide Isomorphismen angeben,
so sind beide Graphen tatsächlich isomorph.
Kennt er immer nur einen so wird er, bei häufigem
Widerholen, erwischt.
Zero-Knowledge
Weiß der Beweiser vorher welchen Isomorphismus
der Prüfer sehen will, so bereitet er genau diesen vor.
Anwendung 3: Ernst gemeint?
Anwendung 3: Ernst gemeint?
Oder: wie Tartaglia fast ZK erfand
• Tartaglia (1499-1557) kannte eine Formel
zum Lösen von Gleichungen 3. Grades,
etwa x3+5x2-2x = 3.
• Um das zu beweisen, löste Tartaglia ihm
gestellte Gleichungen, verriet aber die
Formel nicht.
Anwendung 3: Ernst gemeint?
Oder: wie Tartaglia fast ZK erfand
Später hat Tartaglia Cardano die Formeln „angedeutet“,
Cardano hielt die Formeln für geklaut,
und er hat sie selber veröffentlicht.
Cardanische
Formeln
Anwendung 3: Ernst gemeint?
Oder: wie Tartaglia fast ZK erfand
Später hat Tartaglia Cardano des Meineids bezichtigt.
Cardano mußte in den Kerker der heiligen Inquisition.
Anwendung 3: ernst gemeint?
Doch
das
ist
eine
andere
Geschichte
Oder: wie Tartaglia fast ZK erfand
und soll ein andermal erzählt werden:
„Im Alter, nach seiner Freilassung durch die Inquisition, ging
Cardano nach Rom, wo er im Ärztekolleg Aufnahme fand
und dort bis zu seinem Tode wirkte. Er brüstete sich damit,
dass er seinen eigenen Tod bis auf die Stunde genau
voraussagen könne. Als die Stunde seines vorausgesagten
Todes gekommen war, musste er peinlich berührt feststellen,
dass er sich bester Gesundheit erfreute. Da er seinen eigenen
Fehler nicht eingestehen wollte, beging er Selbstmord.“ Wikipedia
Später hat Tartaglia Cardano des Meineids verklagt
Cardano mußte in den Kerker der heiligen Inquisition.
ZK nur für spezielle Probleme?
Was geht noch außer Graph-Isomorphismus?
Gibt es ZK-Beweise nur für wenige Probleme?
Dies wäre genug für Anwendung 1, aber sind
die anderen Anwendungen auch möglich?
To Do
Erfüllbarkeit
Beweise sind maschinenüberprüfbar, also
gibt es einen Schaltkreis mit einer Lampe,
die nur leuchtet, wenn der Beweis korrekt ist.
Beweis
Erfüllbarkeit
Beweise sind maschinenüberprüfbar, also
gibt es einen Schaltkreis mit einer Lampe,
die nur leuchtet, wenn der Beweis korrekt ist.
Beweis
Könnten wir für beliebige Schaltkreise ZK beweisen,
dass wir eine Eingangsbelegung kennen, die die
Lampe leuchten läßt, dann könnten wir jeden Beweis
in einen ZK-Beweis überführen.
Erfüllbarkeit ist ein NP-Problem
NP-Probleme sind Rätsel, deren Lösung einfach zu
überprüfen sind.
Es gibt Rätsel von einem Typ, dass, wenn man diese
lösen kann. man alle NP-Probleme lösen kann.
(NP-vollständige Probleme)
(Ob P=NP gilt, ist eines der Millionenprobleme)
Erfüllbarkeit ist ein NP-Problem
NP-Probleme sind Rätsel, deren Lösung einfach zu
überprüfen sind.
Es gibt Rätsel von einem Typ, dass, wenn man diese
Können
ein NP-vollständiges
lösen kann.
manwir
allefürNP-Probleme
lösen kann.
Problem ZK-Beweise
führen, dann können
(NP-vollständige
Probleme)
wir alles ZK Beweisen!
(Ob P=NP gilt, ist eines der Millionenprobleme)
Graph-3-Färbbarkeit ist NP-vollständig
Färbe die Knoten mit drei Farben, so dass direkt
verbundene Knoten immer ungleiche Farben haben.
Eine Graph-3-Färbung
Das Geheimnis des Beweisers.
Der Beweiser benennt die
Farben zufällig um
Es bleibt eine 3-Färbung.
Der Beweiser verschlüsselt alle Farben
Dies wird dem Prüfer gezeigt.
Der Prüfer wählt eine Kante
Der Beweiser entschlüsselt dort die Knoten.
Die Farben müssen ungleich sein
Dieses Spiel wird häufig wiederholt.
Mit immer neuer Vertauschung der drei Farben.
Korrektheit und ZK
• Korrekt: Gibt es keine 3-Färbung, so
sind immer irgendwo zwei Farben
gleich. Bei häufigem Wiederholen wird
der Beweiser erwischt.
• ZK: Weiß der Beweiser vorher, welche
Kante gefragt wird, verschlüsselt er dort
zwei zufällige, verschiedene Farben.
Korrektheit und ZK
• Korrekt: Gibt es keine 3-Färbung, so
sind immer irgendwo zwei Farben
gleich. Bei häufigem Wiederholen wird
Jetzt können
wir „alles“ Beweisen,
der Beweiser
erwischt.
ohne etwas zu verraten.
wasder
machen
Kryptographen
heute?
• ZK: Und
Weiß
Beweiser
vorher,
welche
Kante gefragt wird, verschlüsselt er dort
zwei zufällige, verschiedene Farben.
Was machen Kryptographen heute?
• Bleiben ZK-Protokolle in größeren
Anwendungen sicher?
• Sind ZK-Protokolle langfristig sicher?
Wie lange
hält das?
Zusammenfassung
Es gibt interaktive Beweise,
ähnlich dem Pepsi-Test.
Interaktive Beweise können überzeugen,
ohne etwas zu verraten (ZK-Beweise).
Tartaglia hat ZK-Beweise nicht erfunden.
Interessant: ZK in größeren Anwendungen,
langfristige Sicherheit.
Bildquellen
Emmy Noether Logo: DFG
Tafel mit Formeln: http://www.fabula.tv/roboter/gross/formeln-big.jpg
Zylinder: www.schornsteinfegermeister.de
Geldautomat: Jörn Müller-Quade
Comic+Autoschlüssel: Jörn Müller-Quade
Beatles: http://www.sfondideldesktop.com/Images%2DMusic/Beatles/Beatles%2D0003/
Screenshot von iTunes: Jörn Müller-Quade
Notebook: Apple
TPM-Chip: Infineon
Tartaglia: Public Domain (Wikipedia)
Cardano: Public Domain (Wikipedia)
Rechenmaschine: http://www.snc.edu/compsci/cs225F04/alu/website/images/pascalina-full.jpg
Flächengleiche Dreiecke: www.didisweb.at
Hilbert: Public Domain (Wikipedia)
Gödel: http://www.math.princeton.edu/~gdoyle/Pictures/etc/godel.jpg
Ludolph: Public Domain (Wikipedia)
Pepsi Cola: Pepsi Cola
Glas: http://www.h-e-d.co.uk/images/shot-glass-drinking.jpg
Coca Cola: Coca Cola
Optische Täuschung:http://www.softclick.ch/Was_das_Hirn_alles_kann.pps#3
Kerker: http://www.sagen.at/texte/sagen/oesterreich/niederoesterreich/wachau/images/kerker.jpg
Schaltkreis: http://www.morphet.org.uk/images/ferro/ferro-log7service/circuit-150-16.gif
Glühbirne: http://www.lsr-stmk.gv.at/cms/bilder/17662/80/315/222/bb350edb/gluehbirne.jpg
Pflaster: www.sparkasse-saarbruecken.de