Lamport-Diffie-Einmal-Signaturverfahren

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen: Geschichte, Entstehung, Sicherheit

Du kannst Wikipedia helfen, indem du sie recherchierst und einfügst, aber kopiere bitte keine fremden Texte in diesen Artikel.

Das Lamport-Diffie-Einmal-Signaturverfahren (englisch Lamport-Diffie One-Time Signature Scheme, kurz LD-OTS) ist ein Signaturverfahren, das 1979 von Leslie Lamport und Whitfield Diffie entwickelt wurde. Es verwendet eine Einwegfunktion H,, welche eine kollisionresistente Hashfunktion darstellt.

H : \begin{Bmatrix}0,1\end{Bmatrix}^k \rightarrow \begin{Bmatrix}0,1\end{Bmatrix}^k, k \in \mathbb{N}

LD-OTS verwendet zwei Schlüssel, einen Signaturschlüssel x, und einen Verifikationsschlüssel y,. Um später ein Dokument mit y, zu verifizieren, muss außerdem die verwendete Einwegfunktion H, bekannt sein.

Schlüsselerzeugung[Bearbeiten]

Der Signaturschlüssel zur Signatur eines Dokuments mit k Bit ist ein String

x = \Bigl(x(0,1), x(1,1), x(0,2), x(1,2), \ldots, x(0,n), x(1,n)\Bigr) \in (\begin{Bmatrix}0,1\end{Bmatrix}^{k})^{2n}, n \in \N

Der entsprechende Verifikationsschlüssel ist der String


\begin{align}
y & = \Bigl(y(0,1), y(1,1), y(0,2), y(1,2), \ldots, y(0,n), y(1,n)\Bigr) \\
  & = \Bigl(H(x(0,1)), H(x(1,1)), H(x(0,2)), H(x(1,2)), \ldots, H(x(0,n)), H(x(1,n))\Bigr)
\end{align}

Erzeugung der Signatur[Bearbeiten]

Die Signatur eines Dokuments d = (d_\text{1}, \ldots, d_\text{n}) \in \begin{Bmatrix}0,1\end{Bmatrix}^n ist

s = (s_{1}, \ldots,s_{n}) = \Bigl(x(d_{1},1), \ldots, x(d_{n},n)\Bigr)

Bei längeren zu signierenden Dokumenten oder wenn die Länge des Dokuments bei der Schlüsselerzeugung noch nicht bekannt ist, empfiehlt es sich erst eine kollisionsresistente Hashfunktion auf das Dokument anzuwenden und den resultierenden Hashwert zu signieren.

Verifikation[Bearbeiten]

Der Verifizierer kennt die Einwegfunktion H,, den Verifikationsschlüssel y,, das Dokument d = (d_{1}, \ldots, d_{n}) und die Signatur s = (s_{1}, \ldots, s_{n}).

Wenn

\Bigl(H(s_{1}), \ldots, H(s_{n})\Bigr) = \Bigl(y(d_{1},1), \ldots, y(d_{n},n)\Bigr)

gilt, dann ist die Signatur korrekt.

Literatur[Bearbeiten]

  •  Johannes Buchmann: Einführung in die Kryptographie. 5. Auflage. Springer Verlag, 2010, ISBN 978-3-642-11185-3, S. 220 ff..
  • Leslie Lamport: Constructing digital signatures from a one-way function, Technical Report SRI-CSL-98, SRI International Computer Science Laboratory, Okt. 1979.

Weblinks[Bearbeiten]