выбор наиболее уникального типа хеша

nexen

Новичок
Автор оригинала: soulhunter
nexen
постараюсь объяснить попроще: если ты берешь хеш от двух разных строк и ВДРУГ он совпадает - то каждый следующий хеш, взятый уже с этих одинаковых строк уж тем более будет совпадать, так что смысла в более чем однократном хешировании нет никакого.
это я понимаю , я сперва вопрос несколько с другой стороны рассматривал, - на возможные попытки подбора или иного взлома - в любом случае пологаю, что необходимо после генерации строки проверить - есть ли уже такой хеш или нет . . .
 

DiMA

php.spb.ru
Команда форума
> echo md5(md5(md5($str)));

Повторно: не суйся с этим бредом более никуда.

Допустим, с двумя хешами в ЧИСЛОВОМ виде можно производить МАТЕМАТИЧЕСКИЕ операции и общая уникальность, скорее всего, не ухудшиться (типа, сложим 2 числовых хеша для запутывания, потом тока в хекс-строку переводим), но хеш от строки - бредни..

> иначе следуя вашей логике и логины с паролями можно при регистрации не проверять - ведь по теории вероятности. . . и бла-бла-бла

Почитай в инете, прежде чем позволять себе на людях нести бредни о вещах, которых не понимаешь. Уже давно существуют разработки, позволяющие к хешу от какого-то документа (хеш выступает цифровой подписью) сочинить другой документ с таким же md5-хешом. Другое дело - этот поддельный документ никаким образом использовать нельзя, т.к. состоит он из мусора (и к коротким паролям не применимо), но коллизий намного больше, чем это может показаться. Если же вдруг поддельный документ (например, левый пароль, подходящий под символы и длину) удасться сделать из осмысленного текста - это уже будет проблема, но о таком я еще не слышал.
 

dimagolov

Новичок
nexen, чтобы не надо было оправдываться надо не писать херни. может стоит угомониться и не пытаться показать свои знания (которых не так уж и много) в каждой теме?
 

SiMM

Новичок
> я сперва вопрос несколько с другой стороны рассматривал, - на возможные попытки подбора или иного взлома
Даже с этой стороны это бред.
 

phprus

Moderator
Команда форума
TutanXamoN
Ошибаешься.
Если у нас есть две функции h(x)=md5(x) и h2(x)=md5(md5(x)), то вероятность коллизии при использовании h2(x) выше, чем при использовании h(x). И чем больше вложенность тем больше вероятность получить коллизию.
 

dimagolov

Новичок
кстати, а есть статистическая оценка вероятности коллизии в md5? причем интересна не теоретическая (на произвольном наборе данных, она действительно пренебрежимо мала), а на определенных классах данных? без нее обсуждение в данной теме не имеет особого смысла.

нагуглил статью, в ней, в частности сказано:
Антуан Жу, один из пары учёных, первыми обнаруживших ошибки в SHA-0, представил работу по нахождению коллизий в хэш-функциях, состоящих из нескольких хэш-функций, где одна выполняется следом за другой. Его результаты пока отсутствуют в wwwэлектронном архиве Международной ассоциации криптологических исследований (IACR).

В своём исследовании Жу утверждает, что каскадные функции не обеспечивают повышенной безопасности. Его вывод: "В этой работе мы показали, что находить мультиколлизии в итеративных хэш-функциях не намного труднее, чем простые коллизии". Важность этого открытия станет понятна чуть ниже.
 

nexen

Новичок
уверяю вас - всё это, непосредственно вам , не грозит ! - скорее пирамиды рассыпятся в пыль чем кто то из вас столкнется с коллизией, - и писать свой код исходя из умозаключений Антуана Жу о том, что раз в миллион лет коллизия всё же произойдет - вот это уж точно фанатизм ! ))
 

AmdY

Пью пиво
Команда форума
эх, блажен верующий. не знаю как с sha, но для md5 и по 3 комбинации может быть.
 

zerkms

TDD infected
Команда форума
nexen
если это фанатизм, зачем ты тогда советовал делать md5(md5(...)) в вопросе, основным критерием оценки решения которого была уникальность, а не мифическая опасность "подбора-взлома" на которую ты начал съезжать в середине разговора?
 

vovanium

Новичок
AmdY
но для md5 и по 3 комбинации может быть
А какова вероятность такого для осмысленных файлов с одинаковым размером?
В общем раз уж ТС все равно собрался скачивать все файлы, пусть сделает исследование и считает несколько хэшей. А потом доложит результаты исследования ;)
 

dimagolov

Новичок
vovanium, проще прогнать через MD5 все файлы на диске и посмотреть результаты :)
 

StUV

Rotaredom
Есть робот, он сканирует файлообменные сети DC++, Torrent, Ed2k, FTP сервера и прочие файлохранилища.
Поскольку в каждой из этих сетей своя система хеширования, то, чтобы сопоставить файлы между ними - необходимо их всех скачивать и составлять свой собственный хеш и делать таблицу соответствий.
а что мешает сконкатенировать "имя" сети с внутренним хешем этой сети ?.. ;)
 

weregod

unserializer
StUV, в разных сетях могут быть одинаковые файлы, как результат - хэши у них будут разные, что не помогает для решения задачи
 

SiMM

Новичок
weregod, а как решению задачи помогает то, что хочет топикстартер? ИМХО, не нужно придумывать свой хеш, а достаточно значений хеша для разных систем для одного и того же файла.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
эпическая задача "очистим торренты от дублей" :)
 

weregod

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

tf

крылья рулят
а какова вероятность новой коллизии. если для ее решения методом цепочек использовать другую хеш функцию?
 
Сверху