PMG inf3/Einführung/Teresa
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
=Hashfunktionen= ;Definition Eine Hashfunktion oder auch Steuerwertfunktion ist ein Algorithmus der beliebig große Eingabedaten (z.B Passwörter, Dateien oder Texte) in eine feste, meist kürzere Zeichenkette (den sogenannten ''Hashwert'' oder ''Digest'') umwandelt. ==Eigenschaften== '''Determinismus''': Die gleiche Eingabe liefert immer den gleichen Hashwert. Beispiel: „Hallo“ → immer e4d909c2..., egal wann oder wo.<blockquote> </blockquote> '''Kollisionresistenz''': Es sollte extrem schwierig sein, zwei unterschiedliche Eingaben zu finden, die den gleichen Hashwert erzeugen. Beispiel: „Hallo“ ≠ „Hallo!“ → komplett unterschiedliche Hashwerte.<blockquote> </blockquote> '''Einwegfunktion''': Man kann den ursprünglichen Input nicht aus dem Hashwert zurückrechnen. Beispiel: Aus e4d909c2... lässt sich nicht auf „Hallo“ zurückschließen.<blockquote> </blockquote> '''Effizienz''': Die Hashfunktion sollte schnell berechnet werden können – auch bei großen Datenmengen.<blockquote> </blockquote> '''Surjektivität''': Kein Ergebniswert (Hashwert) soll unmöglich sein, jedes Ergebnis (jeder Hashwert im definierten Wertebereich) soll tatsächlich vorkommen können.<blockquote> </blockquote> ==Anwendungen== ===Kryptographie=== ====Digitale Unterschrift==== Die digitale Signatur stützt auf den Gebrauch eines Hashing-Algorithmus, kombiniert mit einem asymmetrischen Verschlüsselungsalgorithmus (z.B. RSA). So wird ein Bericht unterschrieben: #Der Absender berechnet erst den "Digest"-Wert (Hash 1) des Originalberichts mithilfe eines Hashing-Algorithmus. #Anschließend verschlüsselt er diesen Digest-Wert über asymmetrische Verschlüsselung durch Verwendung eines persönlichen Schlüssels. #Schließlich fügt er diesem letzten Ergebnis seine Identifikationsangaben hinzu, verfasst in einem Zertifikat. Er versendet alles (unverschlüsselten Bericht, verschlüsselten Digest und Zertifikat) an den Empfänger.<blockquote> </blockquote> [[Bild:Abb1.gif]]<blockquote> </blockquote> Der Empfänger des Berichts kann diese Technik umgekehrt anwenden, um die Gültigkeit der Signatur zu überprüfen: #Er berechnet selbst den Digest-Wert (Hash 1) des empfangenen Berichts. #Er holt das Zertifikat ab, um die Identität des vermutlichen Absenders und seinen öffentlichen Schlüssel zu bestimmen; er benutzt diesen öffentlichen Schlüssel, um den Digest (Hash 2) mittels desselben asymmetrischen Verschlüsselungsalgorithmus wie der Absender zu benutzen. #Er vergleicht den Digest-Wert (Hash 1), den er berechnet hat, mit dem der Signatur (Hash 2): Die Übereinstimmung zwischen den Werten (Hash 1 und Hash 2) der zwei Digest-Werte garantiert die Echtheit des Berichts.<blockquote> </blockquote> [[Bild:Abb2.gif]]<blockquote> </blockquote> ====Passwort-Hashing==== Viele Unternehmen verwenden Passwort-Hashing, um Passwörter sicher zu speichern und damit diese Bedenken zu erfüllen und die Sicherheit zu erhöhen. Wenn ein Benutzer ein Passwort festlegt, verwendet eine Passwort-Hashing-Anwendung einen Hashing-Algorithmus, um eine einzigartige Zeichenfolge zu generieren und in der Datenbank zu speichern. Die Größe dieser Zeichenfolge wird in „Bits“ (kurz für binäre Ziffern) gemessen, was die kleinste Dateneinheit ist, die ein Computer verarbeiten und speichern kann. Wenn der Benutzer versucht, sich anzumelden, wendet die Anwendung denselben Hashing-Algorithmus auf das eingegebene Passwort an und vergleicht die resultierende Zeichenfolge mit dem in der Datenbank gespeicherten Wert, um den Benutzer zu authentifizieren.<blockquote> </blockquote> ====Integritätsprüfung==== ===level 3=== ====level 4==== =====level 5===== ======level 6====== ==Quellen== [https://de.wikipedia.org/wiki/Hashfunktion#Anwendungen Wikipedia] [https://www.dr-datenschutz.de/hashwerte-und-hashfunktionen-einfach-erklaert/ Dr. Datenschutz] [https://www.socialsecurity.be/site_de/general/helpcentre/digital_sign/general/how.htm#:~:text=So%20wird%20ein%20Bericht%20unterschrieben,durch%20Verwendung%20eines%20pers%C3%B6nlichen%20Schl%C3%BCssels. Soziale Sicherheit Unternehmen] [https://www.dashlane.com/de/blog/was-versteht-man-unter-passwort-hashing DASHLANE]