Учитывая набор из 100 различных строк равной длины, как вы можете количественно оценить вероятность того, что столкновение SHA1 для строк вряд ли возможно??Вероятность столкновений SHA1
ответ
ли 160 бит хэш-значения генерируется по SHA-1 достаточно большой, чтобы обеспечить отпечатков пальцев каждого блока является уникальным? Предполагая, что случайные значения хэш-функции с распределением равномерной, коллекция п различных блоков данных и хеш- функция, которая генерирует б битов, то вероятность р, что будет один или более столкновений ограничена числом пар блоков умножается на на вероятность столкновения данной пары .
(источник: http://bitcache.org/faq/hash-collision-probabilities)
В заключение, вероятность столкновения составляет порядка 10^-45. Это очень, очень маловероятно. –
Но SHA-1 не является равномерным распределением, оно может быть больше, чем эта верхняя граница. Я сомневаюсь, что это уравнение неверно. Как минимум EQUAL. – Kamel
Этот ответ не учитывает китайское открытие в 2005 году, где они могут создавать столкновения в итерациях 2^69, а не 2^80, спроецированные грубой силой https://www.schneier.com/blog/archives /2005/02/sha1_broken.html – Djarid
Это Birthday Problem - статья дает приятные аппроксимации, которые позволяют легко оценить вероятность. Фактическая вероятность будет очень очень низкой - см. Пример this question.
Хорошо, вероятность столкновения будет равна 1 - ((2^160 - 1)/2^160) * ((2^160 - 2)/2^160) * ... * ((2^160 - 99)/2^160).
Подумайте о вероятности столкновения 2 предметов в пространстве 10. Первый элемент уникален с вероятностью 100%. Вторая уникальна с вероятностью 9/10. Таким образом, вероятность того, что оба уникальны, составляет 100% * 90%, а вероятность столкновения равна 1 - (100% * 90%) или 1 - ((10 - 0)/10) * ((10 - 1)/10), или 1 - ((10 - 1)/10).
Это маловероятно. У вас должно быть много строк, чтобы это была отдаленная возможность.
Посмотрите на таблицу на this page on Wikipedia; просто интерполировать между строками для 128 бит и 256 бит.
- 1. SHA1 Демонстрация столкновения/пример
- 2. Вероятность столкновения хэша Java
- 3. Используйте комбинацию SHA1 + MD5
- 4. Как рассчитать ожидаемую частоту столкновений
- 5. Случайная вероятность
- 6. Вероятность Maths
- 7. Вероятность улучшается?
- 8. Вероятность сомнений
- 9. Python, вероятность
- 10. Вероятность функция
- 11. Вероятность кости
- 12. Байесовская вероятность
- 13. Вероятность события
- 14. Разное в Java SHA1 vs JavaScript SHA1
- 15. Являются ли хеши SHA1 равномерно распределенными?
- 16. Обнаружение столкновений
- 17. R статистика, оценивающая вероятность случаев. Какова вероятность того, что мост ...
- 18. Марковская цепь - Вероятность выборки с «невидимыми» наблюдениями (вероятность 0)
- 19. Условная вероятность использования Pymc3
- 20. вероятность и относительная частота
- 21. вероятность случайных чисел
- 22. Вероятность urnsample дает 0?
- 23. Python Логнормального Вероятность Plot
- 24. линейная вероятность от нелинейного
- 25. Вероятность и частота
- 26. Java: Как смоделировать вероятность?
- 27. Пользовательская вероятность в pymc3
- 28. Вероятность рожденица: неправильный вывод
- 29. вероятность: независимы ли события?
- 30. Кумулятивная биномиальная вероятность C#
уточнить, как вы можете иметь 'разные, но равные длины' струны? – KevinDTimm
@kevindtimm "a", "b", "c" равны длины, но разные строки –
Я предполагаю, что строки имеют длину не менее 20 байтов. В противном случае, очевидно, шансы были бы выше столкновения. :) –