Шифрование и Хэширование. Отличие и применение |

Шифрование и Хэширование. Отличие и применение

Статьи

Картинки по запросу md5 hash

Хеширование и шифрование – это те самые два слова, которые часто используются взаимозаменяемо, но порой неправильно.

Вы понимаете различие между этими двумя словами и ситуации, в которых вы должны использовать один из двух случаев?

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

Хеширование – Что это?

Хэш – значение или число, сгенерированное из последовательности текста.

Получающаяся строчка или число фиксированной длины  будут значительно различаться в зависимости от незначительных изменений на входе.

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

Популярные алгоритмы

MD5. MD5 – наиболее широко известная функция хеширования.

Этот алгоритм производит 16-битное значение хэша, обычно выражаемую 32 значным шестнадцатеричным числом.

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

SHA – есть три различных алгоритма SHA – SHA-0, SHA-1 и SHA-2.

SHA-0 очень редко используется, поскольку он имел уязвимость, которая была исправлена в SHA-1.

SHA-1 – обычный используемый алгоритм SHA и производит 20-битное значение хэша.

SHA-2 состоит из ряда 6 алгоритмов хеширования и считается самым сильным.

SHA-256 или выше рекомендуется для ситуаций, где безопасность жизненно важна. SHA-256 производит 32-битные значения хэша.

Когда должно использоваться хэширование?

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

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

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

Если эти два хэша совпадают, то фактически бесспорно, что пользователь, вводящий пароль, вводил правильный.

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

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

Шифрование – Что это?

Шифрование преобразует какие-либо данные в серию нечитабельных людскому глазу знаков, которые не имеют фиксированной длины.

Прежде всего – какой главный принцип шифрования? Правильно – наличие получателя – приемника если позволите.

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

Есть два основных типа шифрования, симметричное шифрования и шифрования на основе открытых ключей.

В симметричном ключевом шифровании ключ,необходимый чтобы и зашифровать и расшифровать является одним и тем же ключом.

Именно так, пожалуй, и думает большинство людей, когда они слышат о шифровании.

У шифрования на основе открытй ключей для сравнения есть два различных ключа, один шифрует последовательность (открытый ключ) и один расшифровывает ее (закрытый ключ).

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

Популярные алгоритмы

AES.  AES – “золотой стандарт”, когда речь заходит о способе симметричного шифрования и рекомендуется для большинства случаев  256 битным размером ключа.

PGP. PGP – самый популярный алгоритм шифрования на основе открытых ключей.

Когда должно использоваться шифрование?

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

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

Если сами данные не должны быть известны в начальном виде, то хеширование рекомендуется к использованию в данном случае, поскольку это более безопасно.

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий

  1. Михаил

    Чего, с какой солью хешировать?

    Ответить
    1. cryptoparty автор

      А что не понятного?

      Ответить