Wenn vor einigen Jahren ein Entführer beweisen wollte, dass das Entführungsopfer noch am Leben ist, dann war es üblich ein Foto zu schicken, auf dem der Entführte eine Tageszeitung in die Linse hält. So war klar, dass die Person mindestens zu dem Tag, an dem die Zeitung erschienen ist, noch Puls hatte. Heute braucht es kein Foto, heute liest man einfach den Hashwert einer Bitcoin Transaktion vor, also den „Prüfstempel“ einer virtuellen Überweisung von virtuellem Geld.
Der Wikileaks Gründer Julian Assange, der seit einigen Jahren in der Ecuadorianischen Botschaft in London „Urlaub“ macht, tat das kürzlich, als Gerüchte besagten, er sei tot. Da der Hashwert einer Bitcoin-Transaktion eindeutig einem Zeitpunkt zugeordnet werden kann und nicht manipulierbar ist, ist das genau so sicher, wie ein Foto mit einer Zeitung. Assange lebt also noch.
Eine Hashfunktion, ist eine nicht-geheime, mathematische Funktion, die irgendeinen Wert – z.B. ein Datum, einen Betrag, einen Namen oder eine Zahl – in eine Art Prüfsumme umrechnet. Einfach gesagt, steckt man vorne einen Wert rein, und hinten kommt etwas anderes heraus. Wenn man beides veröffentlicht, kann jeder prüfen, ob der Text, die Zahl oder das veröffentlichte Datum manipuliert wurde. Das geht deshalb, weil jeder den zu überprüfenden Wert vorne in die Funktion reinstecken kann und dann sieht, ob hinten auch das rauskommt, was dazu als Hashwert veröffentlicht wurde.
Die Quersumme einer Zahl könnte so eine Hash-Funktion sein. Vorne steckt man zum Beispiel 321 rein und hinten kommt der Quersummen-Hashwert 6 raus (weil 3+2+1=6). An Hashfunktionen werden allerdings noch ein paar weitere Anforderungen gestellt. Das Beispiel mit der Quersumme ist deshalb schlecht, weil nur Ziffern vorkommen und mehrere Eingabewerte (24, 42, 1122, 231, etc) den gleichen Ausgabewert 6 erzeugen würden, was man als Hash-Kollision bezeichnet, und was gute Hash-Algorithmen vermeiden. Weiterhin ist ein Hashwert immer gleich lang, egal wie lang sein Eingabewert war und er sieht auch völlig anders aus, wenn sich beim Eingabewert auch nur eine Winzigkeit ändert. Ein Hash von „Hallo“ lautet zum Beispiel „d1bf93299de1b68e6d382c893bf1215f“, von „Hello“ hingegen „8b1a9953c4611296a827abf8c47804d7“.
Und letztlich muss es von Zeit und Aufwand her unmöglich sein, den Eingabewert 321 anhand des Ausgabewertes 6 zu errechnen. Bei guten Hash-Algorithmen dauert es mehrere Milliarden Jahre, bis Ihr PC den errechnet hat. Da brauchen Sie dann auch kein Foto mit Tageszeitung vorbereiten, da sind Sie garantiert nicht mehr am Leben.
Bildnachweis: CC BY-SA 2.0 Lizenz
gefunden auf Wikipedia, unter der