Der Php Entwickler der den hash erstellt ( erfunden und programmiert ) hat, könnte er den hash knacken ?
Hi Basti,
das das mit dem Hashen ist etwas anderes als verschlüsseln. Beim Verschlüsseln wird der Eigentliche Inhalt durch einen schlüssel so verändert das nur der den Schlüssel kennt, den Ursprungswert wieder Entschlüsseln / Lesen kann.
Einfaches beispiel: Cesar / Rot13 verschlüsselung (hier mal googeln)
Text ist ABCD Rot13 rotiert einfach das Alphabet um 13 Zeichen Damit ist dann A = N, B = O, C = P usw.
Unser eispiel ABCD wird zu NOPQ. Wer den Schlüssel kennt (13) kann es zurückverwandeln. Du kannst den Schlüssel auch frei wählen
bei 1 wäre es A = B, C = D usw.
Zum Hashen: lange zeit waren md5 und dann SAH1 ausreichend.
Das Hashen berechnet einen immer gleich langen wert aus den gegebenen Daten, dabei verliert man aber den Ursprungswert komplett. Die einfachste Hash-Funktion die mir als beispiel einfällt, ist das berechnen der Quersumme.
Bsp.: die Zahl 1234 hat die erste Quersumme 1+2+3+4 = 10 Zweite Quersumme 1+0 = 1. Damit wäre der Hash von 1234 = 1. Aber von 1 auf 1234 zu kommen ist unmöglich.
Das Quersummen beispiel zeigt aber auch, wo die Problematik von Hashs liegen, denn die Quersumme 1 hat auch die zahl 10, 100, 1000, 10000 usw.
md5 ist deshalb an einigen stellen unsicher geworden, weil wir mittlerweile so viel Rechenleistung haben, das man schnell nach neuen werten Suchen kann, die den gleichen Hashs haben. (Grund, md5 hat 32AlNum stellen, durch die Begrenzung haben wir schon mehr Daten die in Hashs umgewandelt werden können, als md5 platz bietet). Deswegen wurden hier neue Methoden entwickelt (die weit Komplexer sind um einen höchstmöglichen 'zufall' zu haben).
Daher ist die Frage ob auch der Entwickler das Knacken kann, zu verneinen, aber vor dem Entwickler muss man da auch keine Angst haben, da die Standards oder die Logik wie eine Verschlüsselung / Hash berechnet wird, "allen" bekannt ist, solange man genormte Methoden nutzt.
Die frage ist eher, haben die Entwickler von PHP Sicherheitslücken in ihrem Code und da kann man nur sagen, weiß man erst, wenn eine gefunden wurde. (Stichwort Hearthbleed).
Nochmal zur Sicherheit: Die Algorithmen dahinter sind Sicher, so lange wie das Zufällige berechnen zu lange dauert (man rechnet hier dann von 100/1000/10000 Jahren Rechenzeit).
Wenn wir Rot13 nehmen um den text zu entschlüsseln muss man den ganzen text bei einem Alphabet von 26 Zeichen, also nur 26 mal durchlaufen lassen um die Lösung zu finden. Bei den Quersummen mit einer stelle muss ich nur 10 (0-9) Kollisionen erzeugen, was Computer in Millisekunden schaffen. Mehr Komplexität = Mehr zeit = Mehr Sicherheit.
Hoffe das hilft,
Grüße
Timo