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== ===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. ===level 3=== ====level 4==== =====level 5===== ======level 6====== [https://de.wikipedia.org/wiki/Hashfunktion#Anwendungen Wikipedia] [https://www.dr-datenschutz.de/hashwerte-und-hashfunktionen-einfach-erklaert/ Dr. Datenschutz]