Hash
Die Hashfunktion reduziert eine Zeichenfolge beliebiger Länge (Eingabewert) auf eine Zeichenfolge mit fester Länge (Hashwert). Das reicht von einfachen Prüfsummen, wie bei der zweistelligen Prüfziffer nach der Länderkennung der IBAN, z.B. DE16, bis zu langen Zeichenketten. Der Hashwert wird oft im Hexadezimalzahl-System codiert, das aus 16 Ziffern besteht: 0, 1, 2, 3, 4, 5, 6 ,7 ,8, 9, A, B, C, D, E, F . Ein Hashwert wird durch mehrstufige Verfahren berechnet, durch die ohne einen bekannten Schlüssel nicht wieder zurück auf den Eingabewert geschlossen werden kann – jedoch ist jeder Hashwert eindeutig einem Eingabewert zuzuordnen. Man kann einen Hash also auch als Fingerabdruck bezeichnen. Wenn man zum Beispiel den Hash von derkontext.com mittels SHA-1-Algorithmus berechnet, wird daraus:
36b042edaf798d15329cf4e
5fb8116fce3a0d190
Verändert man nur ein Zeichen in der Zeichenkette, sieht der Hashwert völlig anders aus. Wenn man das “d” in derkontext.com groß schreibt, also Derkontext.com, erhält man folgenden Hash:
2854369c6d03a6cae55949
e3e745cb8d9378970a
Die Hashfunktion wird auch bei der Verschlüsselung von Passwörtern, zur Fälschungssicherung von Software und in Blockchains angewandt.
In der Blockchain werden die Datensätze per Hashs verkettet. Das geschieht, indem jeder Block seinen eigenen Hash und den des vorherigen enthält. Steht also in Block 3 eine Transaktion, hat das Einfluss auf alle nachfolgenden Hashs, und würden wir in Block 3 beispielsweise eine Null streichen oder hinzufügen, müssten wir alle darauffolgenden Hashs ändern – was sofort auffallen würde, wenn man nur den Hash des allerletzten Blocks betrachtet. Genau das ist es, was die Blockchain so sicher macht: Die Datenbank überprüft sich durch mathematische Verfahren selbst.