Cryptography Reference
In-Depth Information
rameter, die die Kurve bestimmen. Unter anderem sind das die Zahlen a und b in der For-
mel (4.5-1), der Modul p für alle Berechnungen sowie der Basispunkt G.
A legt eine geheime Zahl
k
fest und überträgt
QkG
, wobei
Q
ein Punkt der Kur-
A
A
A
A
ve ist.
B legt eine geheime Zahl
k
fest und überträgt
QkG
B
B
B
A berechnet den Punkt
RkQ
AB
B berechnet
RkQ
. Beide Parteien finden den selben Punkt, was sich durch Einsetzen
BA
von
Q
und
Q
ergibt.
RkQ kQ kkG
B
A
AB
BA
AB
Angreifer können wegen dem ECDLP aus
k und k nicht berech-
nen, können also R nicht bestimmen. Man erkennt leicht, wie ähnlich die beiden Varianten des
Diffie-Hellman-Algorithmus sind. Für die weitere Kommunikation zwischen A und B kann
z.B. die x-Koordinate von R als symmetrischer Schlüssel für einen anderen Verschlüsselungs-
algorithmus verwendet werden.
Q
und
Q
die Zahlen
A
B
A
4.5.7.3 EC-DSA: Digital Signature Algorithm mit elliptischen Kurven
In Kapitel 4.4 wurden die ElGamal Verfahren besprochen. Eine Variante der digitalen Signatur
nach ElGamal (DSA) kann mit elliptischen Kurven verwendet werden. Da das Verfahren in
Kapitel 4.4 schon ausführlich besprochen wurde, wird hier nur eine Liste der notwendigen
Schritte für Signatur und Verifikation angegeben, damit man vergleichen und den relativ klei-
nen Unterschied bei der Verwendung von elliptischen Kurven nachvollziehen kann.
Wir nehmen an, dass A eine signierte Nachricht an B übertragen möchte. Wie sonst auch,
muss zu Beginn eine gemeinsame elliptische Kurve vereinbart werden. Ein Punkt G der Kurve
wird als Basis festgelegt. A muss ein geeignetes Schlüsselpaar besitzen. Der private Schlüssel
d A ist eine geheime positive Ganzzahl aus [1, p-1], der öffentliche Schlüssel e A ist ein Punkt
der elliptischen Kurve und wird berechnet aus e A =d A G.
edG
(4.5-16)
AA
Signatur einer Nachricht
Um eine Nachricht zu signieren, geht man nun folgendermaßen vor:
Man wählt eine Zufallszahl r aus [1,p-1]. (Man arbeitet modulo p)
Der Nachrichtenbezeichner
gleich
Null ist, wird ein neues r ausgewählt. Mit „xKomp“ wird die x-Komponente des Punktes
(x 1 , y 1 )=(r·G) auf der elliptischen Kurve bezeichnet.
3:
wird aus
3
= xKomp(r·G) (mod p) berechnet. Falls
3
Es wird ein Hashwert h(m) aus der Nachricht m berechnet, die signiert werden soll. Dabei
wird eine vereinbarte Hashfunktion verwendet (z.B. SHA-1).
Das Signaturelement s wird aus s = r -1 (h(m)+
3
d A ) (mod p) berechnet. Falls s gleich Null
ist, wird wiederum ein neues r ausgewählt.
Die signierte Nachricht ist (m,
3
, s).
Search WWH ::




Custom Search