SHA-1 (сокращение от Алгоритм безопасного хеша 1 ) является одной из нескольких криптографических хеш-функций.
SHA-1 чаще всего используется для проверки того, что файл не изменился. Это делается путем создания контрольной суммы до того, как файл был передан, а затем снова, как только он достигнет места назначения.
Переданный файл можно считать подлинным, только если обе контрольные суммы идентичны.
История и уязвимости функции SHA Hash
SHA-1 является лишь одним из четырех алгоритмов семейства Secure Hash Algorithm (SHA). Большинство из них были разработаны Агентством национальной безопасности США (NSA) и опубликованы Национальным институтом стандартов и технологий (NIST).
SHA-0 имеет значение 160-битного сообщения (значение хэш-значения) и является первой версией этого алгоритма. Значения хэша SHA-0 составляют 40 цифр. Он был опубликован под названием «SHA» в 1993 году, но не использовался во многих приложениях, поскольку он был быстро заменен SHA-1 в 1995 году из-за недостатка безопасности.
SHA-1 - вторая итерация этой криптографической хэш-функции. SHA-1 также имеет дайджест сообщения 160 бит и стремится повысить уровень безопасности, устраняя слабость, обнаруженную в SHA-0. Однако в 2005 году SHA-1 также оказалась небезопасной.
Как только криптографические недостатки были обнаружены в SHA-1, NIST сделал заявление в 2006 году, поощряя федеральные агентства к использованию SHA-2 к 2010 году. SHA-2 сильнее, чем SHA-1, и атаки, сделанные против SHA-2, маловероятны с текущей вычислительной мощностью.
Не только федеральные агентства, но даже такие компании, как Google, Mozilla и Microsoft, все либо начали планировать прекратить прием сертификатов SSL SHA-1, либо уже заблокировали эти виды страниц от загрузки.
У Google есть доказательства столкновения SHA-1, которое делает этот метод ненадежным для создания уникальных контрольных сумм, независимо от того, касается ли он пароля, файла или любой другой части данных. Вы можете загрузить два уникальных файла PDF из SHAttered, чтобы посмотреть, как это работает. Используйте калькулятор SHA-1 снизу этой страницы, чтобы создать контрольную сумму для обоих, и вы обнаружите, что это значение точно такое же, даже если они содержат разные данные.
SHA-2 и SHA-3
SHA-2 был опубликован в 2001 году, спустя несколько лет после SHA-1. SHA-2 включает шесть хеш-функций с различными размерами дайджеста: SHA-224 , SHA-256 , SHA-384 , SHA-512 , SHA-512/224 , а также SHA-512/256 .
Разработанный дизайнерами не-NSA и выпущенный NIST в 2015 году, является еще одним членом семейства алгоритмов Secure Hash, который называется SHA-3 (ранее Keccak ).
SHA-3 не предназначен для замены SHA-2, как и предыдущие версии, предназначенные для замены более ранних. Вместо этого SHA-3 был разработан как еще одна альтернатива SHA-0, SHA-1 и MD5.
Как используется SHA-1?
Один пример в реальном мире, где SHA-1 может использоваться, - это когда вы вводите свой пароль на странице входа в веб-сайт. Хотя это происходит в фоновом режиме без вашего ведома, это может быть метод, который веб-сайт использует для надежной проверки подлинности вашего пароля.
В этом примере представьте, что вы пытаетесь войти на сайт, который вы часто посещаете. Каждый раз, когда вы запрашиваете вход в систему, вам необходимо ввести свое имя пользователя и пароль.
Если на веб-сайте используется криптографическая хеш-функция SHA-1, это означает, что ваш пароль превращается в контрольную сумму после ввода. Эта контрольная сумма затем сравнивается с контрольной суммой, которая хранится на веб-сайте, которая относится к вашему текущему паролю, независимо от того, Я не сменил пароль, так как вы зарегистрировались, или если вы только что изменили его несколько минут назад. Если они совпадают, вам предоставляется доступ; если они этого не сделают, вам сообщили, что пароль неверен.
Другим примером, где может использоваться хэш-функция SHA-1, является проверка файлов. Некоторые веб-сайты предоставят контрольную сумму SHA-1 файла на странице загрузки, чтобы при загрузке файла вы могли проверить контрольную сумму для себя, чтобы убедиться, что загруженный файл совпадает с загруженным вами.
Вы можете задаться вопросом, где реальное использование в этом типе проверки. Рассмотрим сценарий, в котором вы знаете контрольную сумму SHA-1 файла с веб-сайта разработчика, но вы хотите загрузить ту же версию с другого веб-сайта. Затем вы можете сгенерировать контрольную сумму SHA-1 для загрузки и сравнить ее с подлинной контрольной суммой со страницы загрузки разработчика.
Если они отличаются друг от друга, это означает не только то, что содержимое файла не идентично, но что мог быть скрытым вредоносным ПО в файле, данные могут быть повреждены и повредить файлы вашего компьютера, файл ничего не связан с реальным файлом и т. д.
Тем не менее, это также может означать, что один файл представляет собой более старую версию программы, чем другой, так как даже эта небольшая часть изменения создаст уникальное значение контрольной суммы.
Вы также можете проверить, совпадают ли эти два файла, если вы устанавливаете пакет обновления или какую-либо другую программу или обновление, поскольку возникают проблемы, если некоторые файлы отсутствуют во время установки.
Калькуляторы контрольных сумм SHA-1
Специальный калькулятор может использоваться для определения контрольной суммы файла или группы символов.
Например, SHA1 Online и SHA1 Hash - это бесплатные онлайн-инструменты, которые могут генерировать контрольную сумму SHA-1 любой группы текста, символов и / или номеров.
Эти веб-сайты, например, генерируют контрольную сумму SHA-1 bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba для текста passw0rd! .




