541 Stimmen

Grundlegender Unterschied zwischen Hashing- und Verschlüsselungsalgorithmen

Ich sehe eine Menge Verwirrung zwischen Hashes und Verschlüsselungsalgorithmen und würde gerne mehr Expertenrat dazu hören:

  1. Wann Hashes und wann Verschlüsselungen verwendet werden sollten

  2. Was macht einen Hash- oder Verschlüsselungsalgorithmus aus (theoretisch/mathematisch) d.h. was macht Hashes unumkehrbar (ohne Hilfe eines Regenbogenbaums)

Hier sind einige ähnlich SO Fragen, die nicht so sehr ins Detail gehen, wie ich es gesucht habe:

Was ist der Unterschied zwischen Obfuscation, Hashing und Encryption?
Unterschied zwischen Verschlüsselung und Hashing

31 Stimmen

Ich kann mir vorstellen, dass dies die Frage, auf die sich die Leute beziehen können, wenn sie die Begriffe verwechseln :)

20 Stimmen

Hashing ist einseitig (kann nicht rückgängig gemacht werden), Verschlüsselung ist zweiseitig (kann entschlüsselt werden)

1 Stimmen

Hashes sind auch nützlich für die Indizierung großer Strukturen und Objekte, z. B. Dateien. Siehe Hash-Tabelle .

1voto

fetknoppen Punkte 22

Sie haben bereits einige gute Antworten erhalten, aber ich denke, man kann es auch so sehen: VERSCHLÜSSELUNG: Eine Verschlüsselung muss entschlüsselbar sein, wenn man den richtigen Schlüssel hat.

Beispiel: Wenn Sie zum Beispiel eine E-Mail versenden. Sie möchten vielleicht nicht, dass jeder auf der Welt weiß, was Sie der Person schreiben, die die E-Mail erhält, aber die Person, die die E-Mail erhält, möchte sie wahrscheinlich lesen können.

HASHES: Hashes funktionieren ähnlich wie die Verschlüsselung, aber es sollte nicht möglich sein, sie umzukehren.

Beispiel: Wenn Sie einen Schlüssel in eine verschlossene Tür stecken (die Art, die sich verriegelt, wenn Sie sie schließen). Es ist Ihnen egal, wie das Schloss im Einzelnen funktioniert, Hauptsache, es schließt sich von selbst auf, wenn Sie den Schlüssel benutzen. Wenn es Probleme gibt, können Sie es wahrscheinlich nicht reparieren, sondern müssen sich ein neues Schloss besorgen (wie das Vergessen von Passwörtern bei jeder Anmeldung, zumindest passiert mir das ständig, und es ist ein gängiger Bereich für die Verwendung von Hashing).

... und ich schätze, man könnte diesen Regenbogen-Algorithmus in diesem Fall einen Schlosser nennen.

Hoffentlich klärt sich alles auf =)

-2voto

Anonymous Platypus Punkte 1212

Die Kryptografie befasst sich mit Zahlen und Zeichenketten. Im Grunde genommen sind alle digitalen Dinge im gesamten Universum Zahlen. Wenn ich von Zahlen spreche, meine ich 0 und 1. Sie wissen, was das ist: binär. Die Bilder, die Sie auf dem Bildschirm sehen, die Musik, die Sie über Ihren Kopfhörer hören - alles ist binär. Aber unsere Ohren und Augen können Binärzahlen nicht verstehen, richtig? Nur das Gehirn kann das verstehen, und selbst wenn es Binärdateien verstehen könnte, kann es diese nicht genießen. Also konvertieren wir die Binärdateien in für Menschen verständliche Formate wie mp3, jpg usw. Bezeichnen wir den Prozess als Kodierung . Es ist ein zweiseitiger Prozess und kann leicht in seine ursprüngliche Form zurückverwandelt werden.

Hashing

Hashing ist eine weitere Verschlüsselungstechnik, bei der Daten, die einmal in eine andere Form umgewandelt wurden, nie wieder zurückgewonnen werden können. Laienhaft ausgedrückt, gibt es keinen Prozess namens Entschleierung . Es gibt viele Hash-Funktionen wie sha-512, md5 und so weiter, um die Aufgabe zu erfüllen.

Wenn der ursprüngliche Wert nicht wiederhergestellt werden kann, wo wird er dann verwendet? Für Passwörter! Wenn Sie ein Passwort für Ihr Handy oder Ihren PC einrichten, wird ein Hash Ihres Passworts erstellt und an einem sicheren Ort gespeichert. Wenn Sie das nächste Mal versuchen, sich anzumelden, wird die eingegebene Zeichenfolge erneut mit demselben Algorithmus (Hash-Funktion) gehasht und die Ausgabe mit dem gespeicherten Wert abgeglichen. Wenn der Wert übereinstimmt, werden Sie eingeloggt. Andernfalls werden Sie hinausgeworfen.

Credits: wikimedia Durch die Anwendung eines Hashes auf das Kennwort können wir sicherstellen, dass ein Angreifer niemals an unser Kennwort gelangt, selbst wenn er die gespeicherte Kennwortdatei stiehlt. Der Angreifer hat den Hash des Kennworts. Wahrscheinlich kann er eine Liste der am häufigsten verwendeten Passwörter finden und sha-512 und vergleicht sie mit dem Wert in seiner Hand. Das nennt man die Wörterbuchangriff . Aber wie lange würde er das tun? Wenn Ihr Passwort zufällig genug ist, glauben Sie, dass diese Methode des Knackens funktionieren würde? Alle Passwörter in den Datenbanken von Facebook, Google und Amazon sind gehasht, oder zumindest sollten sie gehasht sein.

Dann gibt es noch die Verschlüsselung

Die Verschlüsselung liegt zwischen Hashing und Encoding. Die Verschlüsselung ist ein zweiseitiger Prozess und sollte nicht zur Gewährleistung der Sicherheit verwendet werden. Die Verschlüsselung ist ebenfalls ein zweiseitiger Prozess, aber die Originaldaten können nur dann abgerufen werden, wenn der Verschlüsselungsschlüssel bekannt ist. Wenn Sie nicht wissen, wie Verschlüsselung funktioniert, keine Sorge, wir werden hier die Grundlagen besprechen. Das sollte genügen, um die Grundlagen von SSL zu verstehen. Es gibt also zwei Arten der Verschlüsselung, nämlich die symmetrische und die asymmetrische Verschlüsselung.

Symmetrische Schlüsselverschlüsselung

Ich versuche, die Dinge so einfach wie möglich zu halten. Verstehen wir also die symmetrische Verschlüsselung mit Hilfe eines Verschiebungsalgorithmus. Dieser Algorithmus wird verwendet, um Alphabete zu verschlüsseln, indem die Buchstaben entweder nach links oder nach rechts verschoben werden. Nehmen wir eine Zeichenkette CRYPTO und betrachten eine Zahl +3. Dann lautet das verschlüsselte Format von CRYPTO FUBSWR. Das bedeutet, dass jeder Buchstabe um 3 Stellen nach rechts verschoben ist. Hier wird das Wort CRYPTO als Klartext wird der Ausgang FUBSWR als die Chiffretext wird der Wert +3 als die Verschlüsselung Schlüssel (symmetrischer Schlüssel) und der gesamte Prozess ist ein Chiffre . Dies ist einer der ältesten und grundlegenden symmetrischen Verschlüsselungsalgorithmen und seine erste Verwendung wurde in der Zeit von Julius Cäsar berichtet. Daher wurde er nach ihm benannt und ist der berühmte Cäsar-Chiffre . Jeder, der den Verschlüsselungsschlüssel kennt, kann die Umkehrung des Caesarschen Algorithmus anwenden und den ursprünglichen Klartext wiederherstellen. Daher nennt man es eine Symmetrische Verschlüsselung .

Asymmetrische Schlüsselverschlüsselung

Wir wissen, dass bei der symmetrischen Verschlüsselung derselbe Schlüssel sowohl für die Verschlüsselung als auch für die Entschlüsselung verwendet wird. Sobald dieser Schlüssel gestohlen wird, sind alle Daten weg. Das ist ein großes Risiko, und wir brauchen eine komplexere Technik. 1976 veröffentlichten Whitfield Diffie und Martin Hellman erstmals das Konzept der asymmetrischen Verschlüsselung, und der Algorithmus war bekannt als Diffie-Hellman-Schlüsselaustausch . Dann, 1978, veröffentlichten Ron Rivest, Adi Shamir und Leonard Adleman vom MIT das RSA Algorithmus. Diese können als die Grundlage der asymmetrischen Kryptographie betrachtet werden.

Im Vergleich zur symmetrischen Verschlüsselung ist bei Asymmetrische Verschlüsselung gibt es dann zwei Schlüssel statt einem. Der eine heißt Öffentlicher Schlüssel und die andere ist die Privater Schlüssel . Theoretisch können wir während der Initiierung die Öffentlich-privat Schlüsselpaar zu unserem Rechner. Der private Schlüssel sollte an einem sicheren Ort aufbewahrt und niemals an Dritte weitergegeben werden. Der öffentliche Schlüssel kann, wie der Name schon sagt, mit jedem geteilt werden, der Ihnen verschlüsselten Text senden möchte. Diejenigen, die Ihren öffentlichen Schlüssel besitzen, können die geheimen Daten damit verschlüsseln. Wenn das Schlüsselpaar mit dem RSA-Algorithmus generiert wurde, sollten sie beim Verschlüsseln der Daten denselben Algorithmus verwenden. Normalerweise wird der Algorithmus im öffentlichen Schlüssel angegeben. Die verschlüsselten Daten können nur mit dem privaten Schlüssel entschlüsselt werden, der sich in Ihrem Besitz befindet.

Quelle: SSL/TLS für Dummies Teil 1: Ciphersuite, Hashing, Verschlüsselung | WST ( https://www.wst.space/ssl-part1-ciphersuite-hashing-encryption/ )

-3voto

neevan Punkte 31

Verschlüsselung Der Zweck der Verschlüsselung besteht darin, Daten umzuwandeln, um sie geheim zu halten (z. B. Senden eines geheimen Textes an jemanden, den nur dieser lesen kann, Senden von Passwörtern über das Internet).

Anstatt sich auf die Benutzerfreundlichkeit zu konzentrieren, soll sichergestellt werden, dass die gesendeten Daten geheim bleiben und nur von dem Benutzer gesehen werden können, den sie gesendet haben.

Es verschlüsselt die Daten in ein anderes Format, indem es sie in ein einzigartiges Muster umwandelt, das mit dem geheimen Schlüssel verschlüsselt werden kann, und diejenigen Benutzer, die den geheimen Schlüssel haben, können die Nachricht durch Umkehrung des Prozesses sehen. Z.B. (AES, BLOWFISH, RSA)

Die Verschlüsselung kann einfach wie folgt aussehen FhQp6U4N28GITVGjdt37hZN

Hashing Technisch gesehen kann man sagen, dass es eine beliebige Eingabe nimmt und eine Zeichenkette fester Länge erzeugt.

Das Wichtigste dabei ist, dass man nicht von der Ausgabe zur Eingabe gehen kann, sondern dass die gegebenen Informationen nicht verändert wurden. Der Prozess besteht darin, eine Eingabe zu nehmen und sie zu hashen und dann mit dem privaten Schlüssel des Absenders zu senden, sobald der Empfänger sie erhalten hat, kann er sie mit dem öffentlichen Schlüssel des Absenders validieren.

Wenn der Hash falsch ist und nicht mit dem Hash übereinstimmt, können wir keine der Informationen sehen. Z.B. (MD5,SHA.....)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X