Zum Inhalt

47-Tage-Zertifikate sind im Anmarsch. Sind Sie bereit?

Jetzt handeln →

Was ist der Unterschied zwischen Verschlüsselung und Hashing? Ist Hashing sicherer als Verschlüsselung?

Verschlüsselung vs. Hashing

Verschlüsselung und Hashing transformieren Daten, jedoch zu unterschiedlichen Zwecken. Verschlüsselung ist ein bidirektionaler Prozess, der Daten in einen Geheimtext umwandelt, der mit einem Schlüssel wieder entschlüsselt werden kann und so die Vertraulichkeit schützt. Hashing hingegen ist ein unidirektionaler Prozess, der Daten in einen Hashwert fester Länge umwandelt, der nicht umkehrbar ist und zur Integritätsprüfung dient. Keines der beiden Verfahren ist sicherer; sie lösen unterschiedliche Probleme.

Verschlüsselung und Hashing werden oft verglichen, doch die Frage nach der „sichereren“ Methode greift zu kurz, da sie unterschiedliche Funktionen erfüllen. Verschlüsselung ist umkehrbar: Sie verschlüsselt Daten zu einem Geheimtext , der mit einem Schlüssel entschlüsselt werden kann – zum Schutz der Vertraulichkeit. Hashing hingegen ist unidirektional: Es wandelt Daten in einen Hashwert fester Länge um, der nicht umkehrbar ist – zur Überprüfung der Datenintegrität. Keine der beiden Methoden ist sicherer als die andere; sie sind nicht austauschbar.

Wichtige Erkenntnisse

  • Verschlüsselung ist ein bidirektionaler (umkehrbarer) Prozess zur Wahrung der Vertraulichkeit; Hashing ist ein unidirektionaler (irreversibler) Prozess zur Wahrung der Integrität und Verifizierung.
  • Verschlüsselung entschlüsselt man mit einem Schlüssel; einen Hashwert kann man nicht 'entschlüsseln', man kann ihn nur erneut berechnen und vergleichen.
  • Die Aussage „Ist Hashing sicherer als Verschlüsselung?“ ist ein Kategorienfehler: Sie lösen unterschiedliche Probleme und werden oft zusammen verwendet.
  • Verwenden Sie für Passwörter keine einfachen, schnellen Hashfunktionen wie MD5 oder SHA-256; verwenden Sie stattdessen langsame, gesalzene Funktionen (bcrypt, scrypt, Argon2 oder PBKDF2).
  • Vermeiden Sie unsichere Algorithmen: MD5 und SHA-1 sind für Sicherheitszwecke unsicher, und CRC32 ist eine Fehlerprüfung, kein kryptografischer Hashwert. Verwenden Sie SHA-256 oder SHA-3 und AES zur Verschlüsselung.

Was ist Verschlüsselung?

Verschlüsselung ist ein bidirektionaler Prozess: Klartext wird eingegeben, unlesbarer Geheimtext wird ausgegeben. Da die Verschlüsselung umkehrbar ist, kann der Geheimtext mit dem richtigen Schlüssel wieder in den Originaltext entschlüsselt werden. Ihr Zweck ist die Vertraulichkeit . Es gibt zwei Arten der Verschlüsselung. Symmetrische Verschlüsselung verwendet einen gemeinsamen Schlüssel für beide Richtungen und ist schnell, ideal für große Datenmengen. Asymmetrische Verschlüsselung verwendet ein öffentliches und ein privates Schlüsselpaar. Um die Vertraulichkeit zu gewährleisten, wird mit dem öffentlichen Schlüssel des Empfängers verschlüsselt, und nur der Besitzer des zugehörigen privaten Schlüssels kann entschlüsseln. Das entscheidende Merkmal ist die Umkehrbarkeit: Mit dem richtigen Schlüssel erhält man die exakten Originaldaten zurück.

Was ist Hashing?

Hashing ist eine Einwegfunktion: Ein Klartext wird an einen Hash-Algorithmus übergeben, der einen Hashwert fester Länge erzeugt . Im Gegensatz zur Verschlüsselung ist Hashing nicht umkehrbar; es gibt keinen Schlüssel und keine Entschlüsselung. Dieselbe Eingabe erzeugt immer denselben Hashwert, aber man kann die Eingabe nicht aus dem Hashwert berechnen; man kann nur einen Kandidaten hashen und vergleichen. Ein guter kryptografischer Hash ist kollisionsresistent , d. h. es ist praktisch unmöglich, zwei verschiedene Eingaben zu finden, die denselben Hashwert erzeugen.

Hashing wird häufig mit einem Salt kombiniert, insbesondere bei Passwörtern. Ein Salt sind zufällige Daten, die vor dem Hashing an die Eingabe angehängt werden, sodass identische Eingaben unterschiedliche Hashwerte erzeugen. Wichtig ist, dass der Salt nicht die Einweg-Hashfunktion bewirkt (der Algorithmus ist bereits unidirektional); der Salt schützt vor Angriffen mit vorab berechneten Daten, wie beispielsweise Rainbow-Tabellen, bei denen ein Angreifer eine vorab erstellte Liste häufiger Eingaben für seine Hashes verwendet.

Maßgeschneiderte Verschlüsselungsdienste

Wir bewerten, entwickeln Strategien und implementieren Verschlüsselungsstrategien und -lösungen.

Gängige Verschlüsselungs- und Hashing-Algorithmen

  • Symmetrische Verschlüsselung: AES ist der moderne Standard. DES und RC4 sind veraltet und fehlerhaft, Blowfish und Twofish existieren zwar noch, sind aber heute weniger verbreitet.
  • Asymmetrische Verschlüsselung: RSA, Elliptische Kurvenkryptographie (ECC) und Diffie-Hellman (für den Schlüsselaustausch). ECDSA ist ein Signaturalgorithmus und kein Verschlüsselungsalgorithmus.
  • Hashing: SHA-256 SHA-2 und SHA-3 sind die aktuellen Standards. MD5 und SHA-1 gelten als unsicher und sollten nicht für Sicherheitszwecke verwendet werden. CRC32 ist eine Prüfsumme zur Fehlererkennung, kein kryptografischer Hashwert, und bietet keine Sicherheit.

Wann sollte man Hashing verwenden?

Hashing ist das richtige Werkzeug, wenn man Daten verifizieren und nicht wiederherstellen muss:

  • Überprüfung der Datenintegrität: Vergleichen Sie den Hashwert einer Datei vor und nach der Übertragung oder Speicherung, um zu bestätigen, dass sie nicht verändert wurde (eine Prüfsumme).
  • Passwortspeicherung: Speichern Sie anstelle des Passworts selbst einen langsamen, gesalzenen Hash des Passworts, damit ein Datenbankangriff die Zugangsdaten nicht sofort offenlegt. (Verwenden Sie bcrypt, scrypt, Argon2 oder PBKDF2, keinen einfachen Hash.)
  • Digitale Signaturen: Man signiert den Hashwert einer Nachricht anstatt der gesamten Nachricht; so funktionieren digitale Signaturen effizient.
  • Weitere kryptografische und computertechnische Anwendungen: Message Authentication Codes (MACs), Schlüsselableitung und schnelle Suchvorgänge in Hashtabellen.

Wann sollte man Verschlüsselung verwenden?

Verschlüsselung ist das richtige Mittel, wenn Daten geheim gehalten, aber später wiederhergestellt werden müssen:

  • Daten während der Übertragung: Schützen Sie sensible Daten während der Übertragung (Online-Banking, E-Mails, Einkäufe); HTTPS/TLS Hierfür wird Verschlüsselung verwendet.
  • Gespeicherte sensible Daten: Verschlüsseln Sie persönliche, finanzielle oder medizinische Daten, die auf Geräten und Servern gespeichert sind, damit sie nicht durch Diebstahl oder Datenlecks offengelegt werden.
  • Datenbanken, Backups und Geräte: Schützen Sie Datenbanken (zum Beispiel mit transparenter Datenverschlüsselung), Backups und tragbare Geräte wie Laptops und Handys.

Ist Hashing also sicherer als Verschlüsselung?
Nein, und die Frage ist etwas irreführend, denn Verschlüsselung und Hashing sind keine konkurrierenden Werkzeuge; sie verfolgen unterschiedliche Ziele, daher kann keines im Allgemeinen „sicherer“ sein als das andere. Verwenden Sie Hashing, wenn Sie Daten verifizieren müssen, ohne sie wiederherzustellen: Integritätsprüfung, Speicherung von Passwörtern (mit einer langsamen Salt-Funktion) und Erstellung von Sicherheitsabfragen. digitale SignaturenEin Hashwert ist per Definition unidirektional und daher ideal, wenn das Original nicht wiederhergestellt werden muss. Verwenden Sie Verschlüsselung, wenn Sie Daten schützen, aber später wiederherstellen müssen: Daten während der Übertragung, gespeicherte sensible Datensätze und Backups. Verschlüsselung ist mit einem Schlüssel umkehrbar, was in diesen Fällen genau erforderlich ist. Verschlüsselung und Verschlüsselung werden häufig kombiniert, beispielsweise kann ein System Daten während der Übertragung verschlüsseln und gleichzeitig hashen, um die Integrität zu überprüfen, oder Passwörter als gesalzene Hashwerte in einer ansonsten verschlüsselten Datenbank speichern. Sicherheit entsteht durch die Wahl des richtigen Werkzeugs für jede Aufgabe und die Verwendung starker, aktueller Algorithmen, nicht durch die Rangfolge eines Algorithmus gegenüber einem anderen.

Verschlüsselung vs. Hashing: Ein direkter Vergleich

Der Unterschied lässt sich am deutlichsten im direkten Vergleich erkennen:

AspektVerschlüsselungHashing
Anleitung Zweiwege- (umkehrbare)Einweg (unumkehrbar)
ZweckVertraulichkeit (Daten geheim halten)Integrität und Überprüfung
Benötigt man einen Schlüssel?JaNein (ein Salz kann hinzugefügt werden, aber es ist kein Schlüssel).
Können Sie die Eingabe wiederherstellen?Ja, durch Entschlüsselung mit dem SchlüsselNein, man kann nur neu berechnen und vergleichen.
AusgabelängeVariiert je nach Eingangsgröße (außer FPE)Feste Größe, unabhängig von der Eingabe
Zu den ArtenSymmetrisch und asymmetrischKryptografische Hash-Funktionen
BeispieleAES, RSA, ECC, ChaCha20SHA-256, SHA-3 (vermeiden Sie MD5 und SHA-1)

Maßgeschneiderte Verschlüsselungsdienste

Wir bewerten, entwickeln Strategien und implementieren Verschlüsselungsstrategien und -lösungen.

Wie Verschlüsselungsberatung hilft

Die korrekte Anwendung von Verschlüsselung und Hashing, der richtige Algorithmus für jede Aufgabe, sicheres Passwort-Hashing und ein solides Schlüsselmanagement sind entscheidend für echte Sicherheit. Die Encryption Advisory Services von Encryption Consulting analysieren die Nutzung von Verschlüsselung und Hashing in Ihrer Umgebung, identifizieren schwache oder missbräuchliche Verfahren (wie MD5, SHA-1 oder die Speicherung von Passwörtern im Klartext) und entwickeln konforme Implementierungen gemäß Standards wie NIST und FIPS 140-3, einschließlich Schlüsselmanagement und Post-Quanten-Bereitschaft für Ihre Public-Key-Kryptografie. Unsere Leistungen basieren auf ISO/IEC 27001:2022- und SOC 2-zertifizierten Verfahren.

Häufig gestellte Fragen

Worin besteht der Unterschied zwischen Verschlüsselung und Hashing?

Verschlüsselung ist ein bidirektionaler Prozess: Daten werden in einen Geheimtext umgewandelt, der mit einem Schlüssel wieder in den Originaltext entschlüsselt werden kann. Dadurch wird die Vertraulichkeit geschützt. Hashing hingegen ist ein unidirektionaler Prozess: Daten werden in einen Hashwert fester Länge umgewandelt, der nicht umkehrbar ist. Daher dient Hashing der Integritätsprüfung, nicht der Datenwiederherstellung. Verschlüsselung verwendet einen Schlüssel und ist umkehrbar; Hashing benötigt keinen Schlüssel und ist irreversibel. Beide Verfahren dienen unterschiedlichen Zwecken und werden oft gemeinsam eingesetzt, anstatt austauschbar zu sein.

Ist Hashing sicherer als Verschlüsselung?

Nein, die Frage beruht auf einem Kategorienfehler, da Verschlüsselung und Hashing unterschiedliche Aufgaben erfüllen und daher keines der beiden Verfahren generell „sicherer“ ist. Verschlüsselung schützt die Vertraulichkeit und ist mit einem Schlüssel umkehrbar; Hashing hingegen überprüft die Integrität und ist unidirektional. Hashing kommt zum Einsatz, wenn die Originaldaten nicht wiederhergestellt werden müssen (Integritätsprüfungen, Passwortspeicherung, Signaturen), Verschlüsselung hingegen, wenn die Daten später wiederhergestellt werden müssen (Datenübertragung, gespeicherte Datensätze, Backups). Sicherheit ergibt sich aus der Wahl des richtigen Werkzeugs und der Verwendung starker Algorithmen.

Lässt sich ein Hash umkehren oder entschlüsseln?

Nein. Hashing ist per Definition unidirektional: Es gibt keinen Schlüssel und keinen Entschlüsselungsschritt, daher lässt sich aus einem Hashwert nicht die ursprüngliche Eingabe berechnen. Ein Angreifer kann lediglich mögliche Eingaben erraten, diese hashen und vergleichen. Aus diesem Grund sind starke Hashwerte und langsame, mit Salt versehene Passwort-Hashing-Funktionen so wichtig. Dies unterscheidet sich von der Verschlüsselung, bei der der Chiffretext mithilfe des korrekten Schlüssels wieder in den Originaltext entschlüsselt werden soll. Ein Hashwert bestätigt Daten; er verbirgt keine wiederherstellbaren Daten.

Sollte man Hashing zum Speichern von Passwörtern verwenden?

Passwörter sollten gehasht statt im Klartext gespeichert werden, jedoch nicht mit einem einfachen, schnellen Hash-Algorithmus wie MD5 oder SHA-256. Diese sind zu schnell und ermöglichen Angreifern Milliarden von Versuchen pro Sekunde, falls die Hashwerte durchsickern. Verwenden Sie stattdessen eine langsame, mit einem Salt versehene, speziell für Passwörter entwickelte Hash-Funktion wie bcrypt, scrypt, Argon2 oder PBKDF2. Der Salt sorgt dafür, dass identische Passwörter unterschiedlich gehasht werden und schützt vor Rainbow-Table-Angriffen, während die bewusst langsame Hash-Funktion Brute-Force-Angriffen widersteht.

Welche Algorithmen sollten Sie vermeiden?

Vermeiden Sie MD5 und SHA-1 aus Sicherheitsgründen, da beide als unsicher gelten (praktische Kollisionsangriffe sind möglich). Vermeiden Sie auch DES und RC4 zur Verschlüsselung, da beide veraltet und unsicher sind. Beachten Sie außerdem, dass CRC32 eine Prüfsumme zur Fehlererkennung und kein kryptografischer Hash ist und daher keine Sicherheit bietet. Verwenden Sie SHA-256 oder SHA-3 zum Hashen, eine langsame Salt-Funktion für Passwörter und AES (mit modernen Modi) oder ChaCha20 für symmetrische Verschlüsselung sowie RSA oder ECC für asymmetrische Verschlüsselung.

Werden Verschlüsselung und Hashing zusammen verwendet?

Ja, sehr oft. Sie ergänzen sich. Beispielsweise kann ein System Daten während der Übertragung verschlüsseln, um die Vertraulichkeit zu gewährleisten, und gleichzeitig einen Hashwert verwenden, um die Unversehrtheit der Daten zu überprüfen. Digitale Signaturen kombinieren Hashing (zur Erzeugung eines Hashwerts) mit asymmetrischer Kryptografie (zum Signieren). Passwörter werden üblicherweise als gesalzene Hashwerte in einer Datenbank gespeichert, die selbst im Ruhezustand verschlüsselt ist. Durch die Kombination dieser Verfahren lassen sich Vertraulichkeit, Integrität und Authentizität gleichzeitig erreichen, anstatt sich nur auf eines von beiden zu verlassen.

Verwenden Sie für jede Aufgabe das richtige Werkzeug.

Verschlüsselung und Hashing sind beide unerlässlich, jedoch nur, wenn sie mit starken, aktuellen Algorithmen auf das richtige Problem angewendet werden. Nutzen Sie die Beratungsleistungen von Encryption Consulting im Bereich Verschlüsselung, um zu analysieren, wie Ihre Systeme Verschlüsselung und Hashing einsetzen und etwaige Sicherheitslücken zu schließen.