Wie können Sie bei einem Satz von 100 verschiedenen Zeichenfolgen gleicher Länge die Wahrscheinlichkeit quantifizieren, dass eine SHA1-Digest-Kollision für die Zeichenfolgen unwahrscheinlich ist ...?
hash
sha1
probability
eastafri
quelle
quelle
Antworten:
(Quelle: http://bitcache.org/faq/hash-collision-probabilities )
quelle
Nun, die Wahrscheinlichkeit einer Kollision wäre:
1 - ((2^160 - 1) / 2^160) * ((2^160 - 2) / 2^160) * ... * ((2^160 - 99) / 2^160)
Denken Sie an die Wahrscheinlichkeit einer Kollision von 2 Elementen in einem Raum von 10. Das erste Element ist mit einer Wahrscheinlichkeit von 100% eindeutig. Die zweite ist mit einer Wahrscheinlichkeit von 9/10 eindeutig. Die Wahrscheinlichkeit, dass beide eindeutig sind
100% * 90%
, ist also und die Wahrscheinlichkeit einer Kollision ist:1 - (100% * 90%), or 1 - ((10 - 0) / 10) * ((10 - 1) / 10), or 1 - ((10 - 1) / 10)
Es ist ziemlich unwahrscheinlich. Sie müssten viel mehr Zeichenfolgen haben, um eine entfernte Möglichkeit zu sein.
Schauen Sie sich die Tabelle auf dieser Seite auf Wikipedia an . Interpolieren Sie einfach zwischen den Zeilen für 128 Bit und 256 Bit.
quelle
Das ist Geburtstagsproblem - der Artikel enthält nette Annäherungen, die es ziemlich einfach machen, die Wahrscheinlichkeit abzuschätzen. Die tatsächliche Wahrscheinlichkeit wird sehr, sehr gering sein - siehe diese Frage als Beispiel.
quelle