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

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

Основа Bitcoin и TLS — 256-битный хэш из семейства SHA-2, криптографически стоек и на сегодня не взломан. Считается прямо в браузере — текст никуда не отправляется.

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

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

История SHA-256

SHA-256 — часть семейства SHA-2, которое NSA разработало и NIST опубликовало в 2001 году (FIPS 180-2) как ответ на растущие сомнения в стойкости SHA-1. Внешне SHA-2 похож на предшественника — та же общая схема, — но внутреннее устройство изменили заметно: больше раундов, больше регистров состояния, более сложная процедура «растягивания» сообщения. Это дало запас прочности, которого не хватило SHA-1.

Сегодня SHA-256 — один из самых используемых алгоритмов в мире: он лежит в основе TLS-сертификатов, на нём построен протокол Bitcoin (в виде двойного SHA-256 для proof-of-work и адресов), его использует Git в новом формате репозиториев, и он остаётся стандартным выбором NIST для большинства криптографических задач.

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

Как и MD5/SHA-1, SHA-256 — конструкция Меркла — Дамгора: дополнение до кратности 512 бит, разбиение на блоки, последовательная функция сжатия. Внутреннее состояние — восемь 32-битных регистров (a–h), инициализированных дробными частями квадратных корней первых восьми простых чисел. Каждый блок проходит 64 раунда.

Перед раундами 16 слов блока «растягиваются» в 64 через процедуру message schedule — но, в отличие от простого XOR и сдвига у SHA-1, здесь используются две функции σ₀/σ₁ на основе побитовых вращений и сдвигов, дающие более сложное перемешивание. В каждом раунде участвуют ещё две функции — Ch (choose, «голосование по битам» между тремя словами) и Maj (majority, «большинство») — и 64 константы, полученные из дробных частей кубических корней первых 64 простых чисел (тот же приём «случайных, но проверяемых» констант, что и в MD5 с синусом).

СООБЩЕНИЕ, РАЗБИТОЕ НА 512-БИТНЫЕ БЛОКИ M₁ M₂ … Mₙ IV f f f a..h хэш 256 бит 64 раунда 64 раунда 64 раунда
Восемь регистров состояния (a–h) и 64 раунда — больший запас прочности, чем у SHA-1

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

ПараметрЗначение
Длина хэша256 бит (64 hex-символа)
Размер блока512 бит
Раундов на блок64
Внутреннее состояние8 × 32-битных регистра (a–h)
КонструкцияМеркла — Дамгора
Опубликован2001, FIPS 180-2 (NIST/NSA)

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

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

На сегодняшний день SHA-256 не взломан: практических коллизий или прообразных атак не существует, лучшие известные результаты криптоанализа работают только против сильно урезанных версий алгоритма (меньше раундов) и не приближаются к практической угрозе для полной версии. NIST и большинство отраслевых стандартов продолжают рекомендовать SHA-256 (и остальной SHA-2) как основной выбор.

💡

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

Пример

СтрокаHello, world!
SHA-256315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3
Пустая строкаe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855