Какое максимальное количество хэшей SHA-1? - PullRequest
6 голосов
/ 10 сентября 2011

Очевидно, что, поскольку хэширование SHA-1 генерирует 40 символов каждый раз, когда существует конечное число возможных хэшей - кто-нибудь точно знает, сколько?

Ответы [ 3 ]

13 голосов
/ 10 сентября 2011

SHA-1 хэши имеют 160 бит, поэтому их 2 160 .
(2 160 = 1461501637330902918203684832716283019655932542976 ~ = 1,46 x 10 48 )

Обратите внимание, что, поскольку у вас гораздо больше места для сообщений, чем возможных хэшей, обязательно произойдут коллизии.

Также обратите внимание, что вероятность столкновения намного выше, чем вы думаете. Всего лишь 2 80 сообщений вероятность столкновения составляет 50%, благодаря парадоксу Birthday . (то есть: только с 23 людьми вероятность того, что 2 человека имеют одинаковый день рождения, составляет 50%).

9 голосов
/ 11 сентября 2011

SHA-1 выдает 160-битные выходы, и он должен быть способен генерировать практически любую последовательность из 160 битов. Есть 2 160 таких последовательностей, то есть близко к 1461 миллиарды миллиардов миллиардов миллиардов миллиардов. Это что-то большое.

Однако у нас нет доказательств того, что каждый из них доступен. Для безопасности SHA-1 было бы плохо, если бы число возможных выходов было бы значительно ниже, чем 2 160 ; например, если бы была доступна только 1/4 из них (2 158 ), защита от атак с прообразом была бы разделена на 4, а защита от столкновений была бы уменьшена вдвое. В настоящее время такой проблемы с SHA-1 не известно ( есть известные слабые стороны SHA-1, когда речь идет о сопротивлении столкновениям, но не , что one).

Возможно (но это будет по меньшей мере слегка удивительно), что несколько 160-битных выходов не могут быть достигнуты. Ожидается, что это останется неизвестным . В какой-то степени возможность доказать , что возможные выходные данные SHA-1 покрывают все 160-битное пространство, вызывает беспокойство: такое доказательство потребует тщательного анализа математической структуры SHA-1, и безопасность SHA-1 во многом зависит от того, насколько сложен такой анализ.

0 голосов
/ 12 февраля 2014

SHA-1 состоит из 5 32-битных целых чисел.

Это 4294967296 ^ 5 или 2 ^ 160

или 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976 возможностей

Чтобы представить это в перспективе

Всего возможных значений SHA-1: 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976 Всего галлонов воды на Земле: 365 904 000 000 000 000 000

Включает в себя каждый океан, море, озеро и т. Д. - источник

В данный момент вероятность столкновений является только теоретической. Все еще жду, чтобы услышать об одном.

...