ГОСТ криптоалгоритмы¶
ГОСТ криптоалгоритмы — это совокупность национальных стандартов Российской Федерации, определяющих алгоритмы симметричного и асимметричного шифрования, а также функции хеширования, предназначенные для защиты информации, не содержащей сведений, составляющих государственную тайну. Данные алгоритмы являются обязательными для использования в государственных информационных системах и системах, обрабатывающих персональные данные, если требуется сертифицированная криптографическая защита.
¶История
Разработка отечественных криптографических стандартов началась в СССР в конце 1970-х годов. Первый широко известный алгоритм, ГОСТ 28147-89, был принят в 1989 году как стандарт для систем обработки информации. Долгое время он оставался засекреченным, и его полное описание было опубликовано только в 1994 году. После распада СССР стандарт был принят Россией и странами СНГ.
В 2012 году был утверждён новый пакет стандартов: ГОСТ Р 34.10-2012 (электронная подпись), ГОСТ Р 34.11-2012 (хеширование) и ГОСТ Р 34.12-2015 (блочное шифрование). Эти алгоритмы были разработаны с учётом современных требований криптостойкости и международных тенденций, в частности, для противодействия атакам с использованием квантовых компьютеров (постквантовая криптография). В 2015 году стандарты были обновлены, введя алгоритм «Кузнечик» с длиной блока 128 бит.
¶Классификация
ГОСТ криптоалгоритмы делятся на три основные категории:
¶Симметричные алгоритмы шифрования
Эти алгоритмы используют один и тот же ключ для шифрования и расшифрования. К ним относятся:
- ГОСТ 28147-89 (старый стандарт) — блочный шифр с длиной блока 64 бита и длиной ключа 256 бит. Реализует 32 раунда преобразований на основе сети Фейстеля. Считается устаревшим из-за малого размера блока, что делает его уязвимым для атак на основе коллизий (например, атака «день рождения»).
- ГОСТ Р 34.12-2015 «Магма» (блочный шифр) — фактически является обновлённой версией ГОСТ 28147-89, но с фиксированными S-блоками и строгими требованиями к реализации. Длина блока — 64 бита, ключа — 256 бит.
- ГОСТ Р 34.12-2015 «Кузнечик» (блочный шифр) — современный алгоритм с длиной блока 128 бит и ключа 256 бит. Использует SP-сеть (подстановочно-перестановочная сеть) с 10 раундами. Считается криптостойким и рекомендован для использования в новых системах.
¶Асимметричные алгоритмы
Используют пару ключей: открытый (для шифрования) и закрытый (для расшифрования). Основной стандарт:
- ГОСТ Р 34.10-2012 — алгоритм электронной подписи (ЭП). Основан на эллиптических кривых (Elliptic Curve Digital Signature Algorithm, ECDSA) с параметрами, определёнными стандартом. Поддерживает две кривые: 256-битную (для уровня стойкости 128 бит) и 512-битную (для уровня стойкости 256 бит). Используется для создания и проверки цифровых подписей.
¶Функции хеширования
Преобразуют произвольный объём данных в фиксированную битовую строку (хеш-значение). Основной стандарт:
- ГОСТ Р 34.11-2012 «Стрибог» — хеш-функция, выдающая хеш длиной 256 или 512 бит. Основана на итеративной схеме с использованием блочного шифра «Кузнечик» (в режиме хеширования). Стойкость к коллизиям — до 2^(n/2) операций, где n — длина хеша.
¶Характеристики и устройство
¶Алгоритм «Кузнечик» (ГОСТ Р 34.12-2015)
- Тип: SP-сеть (Substitution-Permutation Network).
- Размер блока: 128 бит.
- Длина ключа: 256 бит.
- Число раундов: 10.
- Режимы работы: ECB (Electronic Codebook), CBC (Cipher Block Chaining), CTR (Counter), OFB (Output Feedback), CFB (Cipher Feedback), а также режим аутентифицированного шифрования MGM (Multilinear Galois Mode).
- Криптостойкость: На 2025 год не выявлено практических атак, снижающих стойкость ниже заявленного уровня (256 бит). Устойчив к дифференциальному и линейному криптоанализу.
¶Алгоритм «Магма» (ГОСТ Р 34.12-2015)
- Тип: Сеть Фейстеля.
- Размер блока: 64 бита.
- Длина ключа: 256 бит.
- Число раундов: 32.
- Особенность: Использует фиксированные S-блоки (8 блоков по 4 бита каждый), что устраняет неоднозначность старого ГОСТ 28147-89, где S-блоки могли различаться в разных реализациях.
- Криптостойкость: Считается достаточной для защиты конфиденциальной информации, но из-за малого размера блока не рекомендуется для шифрования больших объёмов данных (более 2^32 блоков).
¶Хеш-функция «Стрибог» (ГОСТ Р 34.11-2012)
- Выходная длина: 256 или 512 бит (обозначается как Streebog-256 и Streebog-512).
- Внутренняя структура: Итеративная схема с функцией сжатия, построенной на основе блочного шифра «Кузнечик» (режим хеширования с использованием ключа).
- Стойкость: Устойчив к коллизиям, прообразам и вторым прообразам на уровне, соответствующем длине хеша. В 2023 году была опубликована теоретическая атака на Streebog-256, снижающая стойкость к коллизиям до 2^125,5 операций, что всё ещё значительно выше практических возможностей.
¶Применение
ГОСТ криптоалгоритмы используются в следующих областях:
- Государственные информационные системы: Системы электронного документооборота (СЭД), порталы государственных услуг, системы межведомственного взаимодействия (СМЭВ).
- Финансовый сектор: Банковские системы, системы дистанционного банковского обслуживания (ДБО), платёжные системы (например, Система быстрых платежей ЦБ РФ).
- Защита персональных данных: Обязательное применение сертифицированных СКЗИ (средств криптографической защиты информации) при обработке персональных данных в соответствии с Федеральным законом № 152-ФЗ.
- Электронная подпись: Создание и проверка усиленной квалифицированной электронной подписи (УКЭП) в соответствии с Федеральным законом № 63-ФЗ.
- VPN и защита каналов связи: Реализация протоколов IPsec и TLS с использованием ГОСТ-алгоритмов (например, в продуктах «КриптоПро», «VipNet»).
¶Сертификация и реализация
Для использования в государственных информационных системах средства криптографической защиты информации (СКЗИ), реализующие ГОСТ алгоритмы, должны пройти сертификацию в Федеральной службе по техническому и экспортному контролю (ФСТЭК России) или Федеральной службе безопасности (ФСБ России). Сертификация подтверждает соответствие требованиям к криптостойкости и отсутствие недекларированных возможностей.
Основные программные реализации:
- КриптоПро CSP — наиболее распространённое СКЗИ в России, поддерживает все актуальные ГОСТ алгоритмы.
- VipNet CSP — продукт компании «ИнфоТеКС».
- OpenSSL (с патчами) — в стандартную поставку OpenSSL ГОСТ алгоритмы не входят, но существуют сторонние реализации (например, от компании «КриптоПро»).
- Libgcrypt (GnuPG) — начиная с версии 1.9.0 поддерживает «Кузнечик» и «Стрибог».
¶Критика и ограничения
- Устаревший ГОСТ 28147-89: Малый размер блока (64 бита) делает его уязвимым для атак на основе коллизий при шифровании больших объёмов данных. Рекомендуется использовать «Магму» или «Кузнечика».
- Сложность реализации: Алгоритмы, особенно «Кузнечик», требуют значительных вычислительных ресурсов по сравнению с международными аналогами (например, AES), что может быть критично для встраиваемых систем.
- Отсутствие международного признания: ГОСТ алгоритмы не включены в стандарты ISO/IEC, что ограничивает их использование в международных проектах. Однако существуют попытки их интеграции в протоколы TLS и IPsec.
- Потенциальная уязвимость «Стрибога»: Теоретическая атака 2023 года на Streebog-256, хотя и не является практической, указывает на возможные проблемы в конструкции. Разработчики стандарта заявляют, что атака не нарушает заявленных требований безопасности.
¶Интересные факты
- Алгоритм «Кузнечик» был разработан коллективом учёных из Академии ФСБ России и Института криптографии, связи и информатики.
- Название «Стрибог» происходит от имени славянского бога ветра, что символизирует скорость и необратимость хеширования.
- В 2023 году в России был принят ГОСТ Р 34.13-2023, определяющий новые режимы работы блочных шифров, включая режим аутентифицированного шифрования MGM, который поддерживает «Кузнечик» и «Магма».
¶Источники
- ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования.
- ГОСТ Р 34.10-2012. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи.
- ГОСТ Р 34.11-2012. Информационная технология. Криптографическая защита информации. Функция хеширования.
- ГОСТ Р 34.12-2015. Информационная технология. Криптографическая защита информации. Блочные шифры.
- Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных».
- Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи».
- Методические документы ФСТЭК России по сертификации СКЗИ.
