Хэш SHA-512 онлайн
512-битный вариант SHA-2 — используется там, где нужен максимальный запас криптографической стойкости. Считается прямо в браузере — текст никуда не отправляется.
Вычислить SHA-512
Результат пересчитывается сам, пока вы печатаете. В режиме «По строкам» пустые строки тоже хэшируются — результат всегда совпадает по числу строк со входом. Нужна другая функция — на полной странице калькулятора их 32.
История SHA-512
SHA-512 опубликован NIST в том же документе FIPS 180-2 (2001), что и SHA-256, — обе функции входят в семейство SHA-2 и построены по одной схеме, но SHA-512 изначально проектировался под 64-битную арифметику: все внутренние операции работают со словами по 64 бита вместо 32. На заре 2000-х это было скорее заделом на будущее — большинство процессоров тогда были 32-битными, — но с распространением 64-битных CPU SHA-512 на многих платформах внезапно оказался даже быстрее «младшего брата» SHA-256, несмотря на вдвое больший размер блока и выхода.
Помимо самостоятельного применения, SHA-512 — основа для усечённых вариантов: SHA-384 (тот же алгоритм, другой стартовый вектор, вывод обрезан до 384 бит) и SHA-512/256 (аналогично, обрезан до 256 бит, но с защитой от length-extension атак, которой у обычного SHA-256 нет).
Как устроен алгоритм
Структура — та же конструкция Меркла — Дамгора, что у SHA-256, только все размеры удвоены: блок — 1024 бита, состояние — восемь 64-битных регистров (a–h), раундов на блок — 80 (а не 64). Инициализирующие значения регистров и раундовые константы получены тем же способом, что в SHA-256, — дробные части корней первых простых чисел, только для 64-битных слов и другого количества констант.
Перед раундами 16 64-битных слов блока «растягиваются» до 80 через функции σ₀/σ₁ с 64-битными вращениями — по смыслу процедура идентична SHA-256, просто вся арифметика идёт по модулю 2⁶⁴ вместо 2³². Раундовые функции Ch (choose) и Maj (majority) тоже без изменений по смыслу, только на 64-битных словах.
Характеристики
| Параметр | Значение |
|---|---|
| Длина хэша | 512 бит (128 hex-символов) |
| Размер блока | 1024 бита |
| Раундов на блок | 80 |
| Внутреннее состояние | 8 × 64-битных регистра (a–h) |
| Конструкция | Меркла — Дамгора |
| Опубликован | 2001, FIPS 180-2 (NIST/NSA) |
| Родственные варианты | SHA-384, SHA-512/256 — тот же алгоритм, другой IV и усечённый вывод |
Где применяется
- Там же, где SHA-256, когда нужен больший запас прочности или максимальная скорость на 64-битном железе
- Certificate Transparency, DNSSEC, подпись пакетов и релизов
- Как строительный блок для SHA-384 и SHA-512/256
Криптостойкость
SHA-512 не взломан — как и SHA-256, лучшие известные атаки работают только против урезанного числа раундов и далеки от практической угрозы. Больший размер состояния и выхода дают дополнительный теоретический запас против будущих атак и против атак «дней рождения» на очень больших объёмах данных, хотя для подавляющего большинства задач 256-битной стойкости SHA-256 уже более чем достаточно.