PMG2224 4/Einführung/Lilli
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
= Hashfunktionen (Streufunktionen) = .. wandeln Passwörter, Namen oder andere Werte aus einer Eingabemenge (Schlüsselmenge) in einen Hashwert (Zeichenfolge mit einer festen Menge) um. Die Eingabemenge wird so umgewandelt, dass der Hashwert deutlich kleiner ist und damit Speicherplatz gespart wird. Außerdem sorgt die Hashfunktion für eine Verschlüsselung der Eingabemenge. ==Hashwert== ..ist das Ergebnis, welches mit der Hashfunktion berechnet wurde. Der Hashwert besteht aus Zahlen- und Buchstabenkombinationen, die zwischen 0 und 9 und A bis F liegen und hat eine feste Länge. ==Eigenschaften von Hashfunktionen== ===Einwegfunktion=== Es darf nicht möglich sein bzw. muss sehr schwer sein aus dem Hashwert die Schlüsselmenge wieder zu erzeugen oder Informationen aus dem Hashwert über sie zu erhalten. ===Kollisionssicherheit=== [[Bild:Hashfunktion.png]] Erhalten zwei Eingabewerte den gleichen Hashwert, kommt es zu einer Kollision. Das darf eigentlich nicht vorkommen, ist jedoch unvermeidlich, da Hashwerte innerhalb eines "Systems" immer die gleiche Länge haben. Um das Risiko zu verringern, könnte man die Eingabewerte verändern, wodurch sie zu einem anderen Hashwert führen sollten. Ist es jedoch erfüllt, dass eine Hashfunktion kollisionsresistent ist, d.h. es gibt keine oder kaum eine Kollision, wird sie kryptografische Hashfunktion genannt. ===Schnelligkeit=== Eine Hashfunktion sollte dazu in der Lage sein die Berechnung des Hashwertes effizient durchzuführen. ===Speicherverbrauch=== Der Speicherverbrauch einer Hashfunktion sollte gering sein. ==Anwendung von Hashfunktion==