Cryptography Reference
In-Depth Information
14.6
Weitere Anwendungen kryptografischer Hashfunktionen
Bisher haben wir nur zwei Anwendungen kryptografischer Hashfunktionen
betrachtet: Zum einen ging es um Hashwerte für digitale Signaturen, zum ande-
ren um schlüsselabhängige Hashwerte. Es gibt allerdings noch einige weitere
Anwendungsgebiete, die wir uns nun anschauen wollen.
14.6.1
Hashbäume
Wenn Alice eine Nachricht hasht und den Hashwert anschließend signiert, dann
benötigt Bob stets die gesamte Nachricht, um die Echtheit der Signatur überprü-
fen zu können. Dies kann durchaus ein Nachteil sein. Wenn Alice etwa eine ganze
Datenbank signiert, Bob aber nur an einem einzelnen Eintrag daraus interessiert
ist, entsteht unnötige Verifikationsarbeit. Es gibt jedoch eine recht einfache
Methode, um diesen Mangel zu beheben. Um diese zu erklären, nehmen wir an,
dass Alice eine Liste L 0 , L 1 , ..., L n-1 signieren soll und Bob einzelne Einträge
davon verifizieren will. Die Methode funktioniert nun wie folgt (siehe auch
Abbildung 14-13):
L 0
Hash a 0
Hash b 0
L 1
Hash a 1
c 0
L 2
Hash a 2
Hash b 1
L 3
Hash a 3
d 0
L 4
Hash a 4
Hash b 2
L 5
Hash a 5
c 1
L 6
Hash a 6
h
Hash b 3
L 7
Hash a 7
L 8
Hash a 8
Hash b 4
L 9
Hash a 9
c 2
d 1
L 10
Hash b 5
Hash a 10
Abb. 14-13
Durch den Einsatz von Hashbäumen benötigt man nicht den gesamten signierten Text,
um eine digitale Signatur zu verifizieren.
Alice berechnet zu jedem Listeneintrag einen Hashwert. Die n Hashwerte
nennen wir a 0 , a 1 , ..., a n-1 .
Alice wendet auf a 0 und a 1 erneut eine Hashfunktion an und erhält dadurch
den Hashwert b 0 . Auf gleiche Weise erhält sie aus a 2 und a 3 den Hashwert b 1
usw. Bleibt am Ende a n-1 übrig (dies passiert, wenn n ungerade ist), dann gilt
b (n-2)/2 = a n-1 .
Search WWH ::




Custom Search