(Hashes)Prinzip

Notiz: Ein Hash– Funktion verwandelt X nach Y. Zurück von Y nach X geht’s nimmer.Das letztere wäre der Fall wenn wir ein symmetrisches Kryptografie- Verfahren anwenden würden.

Nehmen wir an, wir möchten eine Zugangskontrolle – für eine Datenbank, eine Webseite etc. – bauen. Das ganze soll für mehrere Nutzer, jeder hat seinen eigenen usernamen und sein eigenes Passwort, funktionieren. Beides ist in einer Datenbank abgelegt. Da es sich um Sicherheitsrelevante Daten handelt, wäre es nicht sehr schlau, wenn das dort im Klartext stehen würde. Denn, ein Hexeditor gibt Aufschluss:

Screen Shot 2016-08-13 at 9.47.03 PM
Verdächtige Strings. Welche sind wohl eine  User/ Password Kombination?

Eine Hash- Funktion hilft. Nehmen wir an die Funktion heist H(x). x Sei eine Zeichenkette und H liefert dafür den Hashwert h zurück. Wenn man einen neuen user anlegt, berechnet man aus dem Password- String x den Wert h und legt nun h in der Datenbank ab. Das war es!

Das Selbe macht man beim Login. Wenn das Password eingegeben wurde berechnet man daraus wieder h und gleicht das mit der Datenbank ab. Ist h drin, dann ist das Password richtig.

Die Hash- Funktion ist umso besser, je unzweideutiger h ist. Zum Beispiel: Wird die Stellung der Zeichen im String nicht berücksichtigt, dann würde ‚abc‘ das Selbe h ergeben wie ‚cba‘. Nehmen wir an, die Menge der möglichen Eingabe- Strings sei unendlich, dann sollten auch unendlich viele h herauskommen und kein h sollte dem anderen gleichen. Die Kunst ist es nun eine für seine Zwecke möglichst brauchbare Funktion H zu finden.

 

 

 

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s