Welcher Hash Algorithmus kann Verschlüsselt und mit einem Password entschlüsselt werden?


21.06.2022, 09:27

Gibt es etwas ähnliches das das kann?

6 Antworten

Keiner. Das Ergebnis eines mithilfe eines Hash-Algorithmus durchgeführten Hash-Vorgangs kann prinzipbedingt nicht entschlüsselt werden, da ein Hash-Algorithmus kein Verschlüsselungsalgorithmus ist.

Kann schon allein deswegen auch gar nicht funktionieren, da Eingaben beliebiger Länge immer zu einer je nach Algorithmus spezifischen Länge der Hashsumme führen. Sprich: Ob Du jetzt 1 Byte oder 10GByte hashst ist egal - die Länge der Ausgabe ist immer gleich lang (vorausgesetzt, Du verwendest für beide Versuche denselben Algorithmus).

Wie die anderen schon sagen: Ein Hash ist dafür da einen "Fingerabdruck" von den gehashten Daten zu kriegen, also dass man prüfen kann, dass die Daten nicht verändert wurden.

Es gibt aber bei manchen Hash-Algorithmen die Möglichkeit, "Kollisionen" zu erzeugen, also dass zwei verschiedene Quelldaten den gleichen Hash haben. Bei MD5 ist das z.B. möglich, wenn man die originalen Quelldaten kennt.

Wenn du wirklich etwas verschlüsseln willst, was sich später wieder entschlüsseln lassen soll, musst du aber einen echten Verschlüsselungsalgorithmus benutzen. Üblicherweise wird dafür AES benutzt.

Vielleicht suchst du auch nach einem asymmetrischen (bzw. "public key") Verschlüsselungsalgorithmus. Da kann z.B. der Empfänger öffentlich einen Schlüssel zur Verfügung stellen, mit der eine Nachricht verschlüsselt werden kann und die Nachricht kann dann nur mit einem anderen, privaten Schlüssel wieder entschlüsselt werden. Dafür wird z.B. oft RSA benutzt. Damit solltest du allerdings nur recht kurze Nachrichten verschicken. Empfohlen ist, dass die Nachricht höchstens so lang, wie der Schlüssel sein soll.

Bei verschlüsselten Datenverbindungen ist es z.B. oft so, dass die beiden Computer mit einem asymmetrischen Verfahren gegenseitig ihre Zertifikate überprüfen und dann mit einem Diffie-Helman Schlüsselaustausch einen Schlüssel für ein symmetrisches Verfahren (also gleicher Schlüssel zum ver- und entschlüsseln) bilden und die Kommunikation dann halt über das symmetrische Verfahren laufen lassen.

Wenn ich es richtig in Erinnerung habe, ist Unidirektionalität ein entscheidendes Merkmal von Hashs, gar ein Qualitätskriterium.

Ein Hash ist keine Verschlüsselung. Die Daten können aus einem Hash nicht wiederhergestellt werden, er dient lediglich als Prüfsumme.

Das was du suchst ist ein Verschlüsselungsalgorithmus, AES wäre ein beliebtes Beispiel dafür.