Ответ 1
(Оба ответа были найдены при чтении эта ссылка)...
Чтобы ответить на вопрос (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
. Я бы предположил, что блоки были обнаружены каким-то алгоритмом умной силы и кинжалом, хотя я точно не знаю.
& dagger;: грубая сила с учетом проанализированных слабых сторон md5