Tiger-Tree Hash

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Tiger-Tree-Hashes (TTH; auch Tiger Trees) sind Hash-Funktionen, die es ermöglichen, aus großen Dateien mit hoher Wahrscheinlichkeit eindeutige Hash-Werte zu ermitteln. Eine wesentliche Besonderheit ist es, dass sich aus dem berechneten Hashwert weitere Hashwerte für kleinere Teile der Datei überprüfen lassen.

Die eigentliche in diesem Verfahren zur Anwendung kommende Hash-Funktion ist Tiger-Hash, die für kleine gleich große Teile der Datei jeweils berechnet wird. Die Liste dieser Hash-Werte wird wieder in Teile eingeteilt und von diesen Teilen der Hash berechnet. Wird dieser Vorgang entsprechend oft angewendet, erhält man einen Roothash, der als eindeutiger Identifier der Datei benutzt wird. Dieser Wert könnte z. B. in einem Verzeichnis der Downloads eines Open-Source-Projekts abgelegt werden. Der eigentliche Download kann dann über ein P2P-Netz erfolgen, egal in welcher Größe dabei die Teil-Downloads erfolgen. Sie können immer geprüft werden, wenn der Partner eine Liste der Hashes in der entsprechenden Größe liefert. Der eigene Client kann die Hash-Liste auf Basis des Roothashes überprüfen.

Anwendung finden Tiger-Tree-Hashes z. B. in den P2P-Clients Direct Connect und Shareaza.

Das allgemeine Verfahren zur Erstellung von gestuften Hashes wurde von Ralph Merkle erfunden.

In Textdarstellung werden die TTH-Werte üblicherweise als Base32-String angegeben, entweder direkt oder als URN z. B.

urn:tree:tiger:LWPNACQDBZRYXW3VHJVCJ64QBZNGHOHHHZWCLNQ

für die 0-Byte-Datei.