Warum kann ' t SHA256 entschlüsselt werden? [geschlossen]

geschlossen . Diese Frage muss stärker auf ausgerichtet sein . Derzeit werden keine Antworten akzeptiert.

Kommentare

Antwort

Erstens gibt es einen Unterschied zwischen Hashing und Verschlüsselung . SHA256 ist eine Hashing-Funktion, keine Verschlüsselungsfunktion.

Zweitens kann SHA256 nicht entschlüsselt werden, da es sich nicht um eine Verschlüsselungsfunktion handelt. Was Sie meinen, ist wahrscheinlich die Umkehrung. In diesem Fall kann SHA256 nicht rückgängig gemacht werden, da es „sa Einwegfunktion ist. Das Umkehren würde eine verursachen Preimage-Angriff , der sein Entwurfsziel verfehlt.

Drittens funktioniert die SHA256-Überprüfung, indem sie erneut berechnet und das Ergebnis mit dem vorliegenden Ergebnis verglichen wird. Wenn beide Ergebnisse übereinstimmen, ist die Überprüfung erfolgreich. Der theoretische Hintergrund ist, dass es schwierig ist, eine andere Eingabe zu finden, die das gleiche Hash-Ergebnis liefert. Wenn Sie dagegen verstoßen, wird ein Second-Preimage-Angriff ausgeführt, der sein Entwurfsziel verfehlt.

Schließlich Digitale Signaturen sind nicht einfach Hash- und Schlüsselkombinationen . Eine Hash-Funktion kann jedoch ihre Sicherheit verbessern.

Antwort

SHA256 ist keine Verschlüsselungsfunktion, sondern eine Hash-Funktion . Der grundlegende Unterschied besteht darin, dass die Verschlüsselung zwar eine Zwei-Wege-Funktion ist (angesichts des Schlüssels), der Hash jedoch nur eine Ein-Wege-Funktion ist: Bei einigen Daten können Sie den Hash berechnen, da der Hash angesichts des Hash schwierig (und mathematisch unmöglich) ist, die Daten zurückzugewinnen

Ich sagte, es ist mathematisch unmöglich, die Daten aus dem Hash zu finden, da eine Hash-Funktion normalerweise eine kleine Codomäne (zum Beispiel 256 Bit für SHA256), aber eine große Domäne (Sie können jede Zeichenfolge hashen) hat Es kommt zu Kollisionen: verschiedene Zeichenfolgen mit demselben Hash.

Wenn Ihr Passwort in einer Hash-Form gespeichert ist, gibt es aus diesem Grund ein unendliches Passwort (das jedoch sehr lang sein kann), das Ihr Konto entsperrt.

Die gute Nachricht ist, dass Kollisionen selten sind, wenn Sie kryptografische Hash-Funktionen verwenden, sodass Ihr Konto immer noch sicher ist.

Die Beantwortung des ersten Teils Ihrer Frage ist einfach: Wenn Alice eine Datei mit der Hash-Prüfsumme an Bob sendet, kann Bob den Hash von t einfach berechnen Die Datei, die er erhalten hat, wird mit dem von Alice erhaltenen Hash verglichen. Dies reicht normalerweise aus, um herauszufinden, ob während der Übertragung ein Fehler aufgetreten ist (die Datei ist also beschädigt), reicht jedoch nicht aus, wenn die Übertragung von einem Angreifer geändert wurde, der auch den Hash geändert hat. Alice und Bob benötigen also einen Sicherer Kanal zum Übertragen des Hashs (z. B. eine https-Seite mit einem gültigen Zertifikat) oder sie müssen den Hash auf irgendeine Weise signieren.

Wir gehen also zur Antwort auf Ihre zweite Frage über: Alice kann den Hash signieren Wenn ein Angreifer ihren privaten Schlüssel verwendet, bevor er ihn an Bob sendet, kann er ihn auf diese Weise nicht manipulieren, ohne die Signatur ungültig zu machen.

Nun können Sie fragen, warum Alice nur mit ihrem RSA-Schlüssel (oder einem ähnlichen Schlüssel) signiert Der Hash und nicht die gesamte Nachricht. Dies liegt daran, dass das Berechnen von RSA langsamer ist als das Berechnen eines Hashs (daher muss sie das langsame Ding nur an einer kleinen Zeichenfolge ausführen: dem Hash). Dies traf insbesondere dann zu, wenn PGP erstellt wurde und Computer langsamer waren.

Schreibe einen Kommentar

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