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]