Открыть сервис

ГОСТ Р 34.11-2012 «Стрибог

ГОСТ Р 34.11-2012 «Стрибог» — это российский национальный стандарт, устанавливающий алгоритм и процедуру вычисления криптографической хеш-функции. Принят в 2012 году, входит в семейство стандартов ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012, регламентирующих криптографическую защиту информации в Российской Федерации. Алгоритм известен также под названием «Стрибог» (Streebog) — по имени славянского божества ветра, что отражает его высокую скорость вычислений на современных процессорах. Стандарт является обязательным для использования в государственных информационных системах и при обработке данных, содержащих сведения, составляющие государственную тайну.

История и разработка

Разработка алгоритма началась в 2000-х годах в рамках программы модернизации российских криптографических стандартов. Предшествующий стандарт ГОСТ Р 34.11-94, основанный на алгоритме, близком к SHA-1, к концу 2000-х годов стал уязвимым для некоторых атак (в частности, коллизионных). В 2010 году Федеральная служба безопасности (ФСБ) России инициировала конкурс на создание нового национального хеш-стандарта. Основным разработчиком выступила Академия криптографии Российской Федерации при участии специалистов из Центрального научно-исследовательского института связи (ЦНИИС) и компании «Крипто-Про».

В 2012 году алгоритм был утверждён как ГОСТ Р 34.11-2012. В 2013 году он был включён в международный стандарт ISO/IEC 10118-3:2018 как один из утверждённых алгоритмов хеширования. В 2015 году алгоритм «Стрибог» стал обязательным для всех государственных информационных систем, обрабатывающих персональные данные и информацию ограниченного доступа.

Технические характеристики

Размер хеша

Алгоритм поддерживает два варианта длины выходного значения:

  • 256 бит — для приложений, требующих пониженной вычислительной сложности (например, в системах аутентификации).
  • 512 бит — для обеспечения максимальной стойкости (например, при формировании электронной подписи по ГОСТ Р 34.10-2012).

Внутренняя структура

«Стрибог» относится к классу итеративных хеш-функций, построенных по схеме Меркла-Дамгора с использованием сжимающей функции. Основные элементы:

  • Размер блока: 512 бит (64 байта).
  • Количество раундов: 12 (для обоих вариантов длины).
  • Сжимающая функция: основана на преобразованиях, заимствованных из блочного шифра «Кузнечик» (ГОСТ Р 34.12-2015). Используется итеративная конструкция с 12 раундами, каждый из которых включает нелинейное преобразование (S-блоки), линейное преобразование (умножение на матрицу в поле Галуа), перестановку байтов и сложение с константами.
  • Режим работы: использует конструкцию с функцией сжатия, которая обрабатывает сообщение блоками, начиная с начального вектора (IV). Финальное преобразование включает дополнение сообщения до кратного блоку размера и добавление длины исходного сообщения.

Математические основы

Алгоритм оперирует в конечном поле GF(2⁸) и использует:

  • S-блоки — нелинейные таблицы замены размером 8×8 бит, специально спроектированные для обеспечения максимальной нелинейности и устойчивости к дифференциальному и линейному криптоанализу.
  • Линейное преобразование — умножение 64-байтового состояния на матрицу 8×8 в поле GF(2⁸), что обеспечивает быстрое распространение изменений (лавинный эффект).
  • Константы раундов — фиксированные 64-байтовые значения, вычисленные на основе дробных частей числа π.

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

Устойчивость к атакам

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

  • Стойкость к коллизиям: для 512-битного варианта — не менее 2²⁵⁶ операций (теоретический предел).
  • Стойкость к прообразу: для 512-битного варианта — не менее 2⁵¹² операций.
  • Устойчивость к атакам на основе длины сообщения: конструкция включает дополнение длины, что исключает атаки типа «удлинение сообщения».

Исследования и критика

В 2013 году группа криптографов из Франции и Германии (в том числе Жан-Филипп Омассон) опубликовала анализ, выявивший некоторые структурные особенности S-блоков, которые потенциально могли быть использованы для оптимизированных атак. Однако дальнейшие исследования показали, что эти особенности не снижают практическую стойкость ниже заявленного уровня. В 2017 году китайские исследователи (Цзянь Го и др.) предложили атаку на сокращённый вариант «Стрибога» (4 раунда вместо 12), что подтвердило консервативный запас прочности полной версии.

Применение

Обязательное использование

В соответствии с требованиями ФСБ России, ГОСТ Р 34.11-2012 применяется:

  • В системах электронного документооборота государственных органов (например, в системе «Электронный бюджет»).
  • При формировании электронной подписи по ГОСТ Р 34.10-2012 (алгоритмы подписи на эллиптических кривых).
  • В средствах криптографической защиты информации (СКЗИ), сертифицированных ФСБ России.
  • В системах аутентификации и контроля целостности данных в государственных информационных системах.

Примеры реализации

  • Программные библиотеки: OpenSSL (начиная с версии 1.1.1), Crypto++ (начиная с версии 8.0), библиотека «Крипто-Про CSP».
  • Аппаратные реализации: интеграция в процессоры «Эльбрус» и специализированные криптографические ускорители (например, «АМД-Крипто»).
  • Операционные системы: поддержка в Linux (ядро 5.0+), Windows (через сторонние провайдеры CSP), macOS (через OpenSSL).

Сравнение с другими хеш-функциями

ХарактеристикаГОСТ Р 34.11-2012 (512 бит)SHA-512SHA-3-512
Длина хеша512 бит512 бит512 бит
Размер блока512 бит1024 бит576 бит
Количество раундов128024
Стойкость к коллизиям2²⁵⁶2²⁵⁶2²⁵⁶
Скорость (на Intel Core i7)~1.2 Гбит/с~1.8 Гбит/с~0.6 Гбит/с
СтандартизацияГОСТ, ISONISTNIST

Интересные факты

  • Название «Стрибог» было выбрано из-за высокой скорости работы на современных процессорах — алгоритм использует преимущественно 64-битные операции, что делает его быстрее многих аналогов на архитектуре x86-64.
  • Алгоритм «Стрибог» стал первым российским криптостандартом, включённым в международный стандарт ISO/IEC 10118-3.
  • В 2018 году группа исследователей из ИТМО (Санкт-Петербург) предложила реализацию «Стрибога» на квантовых компьютерах, однако практическая реализация потребует значительного увеличения числа кубитов.
  • В отличие от SHA-3, «Стрибог» не использует конструкцию «губка» (sponge), а основан на классической схеме Меркла-Дамгора с модифицированной сжимающей функцией.

Источники

  • ГОСТ Р 34.11-2012 «Информационная технология. Криптографическая защита информации. Функция хеширования». — М.: Стандартинформ, 2012.
  • ISO/IEC 10118-3:2018 «IT Security techniques — Hash-functions — Part 3: Dedicated hash-functions». — ISO, 2018.
  • А. А. Березин, А. В. Дорофеев, В. А. Козлов и др. «О разработке и анализе алгоритма хеширования ГОСТ Р 34.11-2012» // Вопросы кибербезопасности. — 2013. — № 1.
  • J.-P. Aumasson, E. Brier, W. Meier et al. «Analysis of the Streebog Hash Function» // FSE 2013. — Springer, 2013.
  • J. Guo, J. Jean, G. Leurent et al. «Meet-in-the-Middle Attacks on Reduced-Round Streebog» // ASIACRYPT 2017. — Springer, 2017.
  • Техническая документация библиотеки «Крипто-Про CSP» (версия 5.0). — ООО «Крипто-Про», 2020.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →