Bit Commitment und Diskrete Logarithmen

Werbung
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Matthias Hörmann
Universität Paderborn
7. Juli 2008
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Einführung in Bit Commitment
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Diskrete Logarithmen
Denition
Beispiel
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Zahlen raten
I
I
I
Anna denkt sich eine Zahl aus
Ben und Clara versuchen sie zu raten
Wer näher dran liegt gewinnt
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Schummeln beim Zahlenratespiel
I
Ben und Clara können schummeln wenn sie Anna's Zahl
kennen bevor sie raten müssen
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Schummeln beim Zahlenratespiel
I
I
Ben und Clara können schummeln wenn sie Anna's Zahl
kennen bevor sie raten müssen
Anna kann einen der anderen beiden bevorzugen wenn sie eine
oder beide anderen Zahlen kennt bevor sie ihre Nummer
veröentlichen muss
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Typischen Oine-Lösungen für diese Problem
I
I
Jeder schreibt seine Zahl auf einen Zettel bevor die Zahlen
veröentlicht werden
Jeder teilt seine Zahl einer weiteren Person mit der alle
vertrauen
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Online-Implementierung - Client/Server
I
I
I
Die meisten Online-Spiele benutzen ein Client/Server Modell
Jeder vertraut dem Server
Vergleichbar mit der Vertrauensperson in der oine Variante
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Probleme bei Client/Server
I
I
Server müssen administriert werden, alle müssen dem
Server-Admin vertrauen
Solche neutralen Parteien denen jeder vertraut existieren in
vielen Situation nicht
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Das Problem
I
Anna muss nachweisen können dass sie sich zum Zeitpunkt t1
für etwas entschieden hat
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Das Problem
I
I
Anna muss nachweisen können dass sie sich zum Zeitpunkt t1
für etwas entschieden hat
Ben darf das Ergebnis dieser Entscheidung zum Zeitpunkt t2
nicht kennen
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Das Problem
I
I
I
Anna muss nachweisen können dass sie sich zum Zeitpunkt t1
für etwas entschieden hat
Ben darf das Ergebnis dieser Entscheidung zum Zeitpunkt t2
nicht kennen
Anna muss den Nachweis zum Zeitpunkt t3 erbringen, dann
darf auch Ben das Ergebnis der Entscheidung erfahren
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Einweg-Funktionen
Denition
Eine Einweg-Funktion ist eine Funktion bei der es, gegeben x
einfach ist f (x ) zu berechnen aber wenn y gegeben ist ist es
schwer, aber nicht unmöglich x mit f (x ) = y zu berechnen.
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Unsere Lösung auf Basis von Einweg-Funktionen
I
Anna verwendet die Entscheidung e als Eingabe für die
Einweg-Funktion f
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Unsere Lösung auf Basis von Einweg-Funktionen
I
I
Anna verwendet die Entscheidung e als Eingabe für die
Einweg-Funktion f
Anna schickt Ben m = f (e ) zum Zeitpunkt t1
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Unsere Lösung auf Basis von Einweg-Funktionen
I
I
I
Anna verwendet die Entscheidung e als Eingabe für die
Einweg-Funktion f
Anna schickt Ben m = f (e ) zum Zeitpunkt t1
Ben kann den Prozess nicht einfach umkehren
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Unsere Lösung auf Basis von Einweg-Funktionen
I
I
I
I
Anna verwendet die Entscheidung e als Eingabe für die
Einweg-Funktion f
Anna schickt Ben m = f (e ) zum Zeitpunkt t1
Ben kann den Prozess nicht einfach umkehren
Zum Zeitpunkt t3 schickt Anna Ben die potentielle
Entscheidung p
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Beispiel
Ratespiel oine
Ratespiel online
Das Bit Commitment Problem
Unsere Lösung auf Basis von Einweg-Funktionen
I
I
I
I
I
Anna verwendet die Entscheidung e als Eingabe für die
Einweg-Funktion f
Anna schickt Ben m = f (e ) zum Zeitpunkt t1
Ben kann den Prozess nicht einfach umkehren
Zum Zeitpunkt t3 schickt Anna Ben die potentielle
Entscheidung p
Ben berechnet f (p ) und vergleicht es mit m, sind sie identisch
ist p = e
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Denition
Beispiel
Logarithmen in Z
Denition
Gegeben a, b, x ∈ Z mit
b = ax
Dann nennen wir x den Logarithmus zur Basis a von b und wir
schreiben
x = loga (b)
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Denition
Beispiel
Generator
Denition
In der zyklischen Gruppe Z∗p nennen wir ein Element a Generator
wenn p − 1 der kleinste Exponent ist für den gilt
ap−1 ≡ 1 (mod p )
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Denition
Beispiel
Diskrete Logarithmen in Z∗p
Denition
Gegeben α, β, ∈ Z∗p , α ist ein Generator von Z∗p und die natürliche
Zahl x mit 0 ≤ x < p − 1 und
β ≡ αx
(mod p )
Dann heisst x der diskrete Logarithmus zur Basis α von β and wir
schreiben
Lα (β) ≡ x (mod p )
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Denition
Beispiel
Diskrete Logarithmen in Z∗13
21 ≡ 2, 22 ≡ 4, 23 ≡ 8, 24 ≡ 3, 25 ≡ 6,
26 ≡ 12, 27 ≡ 11, 28 ≡ 9, 29 ≡ 5,
210 ≡ 10, 211 ≡ 7, 212 ≡ 1 (mod 13)
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Denition
Beispiel
Diskrete Logarithmen in Z∗13
21 ≡ 2, 22 ≡ 4, 23 ≡ 8, 24 ≡ 3, 25 ≡ 6,
26 ≡ 12, 27 ≡ 11, 28 ≡ 9, 29 ≡ 5,
210 ≡ 10, 211 ≡ 7, 212 ≡ 1 (mod 13)
L2 (11) = 7
L2 (5) = 9
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Notation
Denition
Wir benutzen die Notation x0 , ...xk für die einzelnen Bits des
diskreten Logarithmus x , wie üblich ist dabei x0 das am wenigsten
signikante Bit. In den nächsten Folien sprechen wir immer von k
Bits auch dann wenn die führenden Bits 0 sind.
Ausserdem kann bei allen Aussagen bezüglich der Schwierigkeit
einer Berechnung natürlich davon ausgegangen werden dass diese
nur bei entsprechend grossen Zahlen gelten (nicht bei den kleinen
Zahlen der Beispiele).
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Unser Algorithmus
I
Anna und Ben wählen eine Gruppe Z∗p und einen Generator der
Gruppe a sowie ein Bit i
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Unser Algorithmus
I
I
Anna und Ben wählen eine Gruppe Z∗p und einen Generator der
Gruppe a sowie ein Bit i
Anna trit eine 1 Bit Entscheidung e
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Unser Algorithmus
I
I
I
Anna und Ben wählen eine Gruppe Z∗p und einen Generator der
Gruppe a sowie ein Bit i
Anna trit eine 1 Bit Entscheidung e
Anna wählt eine natürliche Zahl 0 < x < p − 1 mit xi = e
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Unser Algorithmus
I
I
I
I
Anna und Ben wählen eine Gruppe Z∗p und einen Generator der
Gruppe a sowie ein Bit i
Anna trit eine 1 Bit Entscheidung e
Anna wählt eine natürliche Zahl 0 < x < p − 1 mit xi = e
Anna berechnet m = ax und schickt Bob m zum Zeitpunkt t1
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Unser Algorithmus
I
I
I
I
I
Anna und Ben wählen eine Gruppe Z∗p und einen Generator der
Gruppe a sowie ein Bit i
Anna trit eine 1 Bit Entscheidung e
Anna wählt eine natürliche Zahl 0 < x < p − 1 mit xi = e
Anna berechnet m = ax und schickt Bob m zum Zeitpunkt t1
Ben kann x = La (m) zum Zeitpunkt t2 nicht einfach aus m
berechnen
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Unser Algorithmus
I
I
I
I
I
I
Anna und Ben wählen eine Gruppe Z∗p und einen Generator der
Gruppe a sowie ein Bit i
Anna trit eine 1 Bit Entscheidung e
Anna wählt eine natürliche Zahl 0 < x < p − 1 mit xi = e
Anna berechnet m = ax und schickt Bob m zum Zeitpunkt t1
Ben kann x = La (m) zum Zeitpunkt t2 nicht einfach aus m
berechnen
Anna schickt Ben eine potentielle Entscheidung xp zum
Zeitpunkt t3
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Unser Algorithmus
I
I
I
I
I
I
I
Anna und Ben wählen eine Gruppe Z∗p und einen Generator der
Gruppe a sowie ein Bit i
Anna trit eine 1 Bit Entscheidung e
Anna wählt eine natürliche Zahl 0 < x < p − 1 mit xi = e
Anna berechnet m = ax und schickt Bob m zum Zeitpunkt t1
Ben kann x = La (m) zum Zeitpunkt t2 nicht einfach aus m
berechnen
Anna schickt Ben eine potentielle Entscheidung xp zum
Zeitpunkt t3
Ben berechnet p = axp und vergleicht es mit m, sind sie
identisch ist Anna's Entscheidung zum Zeitpunkt t1 erwiesen
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Unser Algorithmus
I
I
I
I
I
I
I
I
Anna und Ben wählen eine Gruppe Z∗p und einen Generator der
Gruppe a sowie ein Bit i
Anna trit eine 1 Bit Entscheidung e
Anna wählt eine natürliche Zahl 0 < x < p − 1 mit xi = e
Anna berechnet m = ax und schickt Bob m zum Zeitpunkt t1
Ben kann x = La (m) zum Zeitpunkt t2 nicht einfach aus m
berechnen
Anna schickt Ben eine potentielle Entscheidung xp zum
Zeitpunkt t3
Ben berechnet p = axp und vergleicht es mit m, sind sie
identisch ist Anna's Entscheidung zum Zeitpunkt t1 erwiesen
Bob kann sich dann das Bit i von xp anschauen um den Wert
der Entscheidung zu sehen
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Beispiel
I
Anna und Ben wählen Z∗13 , den Generator a = 2 und Bit i = 1
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Beispiel
I
I
Anna und Ben wählen Z∗13 , den Generator a = 2 und Bit i = 1
Anna wählt e = 1
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Beispiel
I
I
I
Anna und Ben wählen Z∗13 , den Generator a = 2 und Bit i = 1
Anna wählt e = 1
Anna wählt x = 7, binär xb = 0111 mit x1 = e = 1
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Beispiel
I
I
I
I
Anna und Ben wählen Z∗13 , den Generator a = 2 und Bit i = 1
Anna wählt e = 1
Anna wählt x = 7, binär xb = 0111 mit x1 = e = 1
Anna berechnet m = 27 = 11 und schickt es Bob zum
Zeitpunkt t1
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Beispiel
I
I
I
I
I
Anna und Ben wählen Z∗13 , den Generator a = 2 und Bit i = 1
Anna wählt e = 1
Anna wählt x = 7, binär xb = 0111 mit x1 = e = 1
Anna berechnet m = 27 = 11 und schickt es Bob zum
Zeitpunkt t1
Bob kann x nicht schnell aus m errechnen
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Beispiel
I
I
I
I
I
I
Anna und Ben wählen Z∗13 , den Generator a = 2 und Bit i = 1
Anna wählt e = 1
Anna wählt x = 7, binär xb = 0111 mit x1 = e = 1
Anna berechnet m = 27 = 11 und schickt es Bob zum
Zeitpunkt t1
Bob kann x nicht schnell aus m errechnen
Anna schickt Ben die potentielle Entscheidung xp = 7 zum
Zeitpunkt t3
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Beispiel
I
I
I
I
I
I
I
Anna und Ben wählen Z∗13 , den Generator a = 2 und Bit i = 1
Anna wählt e = 1
Anna wählt x = 7, binär xb = 0111 mit x1 = e = 1
Anna berechnet m = 27 = 11 und schickt es Bob zum
Zeitpunkt t1
Bob kann x nicht schnell aus m errechnen
Anna schickt Ben die potentielle Entscheidung xp = 7 zum
Zeitpunkt t3
Ben berechnet p = 2xp = 27 = 11 und vergleicht es mit
m = 11
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
(Un)Sicherheit von x0
Theorem
Bit x0 ist für kryptographische Anwendungen nicht sicher
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Sicherheit von x1 mit p ≡ 1 (mod 4)
Theorem
Bit x1 des diskreten Logarithmus ist nicht sicher für kryptograsche
Anwendungen wenn wir p ≡ 1 (mod 4) wählen
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Sicherheit von x1 mit p ≡ 3 (mod 4)
Theorem
Bit x1 ist sicher für kryptograsche Anwendungen wenn wir p ≡ 3
(mod 4) wählen.
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Übersicht
Einführung in Bit Commitment
Diskrete Logarithmen
Bit Commitment und Diskrete Logarithmen
Unser Bit Commitment Algorithmus
Sicherheit der einzelnen Bits
Sicherheit von x1 mit p ≡ 3 (mod 4)
Theorem
Bit x1 ist sicher für kryptograsche Anwendungen wenn wir p ≡ 3
(mod 4) wählen.
Um dies zu beweisen werden wir eine Reduktion von der
Berechnung von x auf die Berechnung von Bit x1 nden um damit
zu zeigen dass beide Berechnungen in etwa gleich schwer sind.
Matthias Hörmann
Bit Commitment und Diskrete Logarithmen
Herunterladen