2004-03-12, 20:14
>ich meinte ja nur: warum eine zufällige zahl noch
>zufälliger machen probieren?
na, es ging nur darum, dass eben auch Buchstaben verwendet werden - nicht nur zahlen. Bei einer 4-stelligen Zahl gibt es 10.000 Möglichkeiten (10^4) Bei Buchstaben und Zahlen gibt es (10 + 26)^4 Möglichkeiten => 1,6 Mio Möglichkeiten. Dafür bräuchte man schon eine 7-stellige Zahl.
>ausserdem ist es eine verschwendung von processor-cycles.
stimmt. Das ich sowas vorschlage - so kenne ich mich gar net. In der Firma lachen sie mich immer aus, wenn ich ihnen vorrechne, was von den Tacktzyklen her schneller ist. Aber man muss halt wissen, wo es wichtig ist zu optimieren. Wenn ich alle paar Minuten mal 100.000 Taktzyklen verschwenden ist ziemlich egal (bei 2 Mrd. Taktzyklen pro Sekunde). Aber wenn ich mir irgendwo immer wieder 100 Taktzyklen sparen kann...
>ob sie dann noch normalverteilt sind?....
>wäre in der tat interessant, aber ich denke
> mal NEIN (Siehe RFC irgendwo im netz...demnach würd
> ich eher sagen nein, da ja zwei strings den gleichen digest haben
>können...wenn auch sehr unwahrscheinlich)
Da hast du recht. Klarerweise können zwei Eingangswerte denselben Hash-Wert erhalten (Eingang ist ja beliebig groß, Ausgang nur begrenzt).
>ausserdem wenn du einen hash beschneidest ist
>die ganze einzigartigkeit beim teufel...
>das sollte man auf keinen fall tun.
- Hash ist nie einzigartig
- Gesucht ist eine Zufallszahl, die ist auch nie einzigartig.
>Zugegebener massen - man müsste glaub ich ein Mathematiker sein, um die
>meisten hier aufgetretenen Fragen zu beantworten
ich würde das bestenfalls empirisch testen. Programm schreiben, dass das einfach macht und dann schauen, wie die Codes verteilt sind.
Mathematisch wäre das ziemlcih zach, weil so Hash-Algorithmen schon ziemlich zach sind. Ich bin schon ziemlcih ausgestiegen, als ich im Zuge meiner Diplomarbeit mich mit dem MD5 beschäftigt habe, und einen Artikel gefunden habe, wo stand, dass MD5 nicht mehr uneingeschränkt kollissionsfrei ist. Dh. unter bestimmten Umständen ist es möglich zu einem bestimmten Eingangswert mit einem entsprechenden Hash-Wert einen anderen Eingangswert zu finden, der auch denselben Hash-Wert ergibt. Unter welchen Umständen habe ich allerdings nicht gecheckt. Jedenfalls empfehlen, die dass man stattdessen SHA-1 verwenden soll.
>zufälliger machen probieren?
na, es ging nur darum, dass eben auch Buchstaben verwendet werden - nicht nur zahlen. Bei einer 4-stelligen Zahl gibt es 10.000 Möglichkeiten (10^4) Bei Buchstaben und Zahlen gibt es (10 + 26)^4 Möglichkeiten => 1,6 Mio Möglichkeiten. Dafür bräuchte man schon eine 7-stellige Zahl.
>ausserdem ist es eine verschwendung von processor-cycles.
stimmt. Das ich sowas vorschlage - so kenne ich mich gar net. In der Firma lachen sie mich immer aus, wenn ich ihnen vorrechne, was von den Tacktzyklen her schneller ist. Aber man muss halt wissen, wo es wichtig ist zu optimieren. Wenn ich alle paar Minuten mal 100.000 Taktzyklen verschwenden ist ziemlich egal (bei 2 Mrd. Taktzyklen pro Sekunde). Aber wenn ich mir irgendwo immer wieder 100 Taktzyklen sparen kann...
>ob sie dann noch normalverteilt sind?....
>wäre in der tat interessant, aber ich denke
> mal NEIN (Siehe RFC irgendwo im netz...demnach würd
> ich eher sagen nein, da ja zwei strings den gleichen digest haben
>können...wenn auch sehr unwahrscheinlich)
Da hast du recht. Klarerweise können zwei Eingangswerte denselben Hash-Wert erhalten (Eingang ist ja beliebig groß, Ausgang nur begrenzt).
>ausserdem wenn du einen hash beschneidest ist
>die ganze einzigartigkeit beim teufel...
>das sollte man auf keinen fall tun.
- Hash ist nie einzigartig
- Gesucht ist eine Zufallszahl, die ist auch nie einzigartig.
>Zugegebener massen - man müsste glaub ich ein Mathematiker sein, um die
>meisten hier aufgetretenen Fragen zu beantworten
ich würde das bestenfalls empirisch testen. Programm schreiben, dass das einfach macht und dann schauen, wie die Codes verteilt sind.
Mathematisch wäre das ziemlcih zach, weil so Hash-Algorithmen schon ziemlich zach sind. Ich bin schon ziemlcih ausgestiegen, als ich im Zuge meiner Diplomarbeit mich mit dem MD5 beschäftigt habe, und einen Artikel gefunden habe, wo stand, dass MD5 nicht mehr uneingeschränkt kollissionsfrei ist. Dh. unter bestimmten Umständen ist es möglich zu einem bestimmten Eingangswert mit einem entsprechenden Hash-Wert einen anderen Eingangswert zu finden, der auch denselben Hash-Wert ergibt. Unter welchen Umständen habe ich allerdings nicht gecheckt. Jedenfalls empfehlen, die dass man stattdessen SHA-1 verwenden soll.