Каким образом значения хэш-функции MD5 не обратимы?

88
задан Scott Arciszewski 28 May 2019 в 20:46
поделиться

11 ответов

Входной материал может быть бесконечной длиной, где вывод всегда 128 битов длиной. Это означает, что бесконечное число входных строк генерирует тот же вывод.

, Если Вы выбираете случайное число и делите его на 2, но только записываете остаток, Вы получите или 0 или 1 - даже или нечетный, соответственно. Действительно ли возможно взять тот 0 или 1 и получить исходное число?

201
ответ дан Cody Brocious 24 November 2019 в 07:23
поделиться

по определению Хеш (криптографический Хеш) функция: не должно быть обратимым; не должен иметь (наименее возможных) коллизий.

regd Ваш вопрос: это - односторонний хэш. вход (независимо от длины) генерирует вывод фиксированного размера. (это будет дополнено на основе алгоритма (граница на 512 битов для MD5)). Информация сжата (потерянная), и практически не возможный генерировать от реверса преобразовывает.

дополнительная информация о MD5: это уязвимо для коллизий. прошедший эта статья недавно, http://www.win.tue.nl/hashclash/Nostradamus/

открывает исходный код для реализаций хеша crypto (MD5, и SHA) может быть найден в коде Mozilla. (freebl библиотека).

0
ответ дан FL4SOF 24 November 2019 в 07:23
поделиться

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

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

1
ответ дан Tim Matthews 24 November 2019 в 07:23
поделиться

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

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

2
ответ дан martinlund 24 November 2019 в 07:23
поделиться

Хэш-коллизия намного более вероятна, чем Вы думали бы. Смотрите на парадокс дня рождения для получения большего понимания того, почему это.

4
ответ дан Gamic 24 November 2019 в 07:23
поделиться

Хороший способ думать о хеш-алгоритме состоит в том, чтобы думать об изменении размеров изображения в Photoshop... говорят, что у Вас есть изображение, которое составляет 5000x5000 пикселей, и Вы тогда изменяете размеры его только к 32x32. То, что Вы имеете, является все еще представлением исходного изображения, но это очень намного меньше и эффективно "выбросило" определенные части данных изображения, чтобы заставить его поместиться в меньший размер. Таким образом, если бы необходимо было изменить размеры этого 32x32 изображение назад до 5000x5000 все, что Вы получили бы, расплывчатая путаница. Однако, потому что 32x32 изображение не то, что большой было бы теоретически возможно, что другое изображение могло быть уменьшено для создания тех же самых пикселей!

Это - просто аналогия, но она помогает понять то, что делает хеш.

8
ответ дан nbevans 24 November 2019 в 07:23
поделиться

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

, Например,

"hello" -> "1ab53"
"Hello" -> "993LB"
"ZR#!RELSIEKF" -> "1ab53"

(Очевидно, это не фактическое шифрование MD5)

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

12
ответ дан Trevel 24 November 2019 в 07:23
поделиться

Ответ Cody Brocious является правильным. Строго говоря Вы не можете "инвертировать" хеш-функцию, потому что много строк отображаются на том же хеше. Заметьте, однако, что или нахождение одно строка, которая отображается на данном хеше или нахождении два строки, которые отображаются на том же хеше (т.е. коллизия ), было бы главными прорывами для криптоаналитика. Большая трудность обеих этих проблем является причиной, почему хорошие хеш-функции полезны в криптографии.

18
ответ дан Federico A. Ramponi 24 November 2019 в 07:23
поделиться

Если бы хеш-функции, такие как MD5 были обратимы тогда, это было бы событие водораздела в истории алгоритмов сжатия данных! Ее легкое, чтобы видеть, что, если MD5 были обратимы тогда, произвольные блоки данных произвольного размера могли бы быть представлены на всего лишь 128 битов без любой потери информации. Таким образом Вы были бы в состоянии восстановить исходное сообщение от числа на 128 битов независимо от размера исходного сообщения.

52
ответ дан Autodidact 24 November 2019 в 07:23
поделиться

Поскольку количество возможных входных файлов больше, чем количество 128-разрядных выводов, невозможно исключительно присвоить хеш MD5 каждому возможному.

Криптографические хеш-функции используются для проверки целостности данных или цифровых подписей (хеш, подписываемый для эффективности). Изменение оригинала документа должно поэтому означать, что исходный хеш не соответствует измененному документу.

Эти критерии иногда используются:

  1. сопротивление Перед изображением: для данной хеш-функции и данного хеша, должно быть трудно найти вход, который имеет данный хеш для той функции.
  2. Второе сопротивление перед изображением: для данной хеш-функции и входа, должно быть трудно найти секунду, отличающуюся, ввести с тем же хешем.
  3. сопротивление Коллизии: поскольку данный имеет функцию, должно быть трудно найти два различных исходных данные с тем же хешем.

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

Номер 3 подразумевает номер 2.

Что касается MD5, в частности, это, как показывали, было испорчено: , Как повредить MD5 и другие хеш-функции .

4
ответ дан Paŭlo Ebermann 24 November 2019 в 07:23
поделиться

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

Например, попробуйте следующий хеш-код на http://gdataonline.com/seekhash.php , чтобы узнать, какой текст я использовал для вычисления хэша

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

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