(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

A Trip Down the Graphics Pipeline…

Auf der Suche nach einem brauchbarem, einfachen Algorithmus zum zeichnen eines Kreises – der selbstverständlich nur mit Ganzzahlen rechnet – bin ich auf das hier gestoßen:

http://webstaff.itn.liu.se/~stegu/circle/circlealgorithm.pdf
(letzter Aufruf: 12.7.2015)

In diesem Dokument wird auch auf das Buch verwiesen, das titelgebend für diesen Blogeintrag ist: Blinn, Jimm: A Trip Down the Graphics Pipeline

Mehr zum Buch und die Quellen wo es zu haben ist, finden sich leicht im Netz.

Happy coding.