Elisa

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Definition: Eine Hashwertfunktion/Streuwertfunktion ist eine mathematische Funktion. Diese reduziert Zeichen beliebiger Länge (z.B. unterschiedliche Passwörter) auf eine festgelegte Länge dieser Zeichen (z.B. immer 5 Zeichen), sie werden also in eine kleinere und kompaktere Form gebracht. Da Hashfunktionen oftmals in Form eines Algorithmus statt einer mathematischen Funktion spezifiziert werden, wird speziell in der Informatik der Begriff Hash-Algorithmus verwendet. Die Werte einer solchen Funktion sind meist skalare Werte aus einer begrenzten Teilmenge der natürlichen Zahlen.

Inhaltsverzeichnis

Eigenschaften

Schnelligkeit: Das Berechnungsverfahren des Hashwertes muss schnell sein

Für die Namen "John Smith" und "Sandra Dee" würde es zu einer Kollision kommen.

Einwegfunktion: Aus dem Hashwert (z.B. 123) darf nicht der originale Inhalt, z.B. eines Passwortes, erzeugt werden können.

Kollisionssicherheit: Es muss möglichst eine Gleichverteilung der Hashwerte auf die Eingabewerte vorhanden sein, d.h. unterschiedlichen Texten darf nicht derselbe Hashwert zugeordnet sein. Ist diese Voraussetzung erfüllt, so spricht man von kryptografischen Hashfunktionen.





Anwendung

Datenbanken

Um Daten in großen Datenbeständen mittels Hashtabellen zu suchen, verwenden Datenbankmanagementsysteme Hashfunktionen.

Speichern von Passwörtern

Passwörter werden verschlüsselt gespeichert, damit diese bei einem möglichen Angriff nicht im Klartext gelesen werden können. Die Passwörter werden mit einer Hashfunktion in Hashwerte umgewandelt und nur die Hashwerte werden gespeichert, nicht die Passwörter an sich.

Kryptologie

Kryptologische Hashfunktionen besitzen besondere Eigenschaften, welche verwendet werden, um die Integrität von Daten sicherzustellen (Nachrichten zu signieren). Zum Hashen von Passwörtern werden spezielle Hashfunktionen verwendet, welche besonders aufwändig zu berechnen sind, um Angriffe zu erschweren.

Sicherheit

Um Passwörter nicht anhand einer einfachen Regenbogentabelle knacken zu können, sollten keine veralteten Algorithmen genutzt werden. Außerdem sollten die Passwörter regelmäßig gewechselt werden, da auch veraltete Plattformen damit auf neue Techniken umstellen und diese bei einem Passwortwechsel genutzt werden können. Auch bei "sicheren" Hashfunktionen darf keine hundertprozentige Sicherheit erwartet werden. Zum Beispiel könnte ein manipulierter Hashwert als Prüfsumme im Internet veröffentlicht werden. Es ist aber auch nur eine Frage der Zeit, wann die "sicheren" kryptografischen Hashfunktionen geknackt werden, denn der Erfolg eines Angriffes ist auch bei diesen Hashfunktionen nicht auszuschließen. Ein erfolgreicher Angriff ist zwar unwahrscheinlich, aber nicht komplett unmöglich.

Quellen

https://www.datenschutzbeauftragter-info.de/hashwerte-und-hashfunktionen-einfach-erklaert/

https://de.wikipedia.org/wiki/Hashfunktion#Definition_einer_Hashfunktion

https://wiki.ubuntuusers.de/Hashfunktionen/

https://de.wikipedia.org/wiki/Hashfunktion#/media/File:Hash_table_4_1_1_0_0_1_0_LL.svg

Persönliche Werkzeuge