Cryptography Reference
In-Depth Information
Der private (geheime) Schlüssel s A wird nur seinem Besitzer A bekannt gemacht. Der öffentli-
che Schlüssel umfasst mehrere Elemente. Der Teil v A dient der Verifikation. Der Verifizieren-
de kann sich mittels ID A , z A und der öffentlich bekannten Hash-Funktion h davon überzeugen,
dass der Verifikator v A tatsächlich zu ID A gehört. Der öffentliche Schlüssel hat die Eigenschaft
eines nachprüfbaren Zertifikats.
Das Vertrauen der Teilnehmer in die Schlüsselbank kann sich darauf beschränken, dass
die Bank den privaten Schlüssel ausschließlich nur dem Besitzer bekannt macht,
mit dem privaten Schlüssel selbst keinen Missbrauch treibt und
die Primfaktoren p und q geheim hält (sonst könnte man s A aus v A berechnen).
Anmerkung: Die Schlüsselbank ist durch ihren Modul n wesentlich gekennzeichnet. Ein Angreifer könnte
den gleichen öffentlichen Schlüssel erzeugen, jedoch mit einem Modul n*, dessen Primfaktoren er selbst
festlegen kann. Er könnte sogar einen zugehörigen privaten Schlüssel s A * erzeugen und mit diesem Miss-
brauch betreiben. Es ist deshalb wichtig, zu einem öffentlichen Schlüssel auch den korrekten Modul n
einer als vertrauenswürdig bekannten Schlüsselbank zu verwenden.
5.4.2 Authentifikations-Runde
Wir unterstellen, dass Alice (Partei A) sich gegenüber Bob (Partei B, Rolle als Verifizierender)
authentisieren möchte. Dazu beweist sie in dem Protokollablauf, dass sie das Geheimnis ihres
privaten Schlüssels s A kennt, ohne das Geheimnis s A selbst preiszugeben. Ein solches Protokoll
wird als Zero-Knowledge-Protokoll bezeichnet.
Im Folgenden ist der Index von s A und v A der Übersichtlichkeit halber weggelassen. Eine Pro-
tokollrunde besteht aus den Schritten Commitment, Challenge, Response und Verifikation.
Commitment: Für jede Protokollrunde wählt Alice eine Zufallszahl r und schickt deren Quad-
rat x an Bob:
2
x
(r ) mod n
mit
r
Zufallszahl
(5.4-5)
Challenge: Der verifizierende Bob wählt ein Zufalls-Bit b mit der gleichen Wahrscheinlich-
keit von 1/2 für den Wert 0 und 1 und schickt b zurück an Alice.
Response: Der verifizierende B erwartet von Alice:
im Fall b
1:
y
(r s) mod n
(5.4-6)
im Fall b
0 :
y
(r) mod n
Verifikation: Bob verifiziert die Kongruenzen:
2
im Fall b
1 :
y
x / v
(mod n)
(5.4-7)
2
im Fall b
0 :
y
x
(mod n)
Wenn die Kongruenzen in (5.4-7) erfolgreich verifiziert werden können, dann gilt die Runde
für Alice als gewonnen. Die echte Alice, welche das Geheimnis s kennt, kann die erwarteten
Antworten in jedem Fall liefern und gewinnt immer. Eine falsche Alice A*, die das Geheimnis
s nicht kennt, kann raten und versuchen, die erwarteten Antworten zu liefern. Dies wird unten
in Kap. 5.4.3 besprochen.
Search WWH ::




Custom Search