Хэш SHA-1 онлайн — калькулятор и разбор алгоритма | lavarden.ru
Войти

Хэш SHA-1 онлайн

160-битный хэш NSA 1995 года — официально сломан атакой SHAttered (2017), но местами ещё встречается. Считается прямо в браузере — текст никуда не отправляется.

Вычислить SHA-1

Результат пересчитывается сам, пока вы печатаете. В режиме «По строкам» пустые строки тоже хэшируются — результат всегда совпадает по числу строк со входом. Нужна другая функция — на полной странице калькулятора их 32.

История SHA-1

SHA-1 — часть семейства алгоритмов Secure Hash Algorithm, разработанного Агентством национальной безопасности США (NSA) и опубликованного Национальным институтом стандартов (NIST) как федеральный стандарт FIPS 180. Первая версия, SHA-0, вышла в 1993 году, но год спустя NSA обнаружило в ней недокументированную слабость и в 1995-м выпустило исправленную версию — собственно SHA-1.

Следующие полтора десятилетия SHA-1 был фактическим стандартом отрасли: сертификаты TLS/SSL, подписи git-коммитов, PGP, десятки протоколов и файловых форматов. Именно этот статус «стандарта по умолчанию» сделал его крах в 2017 году таким заметным событием в индустрии.

Как устроен алгоритм

SHA-1 использует ту же конструкцию Меркла — Дамгора, что и MD5: сообщение дополняется до кратности 512 битам, делится на блоки, каждый блок обновляет внутреннее состояние через функцию сжатия. Отличие — в деталях: состояние хранится в пяти 32-битных регистрах (A, B, C, D, E), а каждый блок проходит не 64, а 80 раундов (4 группы по 20).

Перед раундами 512-битный блок сначала «растягивается» в 80 32-битных слов процедурой message schedule: первые 16 слов берутся прямо из блока, а каждое следующее получается как XOR четырёх более ранних слов с последующим циклическим сдвигом на 1 бит влево. Это заставляет каждый бит исходного блока влиять на много шагов вперёд — без такого расширения было бы проще подобрать локальные изменения, не задевающие весь хэш.

СООБЩЕНИЕ, РАЗБИТОЕ НА 512-БИТНЫЕ БЛОКИ M₁ M₂ … Mₙ IV f f f A..E хэш 160 бит 80 шагов (4×20) 80 шагов (4×20) 80 шагов (4×20)
Та же цепочка Меркла-Дамгора, что у MD5, но 5 регистров и 80 шагов вместо 64

Характеристики

ПараметрЗначение
Длина хэша160 бит (40 hex-символов)
Размер блока512 бит
Раундов на блок80 (4 × 20)
Внутреннее состояние5 × 32-битных регистра (A–E)
КонструкцияМеркла — Дамгора
Опубликован1995, FIPS 180-1 (NIST/NSA)

Где применяется

Криптостойкость

⚠️

SHA-1 официально сломан. Теоретическая атака была описана ещё в 2005 году (Ван Сяоюнь с соавторами), а в феврале 2017 года команда Google и CWI Amsterdam опубликовала первую практическую коллизию — атаку «SHAttered»: два разных PDF-файла с одинаковым SHA-1. NIST официально запретил использовать SHA-1 для цифровых подписей с 2011 года, а крупные браузеры перестали принимать SHA-1-сертификаты к 2017-му.

Для подписей, сертификатов и любых задач, где важна защита от подделки, используйте SHA-256 или новее. Для проверки случайных повреждений (не злонамеренных) SHA-1 всё ещё технически работает, но по инерции — веской причины выбирать именно его сегодня нет.

Пример

СтрокаHello, world!
SHA-1943a702d06f34599aee1f8da8ef9f7296031d699
Пустая строкаda39a3ee5e6b4b0d3255bfef95601890afd80709