Was ist ein Hash? Alternative + Verwendung in Blockchain

Hash vestehen

Was ist ein Hash?

Diese Frage soll dieser Beitrag im Detail beantworten.

+ praktische Anwendungsgebiete (Blockchain) mit Alternativen

Starten wir!

Was ist ein Hash?

01 SHA Summe von Bilddateien - Was ist ein Hash Hacking Series Steffen Lippke
01 SHA Summe von Bilddateien

Ein Hash ist ein Algorithmus, der einen Bit-String beliebiger Länge auf eine bestimmte Länge komprimiert. Ein Bit-String kann eine Nachricht, ein Dokument oder eine Multimedia-Datei sein. Computer codieren Multimedia (MP4-Codierung) und Text (UTF-8-Codierung) in 0en und 1en – der Bit-String.

Ändert der Kriminelle nur einen Buchstaben, dann ändert sich der Hash deutlich (Lawinen-Effekt). Das Rückrechnen von einem Hash zu einer möglichen Ursprungsnachricht soll praktisch nicht möglich sein.

02 Kleine Änderung große Wirkung - Was ist ein Hash Hacking Series Steffen Lippke
02 Kleine Änderung große Wirkung

Wofür brauche ich jetzt den Hash?

  1. Ein Hash eignet sich, um zu überprüfen, ob ein Dritter ein Dokument bei der Speicherung oder Übertragung geändert hat. Sichere Mails werden immer mit Hashes versendet
  2. Hashes nutzen Authentifizierungsverfahren, um Passwörter zu überprüfen. Auf der Festplatte und in den Datenbanken sollten die Passwörter nur in Form von Passwort-Hashes (mit einem Salt) gespeichert sein. Der Nutzer gibt sein Passwort in die Anmelde-Maske ein, in der die Software das Passwort zu einem Hash umwandelt.
    Rein theoretisch gibt es unendlich viele Passwörter, die den gleichen Hash haben. Praktisch ist ein solcher Angriff sehr unwahrscheinlich, wenn nicht der Hash sich bereits in einer Rainbow-Tabelle befindet. Eine Rainbow-Tabelle zeigt auf der einen Seite die Eingabe (Text) und auf der anderen Seite den Hash. Wir können jetzt den Ursprungstext auf Basis des Hashes ablesen.
  3. Krypto-Währungen brauchen einen Hash-Algorithmus, um die Verkettung der Blockchain zu erzeugen. Lese weiter unter „Warum braucht die Blockchain Hashes“.

Welche Hashs sind sicher?

Die Sicherheit eines Hashs hängt von der Länge des Bit-Strings ab.

Steffen Lippke

Je länger, desto schwerer hat es der Hacker eine Datei so zu manipulieren, sodass der gleiche Hash entsteht. Die Cryptografen unterscheiden 3 Arten von Angriffen bzw. Angriffsversuchen:

  • Kollision: Der Kriminelle versucht zwei Dateien herzustellen, die den gleichen Hash haben. Der Angreifer kann beide Dateien auswählen.
  • Urbild: Der Kriminelle erhält einen Hash. Jetzt versucht der Kriminelle eine Datei zu finden, welchen den gleichen Hash hat.
  • Zweites Urbild: Der Kriminelle erhält eine Datei. Er versucht eine Datei zu erzeugen, die den gleichen Hash hat.

Sicher sind viele Hash-Funktionen, die mindestens eine 256-Bit Ausgabe haben (Stand März 2026). Ein weiteres Ausschlusskriterium für einen untauglichen Hash-Algorithmus ist, dass dieser nicht reproduzierbare Hashs erzeugt z. B. mit einer Zufallskomponente.

Sicher Hashes

00 Linux Shasum
00 Linux Shasum

SHA-3-Familie (Keccak)

Das National Insititut of Standards and Technologies (NIST) hat in 2015 den Kekkak Algorithmus zu den nächsten sicheren Hash-Algorithmus erklärt (SHA-3). Dieser arbeitet besonders Hardware-effizient und ermöglicht mit der Schwamm-Technik unterschiedlich lange Hash-Ausgaben.

Unsichere Hashs

  • MD5 / SHA-1 / CRC: Diese gelten als veraltet wegen der zu geringen Länge.
  • SHA-2: Dieser Algorithmus gilt offiziell noch als sicher. Aber der SHA-3 ist auf den Markt und Hardware-effizienter.

Viele Informatiker nutzen nicht nur einen Hash für eine Datei, sondern Hashen die Datei mit verschiedenen Algorithmen, um eine noch höhere Sicherheit zu gewährleisten.

Wie funktioniert ein Hash?

Im Wesentlichen gibt es zwei Grund-Algorithmen: Merkle Damagrad oder Sponge. Die Implementierungen in der Realität basieren auf diesen Grund-Konzepten.

Der ultra-starke Kompressor: Merkle-Damgard

  1. Der Algorithmus teilt die Datei in gleich Lange Blöcke und misst die Größe der Gesamtdatei.
  2. Die Größe in Bytes wird im letzten angefügten Block gespeichert.
  3. Dann folgt ein XOR mit einem Initialisierungsvektor (ein frei ausgedachter Bitstring von 0en und 1en) mit dem ersten Block. Im zweiten Schritt durchläuft der Block eine Funktion, die die Bitreihenfolge mischt und transformiert. Das Ergebnis dient als Initialisierungsvektor für den nächsten Block.
  4. Dieser Vorgang wiederholt der Algorithmus, bis keine Blöcke mehr zu bearbeiten sind.

Der unendliche Schwamm: Sponge

Der Schwamm-Algorithmus „saugt“ in der ersten Phase blockweise die Datei auf und gibt am Ende in der „Drück-Phase“ einen Bit-String aus, der für diese Datei darstellt. Der Algorithmus mischt und transformiert die Bits auf dem Vektor bei jedem Saug-Schritt.

Je länger dieser Vektor ist, desto sicherer ist das Verfahren. Jeder Drück-Schritt generiert neue Bits, die der Algorithmus an den Ergebnis-Hash anfügt.

Dieses Design ermöglicht es, beliebig lange Hashes zu erzeugen.

Anwendung: Warum braucht die Blockchain Hashes?

03 Blockchain
03 Blockchain

Blockchains sind eine dezentrale Datenbank, welche die Integrität der Inhalte sicherstellen. Dezentral bedeutet, dass keine einzelne Person eine Hoheit über den Speicher verfügt, sondern jeder eine lokale Kopie speichern kann. Eine Blockchain besteht aus Datentöpfen (den Blöcken), die Transaktionen oder andere Dokumente speichern.

Ein Hash-Algorithmus berechnet von jedem Block der Blockchain einen Hash.

Steffen Lippke

Der berechnete Hash von Block X ist im Folgeblock X+1 gespeichert. Ändert jemand einen Block, dann ändert sich auch der Hash des Blocks. Jeder Teilenehmer kann die Blöcke seiner Blockchain mit den Blöcken der kriminellen Person vergleichen und bemerkt die Änderung anhand der Hashes sofort.

Hier sind die gängigsten Befehle, um Hashes (Prüfsummen) für Dateien und Texte unter Linux und Windows zu erstellen.


Wie erzeuge ich Hashes?

Linux

Linux-Systeme nutzen meist die coreutils, die für jeden Algorithmus ein eigenes Tool bereitstellen.

1. Datei-Hash erzeugen

Verwenden Sie den Namen des Algorithmus gefolgt von sum.

  • SHA-256: sha256sum datei.txt
  • MD5: md5sum datei.txt
  • SHA-1: sha1sum datei.txt

2. Text-Hash erzeugen

Nutzen Sie echo mit dem Parameter -n (um den Zeilenumbruch zu verhindern) und leiten Sie ihn per Pipe weiter.

  • Beispiel: echo -n "meintext" | sha256sum

Windows (PowerShell)

Unter Windows ist die PowerShell das Standardwerkzeug. Das Cmdlet Get-FileHash ist hierbei am wichtigsten.

1. Datei-Hash erzeugen

Standardmäßig wird SHA-256 verwendet.

  • SHA-256: Get-FileHash .\datei.txt
  • Anderer Algorithmus (z.B. MD5): Get-FileHash .\datei.txt -Algorithm MD5

2. Text-Hash erzeugen

Dies ist in der PowerShell etwas komplexer, da der Text zuerst in ein Byte-Array umgewandelt werden muss.

  • Beispiel:
$string = [System.Text.Encoding]::UTF8.GetBytes("meintext") Get-FileHash -InputStream ([System.IO.MemoryStream]::new($string)) -Algorithm SHA256

Vergleich der Algorithmen

AlgorithmusSicherheitVerwendung
MD5NiedrigSchnelle Integritätsprüfung (Veraltet für Sicherheit)
SHA-1Mittel/NiedrigLegacy-Systeme (Nicht mehr empfohlen)
SHA-256HochAktueller Standard für Downloads und Passwörter
SHA-512Sehr HochHohe Sicherheit

Alternativen zum Hash

Die Informatik bietet andere (schwächere) Alternativen zum Hash an:

#1 Quersumme

Die Quersumme von einer Million ist 1, aber auch von 10 und 100. Eine Quersumme bietet Dir eine schnelle Überprüfung von den Inhalten an. Diese ist sehr einfach fälschbar. Quersummen und ähnliche simple mathematische Algorithmen werden oft als Prüfnummer auf Kreditkarten, Inventarnummern oder Produktnummern eingesetzt, um Tippfehler sofort zu erkennen.

#2 Prüfsumme

Eine CRC-Prüfsumme ist effizient zu berechnen, aber wegen der geringen Länge kann jeder Kriminelle schnell eine Datei erzeugen, die den gewünschten CRC generiert. TCP nutzt CRC-Summen, um Pakete auf die Vollständigkeit zu prüfen. Falls ein Paket beschädigt ist, fragt der Client das Paket nochmals vom Server an.

#3 Error Correcting Codes (ECE)

04 Guter RAM sollte ECE können - Was ist ein Hash Hacking Series Steffen Lippke
04 Guter RAM sollte ECE können

Das Gleiche gilt für ECE-Codes. Diese können Fehler korrigieren, aber diese Codes sind für einen Kriminellen eine nicht nennenswerte Hürde. ECE setzen Computer ein, um Fehler im Bitstring bei der gestörten Übertragung oder z.B. in einem RAM-Riegel zu korrigieren.

#4 Nadeldrucker / Ausdrucke

Alte Bankautomaten und bei manchen Servern findet man noch Nadeldrucker. Diese stanzen bzw. drucken Log-Nachrichten in Papier.

Festplatten haben den großen Nachteil, dass jeder beliebige IO-Prozess dieselben Bits überschreiben kann. Wenn eine Bitstelle auf der Festplatte 2-5x überschrieben ist, kann kaum eine Software erkennen, was vor dem Überschreiben auf der Festplatte stand. Die Log-Dateien soll das Leben den Hackern schwer machen. Forensiker können aus den Logs die Spuren der Hacker ablesen und Hinweise auf ihren Ursprung finden (Lokardsche Austauschprinzip).

Wenn ein Papier einmal gedruckt ist, dann ist die Fälschung durch einen Kriminellen von Remote nahezu unmöglich. Das Papier reißt ab, wenn der Drucker das Papier einziehen und überschreiben sollte.

Die Kriminellen könnten versuchen z.B. den Server durch eine Malware in Brand zu setzen, um die Ausdrucke zu vernichten. Sollten die Hacker so weit gehen, sollte eine Edelgas-Löschung im Rechenzentrum das schlimmste verhindern.

#5 Notar mit Grundbuch

Die Besitztümer der Deutschen sind in Grundbüchern eingetragen. Der Vorteil am Grundbuch ist, dass nur eine begrenzte Personenzahl Zugriff hat. Zweitens ist die Dokumentensammlung in einem Archiv gut geschützt (Brand, Wetter, Katastrophen, Einbruch). Ein Notar kann die Integrität eines Dokumentes sicherstellen, wenn die physischen Sicherungen bestehen bleiben.

Dieser Beitrag ist zitierfähig. Adaptiere das Beispiel nach dem Harvard Stil: Lippke, Steffen (2026): ‚Programmieren lernen – Tutorial für Einsteiger‘, Security and Coding Explosive Tutorials [online], 01. Januar 2026. Verfügbar unter: https://lippke.li/programmieren-lernen/, ISSN: 3054-3436

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert