В российских государственных информационных системах и везде, где нужна сертификация ФСБ, вместо SHA-256 обязателен ГОСТ Р 34.11-2012 — хеш-функция «Стрибог» с выходом 256 или 512 бит, пришедшая на смену устаревшему ГОСТ Р 34.11-94. Это не международный алгоритм NIST, а самостоятельная разработка, стандартизированная Росстандартом и ФСБ.
Почему у России свой стандарт хеширования
Как и в случае с шифром «Кузнечик» вместо AES, здесь работает принцип «криптографического суверенитета»: для сертифицированных систем требуется алгоритм, разработанный и утверждённый внутри страны, а не оцененный исключительно мировым криптосообществом. «Стрибог» использует другую внутреннюю конструкцию, чем SHA-2 или SHA-3, но по назначению выполняет ту же задачу — детерминированное сжатие данных в отпечаток фиксированной длины.
Почему MD5 и SHA-1 считаются небезопасными
Для обоих алгоритмов найдены практические способы создать два разных набора данных с одинаковым хешем — так называемую коллизию. Это делает их непригодными там, где важна криптографическая стойкость, хотя они всё ещё используются там, где нужна лишь быстрая проверка целостности, а не защита от злоумышленника.
Зачем это нужно
- Проверять целостность загруженных файлов сравнением с опубликованным хешем.
- Создавать короткие уникальные отпечатки для больших объёмов данных.
- Понимать, почему в российском enterprise-софте рядом с SHA-256 часто встречается «Стрибог».
Почему SHA-3 не заменил SHA-2
SHA-3 выбрали победителем отдельного конкурса NIST на случай, если в SHA-2 когда-нибудь найдут фундаментальную уязвимость — это «страховка» на основе принципиально другой внутренней конструкции (Keccak), а не преемник в смысле замены. Похожая логика двойного стандарта на случай будущей уязвимости характерна и для отношений SHA-2/SHA-3 в мире, и для ГОСТ/AES внутри российских систем.