La probabilité de collisions SHA1
Étant donné un ensemble de 100 chaînes de longueur égale, comment pouvez-vous quantifier la probabilité qu'un SHA1 digest de collision pour les chaînes est peu probable... ?
- clarifier, comment pouvez-vous avoir " différents mais égaux de la longueur des chaînes?
- sont de longueur égale, mais différentes chaînes
- Je suis en supposant que les cordes sont à moins de 20 octets de long. Sinon, évidemment, les chances seraient plus élevés de collision. 🙂
- pourquoi est-ce évident? Je ne sais pas si c'est vrai
- doh, lors de la re-lecture, c'est parfaitement clair.
- Cette question est pertinente à cette question: sites.google.com/site/itstheshappening Au moins une collision a été trouvé.
Vous devez vous connecter pour publier un commentaire.
(source : http://bitcache.org/faq/hash-collision-probabilities)
Bien, la probabilité de collision serait:
1 - ((2^160 - 1) /2^160) * ((2^160 - 2) /2^160) * ... * ((2^160 - 99) /2^160)
Pense de la probabilité de collision de 2 éléments dans un espace de 10. Le premier élément est unique avec une probabilité de 100%. La deuxième est unique avec une probabilité de 9/10. De sorte que la probabilité d'être unique, c'est
100% * 90%
, et la probabilité de collision est:1 - (100% * 90%), or 1 - ((10 - 0) /10) * ((10 - 1) /10), or 1 - ((10 - 1) /10)
Il est assez peu probable. Vous devez avoir beaucoup plus de chaînes pour être une possibilité éloignée.
Prendre un coup d'oeil à la table sur cette page sur Wikipédia; il suffit d'interpoler entre les lignes de 128 bits et 256 bits.
C'est Problème D'Anniversaire - l'article donne une belle approximations qui font qu'il est assez facile d'estimer la probabilité. Probabilité réelle va être très très très faible voir cette question pour un exemple.