2013-05-26 4 views
0

Я немного запутался в своей текущей задаче, которая заключается в переборке хеша md5. Я также могу уменьшить значение хэша до 24 бит для обучения, и я использую OpenSSL в C для генерации хеша md5. Моя проблема заключается в том, что я не понимаю точного метода грубой форсировки, что я пытался:Как я могу скорректировать хеш md5?

Проверьте каждый символ ascii, добавьте его, а затем хэш, затем сравните его с целевым хешем.

Если это правильный способ перебора хэша, то как мне уменьшить его до 24 бит (потому что тогда хэш будет изменен)?

+2

Да, просто перебирайте все возможные входные строки, пока не найдете тот, чей хеш сталкивается. –

ответ

1

«Снижение до 24 бит» ради осуществления означает, что вместо того, чтобы искать вход X таким образом, что md5(X)=<128 target bits (fixed)>, вы можете вместо этого решить более простую задачу ищет X такие, что md5(X)=<124 unconstrainted bits><24 target bits>.

Другими словами, тест на принятие решения о том, достигли ли вы своей цели, является более снисходительным.


«Грубая сила» означает методично пробовать все входы, пока не найдете тот, который удовлетворяет условию. Если вы тестировали алфавитные слова, это означало бы, например, тестирование a, b, ..., z, aa, ab, ac, ... (но нет оснований ограничивать себя алфавитными словами, вы можете попробовать все двоичные сообщения длиной 1, 2, ...)

Смежные вопросы