Ratgeber · Algorithmen & Encodings
SHA-256 oder SHA-512: was wann nehmen
SHA-256 und SHA-512 stammen aus derselben Familie und sind beide nach FIPS 180-4 zugelassen. Die Wahl hängt selten an Sicherheit, sondern an Output-Länge, CPU-Architektur und API-Verfügbarkeit.
Beide gehören zur SHA-2-Familie
SHA-256 und SHA-512 sind Geschwister. Beide stammen aus der SHA-2-Familie, die NIST im August 2002 mit FIPS 180-2 standardisiert hat und die seit FIPS 180-4 (März 2012) in der aktuellen Fassung gilt. Die Familie umfasst SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 und SHA-512/256. Drei davon werden in der Praxis dominant verwendet: SHA-256, SHA-384 und SHA-512.
Der Unterschied liegt nicht in einer “neueren” oder “älteren” Generation, sondern in der internen Wortgröße. SHA-256 arbeitet mit 32-Bit-Wörtern, hat 64 Runden, einen Block von 512 Bit und einen Output von 256 Bit. SHA-512 arbeitet mit 64-Bit-Wörtern, hat 80 Runden, einen Block von 1024 Bit und einen Output von 512 Bit. Die Konstanten in den Rundenfunktionen sind unterschiedlich, die Rotationen ebenfalls. Es sind also zwei verwandte, aber separate Algorithmen, nicht zwei Längen-Varianten desselben Algorithmus.
SHA-384 ist eine Sonderform: derselbe Algorithmus wie SHA-512, aber mit unterschiedlichem Initialwert und am Ende auf 384 Bit gekürzt. Diese Kürzung schützt SHA-384 vor Length-Extension-Angriffen, die SHA-256 und SHA-512 ohne HMAC-Wrapper offen lassen würden.
Performance: das entscheidende Argument
In der Praxis ist nicht die Sicherheit, sondern die Geschwindigkeit der Unterschied. Eine 64-Bit-CPU rechnet mit 64-Bit-Wörtern in einem einzigen Befehl. SHA-512 schiebt pro Runde mehr Daten durch, weil seine internen Operationen breitere Register nutzen. Auf x86-64 mit AVX2, ARM64 mit NEON oder Apple-Silicon liegt SHA-512 typisch 30 bis 50 Prozent vor SHA-256, gemessen mit openssl speed sha256 sha512 auf einem aktuellen Notebook.
Ein konkretes Benchmark-Beispiel auf einem Ryzen 9 7900X mit OpenSSL 3.2: SHA-256 erreicht etwa 1,8 GByte/s, SHA-512 etwa 2,7 GByte/s pro Kern. Auf einem ARM-basierten Notebook (Apple M3) sieht das ähnlich aus, mit SHA-512 spürbar vorne. Auf einem ESP32-Microcontroller (32-Bit Tensilica Xtensa) kehrt sich das Bild um: SHA-256 ist dort circa doppelt so schnell wie SHA-512, weil jeder 64-Bit-Operation in mehrere 32-Bit-Schritte zerlegt werden muss.
Für Web-Anwendungen, die SHA-Berechnungen im Browser über crypto.subtle.digest erledigen, übernimmt die Browser-Engine die Architektur-Auswahl. Auf einem Desktop sehen Sie also SHA-512 schneller, auf einem alten Smartphone möglicherweise SHA-256. Für hash-generieren.de selbst nutzen wir die Browser-API direkt, ohne JavaScript-Implementierung, weshalb die Performance der CPU des Nutzers folgt.
Output-Länge: 32 vs 64 Byte
Der Output-Unterschied ist der zweite, oft unterschätzte Faktor. SHA-256 liefert 32 Byte (64 Zeichen in Hex), SHA-512 liefert 64 Byte (128 Zeichen in Hex). Wer den Hash in einer Datenbank-Spalte speichert, einem Cookie unterbringt oder als URL-Parameter verschickt, sieht den Unterschied direkt.
Bei einem JWT-Token in HS256-Signatur ist die HMAC-SHA-256-Signatur 32 Byte lang, in HS512 ist sie doppelt so lang. Das Token wird entsprechend größer, das kostet Bandbreite und kann bei strengen Cookie-Größen-Limits (4 KB pro Cookie) zum Problem werden.
Beim Speichern als Spalte in PostgreSQL ist SHA-256 als BYTEA(32) oder CHAR(64) üblich, SHA-512 entsprechend BYTEA(64) oder CHAR(128). Wer Hash-Werte als Primary Key oder Foreign Key verwendet (z.B. in einem Content-Addressed-Storage wie Git), zahlt für jeden Bit Mehr-Output mit Indexgröße.
Wenn man einen Hash nur für Integritätsprüfung braucht und nicht in einer Pipeline weiterverarbeitet, ist die kompaktere SHA-256-Variante meist angenehmer. SHA-512 lohnt sich, wenn Sie ohnehin auf 64-Bit-Hardware arbeiten und große Inputs hashen (Backups, Archive, Forensik-Images).
NIST-Empfehlung: SP 800-107
Die NIST-Empfehlung in SP 800-107 Rev 1 (“Recommendation for Applications Using Approved Hash Algorithms”, August 2012) gibt eine klare Hierarchie. Für 112 Bit Sicherheit reicht SHA-224 oder SHA-256, für 128 Bit Sicherheit SHA-256, für 192 Bit Sicherheit SHA-384, für 256 Bit Sicherheit SHA-512.
Die “Bit-Sicherheit” bezieht sich auf die Kollisions-Resistenz und entspricht der halben Output-Länge nach dem Birthday Paradox. Wer 128 Bit Sicherheit fordert (was selbst bei Long-Term-Archivierung lange ausreicht), ist mit SHA-256 vollständig bedient.
NIST empfiehlt SHA-256 als Standard-Wahl für digitale Signaturen mit RSA-2048 oder ECDSA-P256, weil diese Schlüsselgrößen ebenfalls 128 Bit Sicherheit bieten. Bei RSA-3072 oder ECDSA-P384 ziehen Sie auf SHA-384 nach, bei RSA-15360 oder ECDSA-P521 auf SHA-512. Die Idee dahinter: der schwächste Bestandteil bestimmt die Gesamtsicherheit, also lohnt eine “übergroße” Hash-Funktion nicht.
Praxis-Entscheidungsmatrix
Eine kurze Liste zur Entscheidung:
| Anwendung | Empfehlung |
|---|---|
| Datei-Checksum für Download | SHA-256 |
| JWT-Signatur (Standard-Webanwendung) | HMAC-SHA-256 |
| TLS 1.3 mit AES-256-GCM | SHA-384 |
| Code-Signing-Zertifikate | SHA-256 oder SHA-384 |
| Forensik-Image (mehrere TB) | SHA-512 (Durchsatz) |
| Embedded-System (32-Bit-CPU) | SHA-256 |
| Long-Term-Archiv (50+ Jahre) | SHA-384 oder SHA-512 |
| Schlüssel-Ableitung (KDF) | SHA-256 (HKDF) |
| Speicherung in PostgreSQL-Spalte | SHA-256 (kompakter Index) |
Die Methodik der hash-generieren.de-Implementierung folgt der NIST-Empfehlung: SHA-256 ist der Default in der Oberfläche, SHA-384, SHA-512 und SHA-1 sind als Optionen verfügbar. SHA-1 nur noch zur Verifikation alter Hashes, nicht für Neuberechnungen.
Was hängenbleibt
SHA-256 und SHA-512 sind beide kryptografisch unauffällig, beide nach BSI TR-02102 zulässig. Die Wahl hängt an Output-Länge (32 vs 64 Byte), CPU-Architektur (32 vs 64 Bit) und Speicher-/Bandbreiten-Budget. Für die meisten Anwendungen ist SHA-256 die richtige Antwort, weil 128 Bit Sicherheit reichen und der Output kompakter ist. SHA-512 lohnt bei großen Inputs auf 64-Bit-Hardware, bei Hochsicherheits-Profilen oder wenn das Ökosystem (TLS-Cipher, Backup-Tool, Archiv-Format) es ohnehin verlangt. SHA-384 als Mittelweg ist die richtige Wahl in TLS 1.3 mit AES-256-GCM und in Profilen mit 192 Bit Sicherheitsanforderung.
FAQ
Häufige Fragen
Ist SHA-512 sicherer als SHA-256?
Sicherheitsmäßig liegen beide weit jenseits dessen, was heute angreifbar ist. SHA-256 bietet 128 Bit Kollisions-Resistenz (Birthday Bound 2^128), SHA-512 entsprechend 256 Bit. Beide Werte sind in absehbarer Zeit nicht praktikabel angreifbar, auch nicht mit projizierter Quantenhardware (Grover halbiert nur, nicht viertelt). Sicherer ist SHA-512 also nur in einem theoretischen Sinn. Für die meisten Anwendungsfälle ist SHA-256 die richtige Wahl, weil der Output halb so lang ist und in 32 Byte passt.
Warum ist SHA-512 auf 64-Bit-CPUs schneller als SHA-256?
SHA-256 arbeitet intern mit 32-Bit-Wörtern, SHA-512 mit 64-Bit-Wörtern. Auf einer modernen 64-Bit-CPU verarbeitet ein einziger Befehl ein 64-Bit-Wort genauso schnell wie ein 32-Bit-Wort, weshalb SHA-512 pro Runde mehr Daten durchschiebt. In Benchmarks auf x86-64 und ARM64 liegt SHA-512 typisch 30 bis 50 Prozent vor SHA-256, gemessen in MByte pro Sekunde. Auf 32-Bit-Embedded-Systemen kehrt sich das Bild um, dort ist SHA-256 deutlich schneller.
Welcher Hash gilt im BSI TR-02102 als zulässig?
Die BSI-Technische-Richtlinie TR-02102-1 Version 2024-01 führt SHA-256, SHA-384, SHA-512, SHA-3 (alle Varianten) und BLAKE2 als zulässige Hash-Funktionen für kryptografische Anwendungen in der Bundesverwaltung und in KRITIS-Sektoren. SHA-1 ist seit 2017 nicht mehr empfohlen, MD5 schon länger nicht. Für neue Anwendungen rät das BSI zur SHA-2-Familie ab 256 Bit oder zu SHA-3, beide gelten als Stand der Technik im Sinne von Art. 32 DSGVO.
Wann lohnt SHA-384 statt SHA-256?
SHA-384 ist eine getrennte SHA-512-Variante mit gekürztem Output. Sie liefert 384 Bit Hash und vermeidet die Length-Extension-Angriffe, die SHA-256 und SHA-512 in HMAC-loser Verwendung haben. Wenn Sie einen Hash ohne HMAC-Wrapper als MAC verwenden (was an sich vermeidbar ist), schützt SHA-384 vor diesem Angriffstyp. In normalen Anwendungen mit echter HMAC- oder Signatur-Verwendung spielt das keine Rolle. Praktisch wird SHA-384 vor allem in der TLS-1.3-Cipher-Suite mit AES-256-GCM verwendet.
Gibt es Anwendungen, die SHA-512 zwingend brauchen?
Praktisch selten. Die meisten Standards spezifizieren SHA-256 als Minimum und SHA-512 als optional. Hochsicherheits-Profile wie NSA Suite B (heute CNSA) verlangen für TOP SECRET SHA-384 oder höher. Bei sehr großen Inputs (Mehrere-GB-Files) kann SHA-512 auf einer 64-Bit-CPU im Durchsatz vorne liegen, was Backup- und Archivlösungen ausnutzen. Für Standard-Web-Anwendungen, JWT-Signaturen und Datei-Checksums bleibt SHA-256 der Default.
Quellen