Что такое SHA-1? (Определение SHA-1 & SHA-2)

Оглавление:

Что такое SHA-1? (Определение SHA-1 & SHA-2)
Что такое SHA-1? (Определение SHA-1 & SHA-2)
Anonim

SHA-1 (сокращение от Secure Hash Algorithm 1) - одна из нескольких криптографических хеш-функций.

Чаще всего используется для проверки того, что файл не был изменен. Это делается путем создания контрольной суммы до того, как файл будет передан, а затем снова после того, как он достигнет места назначения.

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

Image
Image

История и уязвимости хеш-функции SHA

SHA-1 - это только один из четырех алгоритмов семейства алгоритмов безопасного хеширования (SHA). Большинство из них были разработаны Агентством национальной безопасности США (АНБ) и опубликованы Национальным институтом стандартов и технологий (NIST).

SHA-0 имеет 160-битный размер дайджеста сообщения (хеш-значения) и является первой версией этого алгоритма. Его хеш-значения состоят из 40 цифр. Он был опубликован под названием «SHA» в 1993 году, но не использовался во многих приложениях, потому что в 1995 году его быстро заменили на SHA-1 из-за уязвимости в безопасности.

SHA-1 - это вторая итерация этой криптографической хеш-функции. Этот также имеет дайджест сообщения из 160 бит и призван повысить безопасность, исправив уязвимость, обнаруженную в SHA-0. Однако в 2005 году SHA-1 также оказался небезопасным.

Как только в SHA-1 были обнаружены криптографические недостатки, в 2006 году NIST выступил с заявлением, призывающим федеральные агентства принять использование 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-224, SHA-256, SHA-384, SHA-512, SHA-512/224 и SHA-512/256..

Разработанный разработчиками, не относящимися к АНБ, и выпущенный NIST в 2015 году, это еще один член семейства алгоритмов безопасного хеширования, который называется SHA-3 (ранее Keccak).

SHA-3 не предназначен для замены SHA-2, как предыдущие версии предназначались для замены более ранних. Вместо этого он был разработан как еще одна альтернатива SHA-0, SHA-1 и MD5.

Как используется SHA-1?

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

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

Если на веб-сайте используется криптографическая хеш-функция SHA-1, это означает, что ваш пароль превращается в контрольную сумму после того, как вы его вводите. Затем эта контрольная сумма сравнивается с контрольной суммой, хранящейся на веб-сайте, которая относится к вашему текущему пароль, независимо от того, не меняли ли вы свой пароль с момента регистрации или только что изменили его несколько минут назад. Если они совпадают, вам предоставляется доступ; если нет, вам говорят, что пароль неверный.

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

Вы можете задаться вопросом, в чем реальная польза от этого типа проверки. Рассмотрим сценарий, в котором вы знаете контрольную сумму SHA-1 файла с веб-сайта разработчика, но хотите загрузить ту же версию с другого веб-сайта. Затем вы можете сгенерировать контрольную сумму SHA-1 для загрузки и сравнить ее с подлинной контрольной суммой со страницы загрузки разработчика.

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

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

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

Калькулятор контрольной суммы SHA-1

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

Например, SHA1 Online и SHA1 Hash Generator - это бесплатные онлайн-инструменты, которые могут генерировать контрольную сумму SHA-1 любой группы текста, символов и/или чисел.

Эти веб-сайты, например, будут генерировать эту пару:


pAssw0rd!

bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba

Рекомендуемые: