Der Ausdruck „Hash-Funktion“ muss vor jeder Diskussion um Kryptowährungen erklärt werden, bevor wir vom Bitcoin überhaupt anfangen können. Auch wenn der Name anderes nahelegt, hat das nichts mit jamaikanischem Tabak zu tun. Ebenso wenig hat Salting mit Salz zu tun.

Tatsächlich bezeichnen diese Begriffe mathematische und computertechnische Funktionen.

Hash-Funktionen sind tatsächlich ein essentieller Bestandteil des „Krypto“-Teils in Kryptowährungen. Worum geht es dabei aber genau?

Grundprinzipien der Hash-Funktionen

Hash-Funktionen sind Sequenzen mathematischer, kryptographischer Vorgänge, deren Ergebnis ein Fingerabdruck bzw. eine Signatur ist. Diese werden allgemein verwendet, um eine Datenübertragung zwischen zwei Computersystemen zu sichern.

Hash-Funktionen machen es insbesondere möglich, bestimmte Eigenschaften einer Computerbotschaft wie ihre Herkunft oder ihren Kontext, zu bestätigen bzw. zwischen zwei ähnlichen Elementen unterscheiden zu können, ohne jedoch jemals den gesamten Inhalt zu enthüllen. 

Wie funktioniert das genau?

Vom rein mathematischen Standpunkt aus betrachtet hängt alles von der jeweiligen Hash-Funktion ab: davon gibt es dutzende, manche davon sicherer als andere. Alle bestehenden Funktionen basieren auf voneinander unterschiedlichen Vorgängen: Abzüge, Umwandlungen, Hinzufügen oder Streichen von Inhalten. Jede Funktion führt daher zu anderen Ergebnissen.

Hash-Funktionen haben wiederum die Besonderheit, dass sie für den Gebrauch durch Computer ausgelegt sind. Und im Gegensatz zu den vorgenannten Verschlüsselungssystemen geht es nicht darum, als Ergebnis der Funktion die ursprüngliche Botschaft zu finden. 

Hash-Funktionen sollen daher mehrere, bestimmte Kriterien erfüllen:

Endgültigkeit: das Ergebnis der Funktion muss unter allen Umständen unveränderlich sein. Egal, wann die Funktion angewandt wird, wer sie verwendet oder wie viele Male die Funktion verwendet wird, muss, wenn die Ausgangsbotschaft dieselbe ist, das Ergebnis auch dasselbe bleiben. 

Effizienz: die Hash-Funktion muss ein sofortiges Ergebnis erzielen können; andernfalls würde es die von ihr abhängigen Computersysteme über Gebühr verlangsamen.

Unangreifbarkeit: Es darf nicht möglich sein, die ursprüngliche Botschaft der Funktion wiederherzustellen, außer dadurch, dass man alle möglichen Ergebnisse eins nach dem anderen durchgeht. Der Vorteil davon ist, dass zwei extrem unterschiedliche Botschaften zwei einfach unterscheidbare Ergebnisse liefern müssen. 

Einzigartigkeit der Ergebnisse: es darf nicht möglich sein, zwei identische Ergebnisse mit zwei unterschiedlichen Botschaften zu erzielen. 

Natürlich entwickeln sich diese Kriterien im Laufe der Zeit weiter. Die ultimative Sicherheit von gestern stellt heute das Mittelmaß aller Sicherheitssysteme dar, und einige Datenverarbeitungsaufgaben, die einst kolossal schienen, sind für moderne Prozessoren ein Kinderspiel. 

Es gibt beispielsweise eine Technik, die die Hash-Funktionen etwas verlangsamt, nämlich die des Salting. Das Prinzip ist einfach: statt direkt den Fingerabdruck der Ursprungsnachricht zu errechnen, wird zufällig eine Reihe von Zeichen zusammengewürfelt und in den Text der Botschaft gemischt. Das Ergebnis dieses Vorgangs sieht dann ihren errechneten Fingerabdruck. Diese Technik ermöglicht es auch, ein Errechnen der Botschaft durch Angreifer durch Beobachtung des Fingerabdrucks zu verhindern. Im Gegensatz zum Kochen kann man hier sagen, dass man in Sachen Kryptowährungen mit dem „Salz“ nicht sparen sollte.

Dem Humor der Kryptographen haben wir es zu verdanken, dass es eine weitere, ähnliche Methode gibt, deren zugehöriger Code als „Pfeffer“ bezeichnet wird. Letzter besteht in einer Reihe geheimer, nicht zufälliger Zeichen, wie eine Art zusätzliches Passwort, das dem Ende der Botschaft hinzugefügt wird, bevor ihr Fingerabdruck berechnet wird. Das Prinzip bleibt aber das gleiche: es handelt sich um einen zusätzlichen Schritt in der Hash-Funktion, durch die letztere an Komplexität gewinnt und den Computer verlangsamt, der sie ausführt.

Zum Glück haben wir es der Leistungskraft moderner Computer auch zu verdanken, dass diese beiden Funktionen geradezu lachhaft niedrige Auswirkungen auf die verwendenden Hash-Funktionen haben. Diese Vorgänge waren 1980 noch sehr zeitraubend, stellen aber heutzutage nur noch ein so geringes Hindernis dar, dass sie die Sicherheit der Funktion erhöhen. 

Und diese beiden Methoden sind nicht die einzigen: Dank news spy können Kryptographen ihre Sicherheit weiter erhöhen. 

Vergessen Sie zu guter Letzt nicht, dass die obengenannten Kriterien nicht alle gleichermaßen für Hash-Funktionen gelten, je nachdem, welches Ziel verfolgt wird. Die meisten Hash-Funktionen müssen sofort ein Ergebnis erzielen, aber in machen Kontexten ist eine Verzögerung von zehn Sekunden annehmbar, sofern sie die Sicherheit erhöht. 

874