Чем хеш MD5 или SHA-X отличается от шифрования? - PullRequest
0 голосов
/ 27 сентября 2011

Я пару раз читал, что MD5 не является шифрованием, например, на MD5 ... Шифрование? или Утилита дайджеста сообщений командной строки .

Что ж, я понял, что это дайджест хеша / сообщения, и объяснение в приведенных выше ссылках говорит, что для шифрования должен быть ключ, а хеш / md - это криптографическая хеш-функция *1008*, которая создает только подпись.Я не очень понимаю разницу.Разве вы не видите криптографическую хэш-функцию / алгоритм в качестве ключа?

Кроме того, в чем разница между чем-то криптографическим и шифрованием?

Ответы [ 3 ]

3 голосов
/ 27 сентября 2011

Вы не можете "расшифровать" хешированную функцию md5, и вы выбрали неверный алгоритм, если хотите передавать информацию, а получатель не может ее прочитать.

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

2 голосов
/ 27 сентября 2011

Алгоритм хеширования приводит к незаменимой потере информации об исходных данных, тогда как алгоритм шифрования имеет соответствующий алгоритм дешифрования, который восстанавливает исходные данные.

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

0 голосов
/ 27 сентября 2011

Не думаю, что вы можете рассматривать саму функцию как ключ.Поскольку ключ - это то, что вы передаете функции, чтобы зашифровать или расшифровать (<- невозможно с md5) сообщение. </p>

...