Kryptographie ist die Wissenschaft davon, Informationen so zu schützen, dass nur die vorgesehenen Parteien sie lesen, prüfen oder ihrer Herkunft trauen können. Sie steckt hinter fast allem, was online passiert, vom Login beim Online-Banking bis zur Kontrolle, ob eine heruntergeladene Datei unverändert ist. Dieser Leitfaden erklärt die Kernideen und rückt dabei Hashing und Hashfunktionen in den Mittelpunkt, denn genau dort hat unsere eigene Forschung Spuren hinterlassen: 2017 erzeugten wir die erste praktische SHA-1-Kollision und bewiesen damit, dass eine weit verbreitete Hashfunktion nicht nur theoretisch, sondern real gebrochen war.
Was Kryptographie tatsächlich leistet
Im Kern löst Kryptographie eine kleine Gruppe verwandter Probleme. Sie hält Daten vertraulich, damit Außenstehende sie nicht lesen können. Sie schützt die Integrität, sodass sich erkennen lässt, ob Daten verändert wurden. Sie ermöglicht Authentifizierung, damit klar ist, mit wem man wirklich kommuniziert. Und sie unterstützt Nichtabstreitbarkeit, was bedeutet, dass jemand später nicht leugnen kann, etwas signiert oder gesendet zu haben.
Lange Zeit drehte sich das Fach nur um den ersten Punkt, die Geheimhaltung. Klassische Verfahren von der Caesar-Verschiebung bis zur Enigma-Maschine versuchten allein, eine Nachricht für Unbefugte unlesbar zu machen. Die moderne Kryptographie ab den 1970er-Jahren erweiterte den Anspruch: Sie behandelt Integrität und Authentizität als gleichrangige Ziele und ruht auf öffentlich geprüften, mathematisch begründeten Verfahren statt auf der Geheimhaltung des Algorithmus selbst. Dieses Prinzip, die Sicherheit allein im Schlüssel und nicht im Verfahren zu verankern, gilt bis heute als Fundament.
Zwei Werkzeugfamilien erledigen den Großteil dieser Arbeit: Hashfunktionen und Verschlüsselung. Beide werden oft verwechselt, daher lohnt es sich, den Unterschied früh festzuhalten.
Hashing vs. Verschlüsselung: der entscheidende Unterschied
Verschlüsselung ist umkehrbar. Man verschlüsselt Daten mit einem Schlüssel, und wer den passenden Schlüssel besitzt, macht sie wieder lesbar. Der ganze Sinn besteht darin, dass sich die Nachricht zurückgewinnen lässt.
Hashing ist dagegen ein Einwegverfahren. Eine Hashfunktion nimmt eine Eingabe beliebiger Größe und erzeugt daraus einen Fingerabdruck fester Länge. Es gibt keinen Schlüssel, und es gibt kein “Ent-Hashen”, um das Original zurückzuholen. Hashing nutzt man, wenn man etwas verifizieren will, ohne die Sache selbst zu speichern oder zu übertragen.
Eine einfache Merkhilfe: Verschlüsselung bewahrt ein Geheimnis, das man später wieder aufdecken möchte. Hashing erzeugt einen Fingerabdruck, den man nie umkehren will.
Was eine Hashfunktion macht
Eine kryptographische Hashfunktion nimmt beliebige Daten und gibt eine kurze Bytefolge fester Größe zurück, meist als Hexadezimalwert dargestellt. Gute Verfahren teilen mehrere Eigenschaften.
Deterministisch und feste Länge
Dieselbe Eingabe liefert immer dieselbe Ausgabe, jedes Mal, auf jedem Rechner. Und egal, ob man ein einzelnes Byte oder eine komplette Filmdatei einspeist, der Hashwert hat stets dieselbe Länge. SHA-256 etwa gibt immer 256 Bit zurück, also 64 Hexzeichen.
Einweg (Urbildresistenz)
Aus einem gegebenen Hashwert sollte es praktisch unmöglich sein, eine Eingabe zu finden, die ihn erzeugt. Vorwärts geht es leicht, rückwärts nicht. Aus diesem Grund speichern Passwortsysteme Hashwerte statt der Passwörter selbst.
Der Lawineneffekt
Ändert man ein einziges Bit der Eingabe, kippt rund die Hälfte der Ausgabebits. Der neue Hashwert wirkt völlig unverwandt mit dem alten. Diese Eigenschaft sorgt dafür, dass ein Hash keine Hinweise darauf preisgibt, wie ähnlich sich zwei Eingaben waren.
Kollisionsresistenz
Eine Kollision sind zwei verschiedene Eingaben, die denselben Hashwert ergeben. Da Ausgaben eine feste Größe haben und Eingaben unbegrenzt sind, müssen Kollisionen mathematisch existieren. Das Sicherheitsversprechen lautet nur, dass niemand innerhalb praktisch vertretbarer Rechenzeit eine solche finden kann. Bricht dieses Versprechen, gilt die Funktion als gebrochen, und genau das geschah mit SHA-1.
So entsteht ein Hashwert grob
Die meisten klassischen Hashfunktionen arbeiten nicht in einem Rutsch, sondern blockweise. Die Eingabe wird zunächst auf ein Vielfaches der Blockgröße aufgefüllt, dann verarbeitet die Funktion einen Block nach dem anderen und mischt jeden in einen internen Zustand fester Größe ein. Nach dem letzten Block bildet dieser Zustand den fertigen Hashwert. MD5, SHA-1 und SHA-2 folgen dabei der Merkle-Damgard-Konstruktion, während SHA-3 mit der Schwammkonstruktion einen anderen Weg geht. Die Details unterscheiden sich, doch das Muster aus Auffüllen, blockweisem Durchmischen und finaler Ausgabe bleibt überall ähnlich.
Die SHA-Familie und MD5
Die meisten Hashfunktionen, denen man in der Praxis begegnet, gehören zu einer Handvoll bekannter Entwürfe.
MD5 erzeugt einen 128-Bit-Hashwert und war einst überall im Einsatz. Heute gilt es als gründlich gebrochen: Kollisionen lassen sich in Sekunden auf einem Laptop erzeugen. Als reine Prüfsumme ohne Sicherheitsanspruch taucht es noch auf, doch es darf nie dort verwendet werden, wo ein Angreifer vom Fälschen einer Übereinstimmung profitieren könnte.
SHA-1 liefert einen 160-Bit-Hashwert und war jahrelang das Arbeitspferd des Webs. Unsere SHAttered-Forschung demonstrierte die erste reale Kollision anhand zweier unterschiedlicher PDF-Dateien, die zum selben SHA-1-Wert führten. Der Angriff war kein Spaziergang: Er erforderte in der Größenordnung von 2 hoch 63 SHA-1-Berechnungen und damit ein gewaltiges Rechenaufgebot, lag aber weit unter dem theoretischen Aufwand eines reinen Durchprobierens und bewies so die praktische Machbarkeit. Dieser Nachweis bewegte die Branche dazu, SHA-1 für Zertifikate, Signaturen und Vertrauensanker in Versionskontrollsystemen auszumustern.
SHA-256 gehört zur SHA-2-Familie und ist der aktuelle Standard für die meisten Anwendungen. Mit 256 Bit Ausgabe und ohne bekannte praktische Angriffe trägt es TLS-Zertifikate, Bitcoin und das Signieren von Software. Unser eigener SHA-256-Erklärartikel beleuchtet den Aufbau und warum sich das Verfahren bislang hält.
SHA-3 ist ein neuerer Standard, der auf einem völlig anderen internen Aufbau beruht, der sogenannten Keccak-Schwammkonstruktion, statt auf der Merkle-Damgard-Struktur von MD5, SHA-1 und SHA-2. Es wurde als Reserve standardisiert, damit eine künftige Schwäche in SHA-2 nicht alle ohne Alternative dastehen lässt.
| Hashfunktion | Ausgabelänge | Status |
|---|---|---|
| MD5 | 128 Bit | Gebrochen, meiden |
| SHA-1 | 160 Bit | Gebrochen (Kollision gefunden), ausgemustert |
| SHA-256 (SHA-2) | 256 Bit | Sicher, empfohlen |
| SHA-3 | 224 bis 512 Bit | Sicher, alternativer Aufbau |
Verschlüsselung: symmetrisch vs. asymmetrisch
Verschlüsselung teilt sich in zwei Ansätze, die unterschiedliche Teile des Problems lösen, und echte Systeme kombinieren sie meist.
Symmetrische Verschlüsselung (AES)
Bei symmetrischer Verschlüsselung sperrt und entsperrt derselbe geheime Schlüssel die Daten. Das Verfahren ist schnell und eignet sich für große Datenmengen, weshalb es in den meisten sicheren Verbindungen die eigentliche Nutzlast übernimmt. Der Standard hier heißt AES (Advanced Encryption Standard), verfügbar in den Schlüssellängen 128, 192 und 256 Bit und vertraut für alles von der Festplattenverschlüsselung bis zu Staatsgeheimnissen. Der Haken liegt in der Schlüsselverteilung: Beide Seiten müssen den geheimen Schlüssel bereits teilen, und ihn sicher zu ihnen zu bringen, ist ein eigenes Problem.
Asymmetrische Verschlüsselung (RSA)
Asymmetrische Kryptographie, auch Public-Key-Verfahren genannt, löst das Verteilungsproblem mit einem Paar mathematisch verknüpfter Schlüssel. Ein öffentlicher Schlüssel, den man frei weitergeben darf, verschlüsselt Daten, die nur der passende private Schlüssel entschlüsseln kann. RSA ist das klassische Beispiel, dessen Sicherheit auf der Schwierigkeit beruht, sehr große Zahlen zu faktorisieren. Neben RSA haben sich Verfahren auf Basis elliptischer Kurven verbreitet, die bei kürzeren Schlüsseln ein vergleichbares Sicherheitsniveau bieten. Public-Key-Methoden sind langsamer, daher dienen sie in der Praxis dazu, einen symmetrischen Schlüssel auszutauschen oder Daten zu signieren, wonach die schnelle symmetrische Verschlüsselung übernimmt.
Diese Kombination heißt hybride Verschlüsselung und ist der Normalfall: Das langsame asymmetrische Verfahren transportiert nur den kurzen Sitzungsschlüssel, das schnelle symmetrische Verfahren verschlüsselt anschließend die eigentlichen Daten. So vereint man die einfache Schlüsselverteilung des einen Ansatzes mit dem Tempo des anderen.
Digitale Signaturen
Signaturen verbinden Hashing und Public-Key-Kryptographie, um Urheberschaft und Integrität zugleich nachzuweisen. Zum Signieren bildet man den Hash der Nachricht und verschlüsselt diesen Hash mit dem eigenen privaten Schlüssel. Wer den passenden öffentlichen Schlüssel hat, entschlüsselt die Signatur zurück zum Hash, hasht die Nachricht selbst und vergleicht. Stimmen beide überein, stammt die Nachricht wirklich vom Absender und wurde nicht verändert.
Genau deshalb ist eine gebrochene Hashfunktion für Signaturen gefährlich. Kann ein Angreifer zwei Dokumente mit demselben Hash erzeugen, ist eine Signatur unter dem harmlosen zugleich eine gültige Signatur unter dem schädlichen. Dieses Angriffsszenario machte die SHA-1-Kollision zu mehr als einer akademischen Kuriosität. Der Erklärartikel zu digitalen Signaturen führt durch den vollständigen Mechanismus und seine Schwachstellen.
Wo das im Alltag auftaucht
Diese Konzepte sind nicht abstrakt. Sie laufen leise unter der Oberfläche gewöhnlicher Computernutzung.
- TLS / HTTPS: Das Schloss-Symbol im Browser stützt sich auf asymmetrische Kryptographie, um den Server zu authentifizieren und einen symmetrischen Schlüssel auszuhandeln, dann auf AES, um die Sitzung zu verschlüsseln, während Hashes unterwegs die Integrität prüfen.
- Passwörter: Vernünftige Dienste speichern niemals das Passwort selbst. Sie speichern einen gesalzenen Hash, sodass ein Datenbankleck Angreifern nicht die echten Zugangsdaten in die Hand gibt.
- Bitcoin und Blockchains: SHA-256 verkettet Blöcke miteinander und sichert das Mining ab, während digitale Signaturen jede Transaktion autorisieren.
- Software-Integrität: Download-Seiten veröffentlichen Hashes (und Signaturen), damit sich bestätigen lässt, dass ein Installer nicht ausgetauscht oder unterwegs beschädigt wurde.
Jeder dieser Punkte bekommt im weiteren Cluster eine eigene, tiefere Behandlung, doch alle stützen sich auf dieselben Bausteine, die oben beschrieben sind.
Häufige Fragen
Ist Hashing eine Art Verschlüsselung?
Nein. Verschlüsselung ist mit einem Schlüssel umkehrbar, während Hashing ein Einweg-Fingerabdruck ohne Rückweg ist. Beide werden oft zusammen eingesetzt, sind aber unterschiedliche Werkzeuge für unterschiedliche Aufgaben.
Warum gilt SHA-1 als gebrochen, wenn es weiterhin einen Hash erzeugt?
Es erzeugt zwar noch eine Ausgabe, doch Forscher (darunter unser Team) fanden einen Weg, zwei verschiedene Eingaben mit demselben SHA-1-Wert zu erzeugen. Sobald Kollisionen praktisch machbar sind, kann man der Funktion für Signaturen oder Zertifikate nicht mehr trauen, auch wenn sie technisch noch läuft.
Sollte ich MD5 für irgendetwas verwenden?
Nur als einfache Prüfsumme ohne Sicherheitsanspruch, um zufällige Beschädigungen zu erkennen. Niemals dort, wo ein Angreifer vom Fälschen einer passenden Hash-Übereinstimmung profitieren könnte, da sich MD5-Kollisionen heute mühelos erzeugen lassen.
Welche Hashfunktion sollte ich stattdessen nutzen?
SHA-256 ist die sichere Standardwahl für die meisten Zwecke. SHA-3 ist eine solide Alternative auf anderem Aufbau, und speziell zur Passwortspeicherung will man eine eigens dafür gebaute, absichtlich langsame Funktion wie bcrypt, scrypt oder Argon2 statt eines rohen, schnellen Hashes.




