Идентификационные данные Инверсии MD5: Делает (X, Y) существуют таким образом что md5 (X) =Y и md5 (Y) =X

Выберите цель «Unit Unit Test» в разделе «Targets» в списке проектов / целей и в разделе «General» выберите приложение «Хост» в качестве основного приложения со шрифтами.

Это решило проблему для меня.

16
задан Community 23 May 2017 в 12:01
поделиться

2 ответа

Это не то же самое, что поиск личности Кембера.

Рассмотрим различия в следующих случаях:

md5(X) == X

Чтобы это было правдой, X должно быть 128-битным значением.

Это не то же самое, что следующее:

bin2hex(md5('string')) == 'string' 

Это то, что на самом деле ищет поиск личности Кембера. Если вы посмотрите на любую из реализаций поиска на их сайте, вы легко увидите, что они работают с 32-символьными строками, а не со 128-битными числами, в качестве входных данных для функции md5 и, таким образом, не ищут md5 (X) == X.

Я тоже не первый, кто указывает на это, вы можете найти Эта статья Криса Томпсона, прямо нацеленная на «Кембер-личность» , поучительна.

3
ответ дан 30 November 2019 в 23:24
поделиться

(Оба ответа были найдены при чтении этой ссылки ) ...

Чтобы ответить на вопрос (1), примите во внимание следующее:

Грубое форсирование всех md5 (x) = x означает проверку 2,4x10 ^ 38 значений. Моя быстрая тестовая реализация может проверять около 2,3x10 ^ 9 значений в час, а это означает, что для его грубой силы потребуется почти ровно 10 ^ 29 часов. Скажем, у меня есть миллион человек, чтобы помочь мне, тогда у нас осталось 10 ^ 23 лет ... И предположим, что алгоритм стал в миллион раз быстрее с некоторой умной оптимизацией, и у нас осталось 10 ^ 17 лет. И давайте представим, что компьютеры за ночь станут в миллион раз быстрее, и мы сократились до 10 ^ 11 лет, что значительно дольше, чем существовала Вселенная.

Я полагаю, что вышесказанное можно было бы обработать быстрее с помощью некоторой умной силы. алгоритм †.

Чтобы ответить на вопрос (2), следующие два блока имеют одинаковый хэш md5:

d131dd02c5e6eec4693d9a0698aff95c 2fcab58712467eab4004583eb8fb7f89
55ad340609f4b30283e488832571415a 085125e8f7cdc99fd91dbdf280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e2b487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080a80d1e c69821bcb6a8839396f9652b6ff72a70

и

d131dd02c5e6eec4693d9a0698aff95c 2fcab50712467eab4004583eb8fb7f89
55ad340609f4b30283e4888325f1415a 085125e8f7cdc99fd91dbd7280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e23487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080280d1e c69821bcb6a8839396f965ab6ff72a70

6 байтов различаются между двумя блоками (байты 39, 91, 119, 167, 219 и 247), а хеш - 79054025255fb1a26e4bc422aef54eb4 . Я мог бы представить, что блоки были обнаружены каким-то интеллектуальным алгоритмом силы †, хотя я не знаю наверняка.

†:

4
ответ дан 30 November 2019 в 23:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: