ГОСТ Р 34.13-2015
ГОСТ Р 34.13-2015 — это российский национальный стандарт, устанавливающий алгоритмы блочного шифрования и режимы их работы для обеспечения конфиденциальности и аутентичности информации. Принят в 2015 году на смену устаревшему ГОСТ 28147-89, который был разработан ещё в советский период. Стандарт входит в семейство криптографических стандартов Российской Федерации (ГОСТ Р 34.10, ГОСТ Р 34.11) и является обязательным для использования в государственных информационных системах и при обработке информации ограниченного доступа, не содержащей сведений, составляющих государственную тайну.
История создания
Разработка ГОСТ Р 34.13-2015 была вызвана необходимостью модернизации криптографической защиты в условиях развития вычислительных мощностей и появления новых методов криптоанализа. Предыдущий стандарт, ГОСТ 28147-89, использовал 256-битный ключ и 64-битный блок данных, что к середине 2010-х годов стало считаться недостаточно стойким для долгосрочной защиты. Работы по созданию нового стандарта велись в рамках деятельности Технического комитета по стандартизации «Криптографическая защита информации» (ТК 26) при участии таких организаций, как Академия ФСБ России, Центр защиты информации и специальной связи ФСБ России, а также ряда научно-исследовательских институтов.
Стандарт был официально утверждён и введён в действие приказом Федерального агентства по техническому регулированию и метрологии (Росстандарт) от 24 июня 2015 года. Он заменил собой ГОСТ 28147-89, который был признан устаревшим, хотя и оставался допустимым для использования в некоторых системах до полного перехода на новые алгоритмы. В 2018 году стандарт был дополнен изменениями, уточняющими некоторые режимы работы и параметры.
Основные алгоритмы шифрования
ГОСТ Р 34.13-2015 определяет два основных блочных шифра: «Магма» и «Кузнечик». Оба являются симметричными, то есть используют один и тот же ключ для шифрования и расшифрования.
Шифр «Магма»
«Магма» является модернизированной версией шифра из ГОСТ 28147-89. Он сохраняет 64-битный размер блока и 256-битный ключ, но использует улучшенную сеть Фейстеля с 32 раундами. Основные характеристики:
- Размер блока: 64 бита (8 байт).
- Размер ключа: 256 бит (32 байта).
- Структура: 32 раунда преобразований, каждый из которых включает нелинейное преобразование (S-блоки) и циклический сдвиг.
- Стойкость: Обеспечивает защиту от известных атак, включая дифференциальный и линейный криптоанализ, при условии корректного выбора S-блоков. Однако из-за 64-битного блока «Магма» уязвима для атак на основе коллизий (например, атака «дней рождения») при шифровании больших объёмов данных (более 32 Гбайт в режиме ECB).
Шифр «Кузнечик»
«Кузнечик» — это принципиально новый алгоритм, разработанный для обеспечения высокой криптостойкости на длительную перспективу. Он использует 128-битный блок и 256-битный ключ, что соответствует современным международным стандартам (например, AES-256). Основные характеристики:
- Размер блока: 128 бит (16 байт).
- Размер ключа: 256 бит (32 байта).
- Структура: 10 раундов преобразований, основанных на подстановочно-перестановочной сети (SP-сеть). Включает операции нелинейной замены (S-блоки), линейного преобразования (L-преобразование) и XSL-структуры.
- Стойкость: Алгоритм устойчив к известным атакам, включая атаки на основе алгебраических методов. Благодаря 128-битному блоку, «Кузнечик» позволяет безопасно шифровать объёмы данных до 2^64 блоков.
Режимы работы
ГОСТ Р 34.13-2015 определяет несколько режимов работы блочных шифров, каждый из которых предназначен для конкретных задач: обеспечение конфиденциальности, аутентичности или их комбинации.
Режимы для обеспечения конфиденциальности
- ECB (Electronic Codebook) — простой режим, при котором каждый блок шифруется независимо. Не рекомендуется для использования в криптографических системах из-за уязвимости к атакам по шаблонам.
- CBC (Cipher Block Chaining) — режим сцепления блоков, при котором каждый следующий блок XOR-ится с предыдущим зашифрованным блоком. Требует использования вектора инициализации (IV). Обеспечивает защиту от атак по шаблонам, но уязвим к атакам на основе изменения порядка блоков.
- CFB (Cipher Feedback) — режим обратной связи по шифротексту, позволяющий шифровать данные произвольной длины (вплоть до одного бита). Использует шифр как генератор псевдослучайной последовательности.
- OFB (Output Feedback) — режим обратной связи по выходу, при котором шифр генерирует поток ключей, независимый от шифруемых данных. Устойчив к ошибкам передачи, но требует синхронизации.
- CTR (Counter) — режим счётчика, при котором шифр шифрует последовательность счётчиков, а результат XOR-ится с открытым текстом. Позволяет параллельную обработку и произвольный доступ к зашифрованным данным.
Режимы для обеспечения аутентичности
- MAC (Message Authentication Code) — режим вычисления имитовставки (кода аутентичности сообщения) на основе шифра. Используется для проверки целостности и подлинности данных. Включает подрежимы: MAC-1, MAC-2, MAC-3, различающиеся длиной выходного кода (от 32 до 64 бит для «Магмы» и до 128 бит для «Кузнечика»).
Режимы для обеспечения конфиденциальности и аутентичности
- GCM (Galois/Counter Mode) — режим аутентифицированного шифрования, сочетающий режим CTR для шифрования и умножение в поле Галуа для вычисления аутентификационного тега. Обеспечивает высокую производительность и параллельную обработку. Поддерживает дополнительные аутентифицированные данные (AAD).
- CCM (Counter with CBC-MAC) — режим аутентифицированного шифрования, основанный на комбинации режима CTR для шифрования и CBC-MAC для аутентификации. Требует последовательной обработки, но прост в реализации.
Применение
ГОСТ Р 34.13-2015 является обязательным для применения в следующих областях:
- Государственные информационные системы — при обработке персональных данных, конфиденциальной информации, не содержащей государственной тайны, в системах электронного документооборота, государственных реестрах и порталах.
- Криптографические средства защиты информации (СКЗИ) — все сертифицированные ФСБ России средства шифрования, используемые в России, должны поддерживать алгоритмы «Магма» и «Кузнечик» в режимах, определённых стандартом.
- Банковская сфера — для защиты финансовых транзакций, работы с платёжными системами (например, в системах «Банк-Клиент»), а также в автоматизированных системах банковского учёта.
- Телекоммуникационные системы — для шифрования каналов связи, VPN-соединений (например, в протоколах IPsec и TLS при использовании российских криптографических библиотек).
- Электронная подпись — хотя стандарт не описывает алгоритмы электронной подписи (они определены в ГОСТ Р 34.10-2012), режимы аутентификации (MAC) используются для защиты ключей и проверки целостности.
Критика и ограничения
Несмотря на широкое внедрение, ГОСТ Р 34.13-2015 подвергался критике со стороны некоторых экспертов:
- Сложность реализации — алгоритм «Кузнечик» требует больше вычислительных ресурсов по сравнению с AES-256, что может быть критично для встраиваемых систем и мобильных устройств.
- Закрытость S-блоков — в стандарте не раскрываются критерии выбора S-блоков для «Магмы», что вызывает вопросы о возможных уязвимостях. Однако в 2018 году были опубликованы обоснования выбора.
- Совместимость — отсутствие полной совместимости с международными стандартами (например, AES) затрудняет интеграцию с зарубежными системами, особенно в условиях санкций.
Интересные факты
- Название «Кузнечик» было выбрано в честь одноимённого советского криптографического устройства, разработанного в 1970-х годах.
- Стандарт является частью более широкой системы российских криптографических стандартов, включающей ГОСТ Р 34.10-2012 (электронная подпись) и ГОСТ Р 34.11-2012 (хэш-функция «Стрибог»).
- В 2020 году алгоритмы «Магма» и «Кузнечик» были включены в международный стандарт ISO/IEC 18033-3, что подтверждает их признание на мировом уровне.
Источники
- ГОСТ Р 34.13-2015 «Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров».
- Пояснительная записка к проекту ГОСТ Р 34.13-2015, Технический комитет по стандартизации ТК 26, 2015.
- Отчёт о разработке алгоритмов «Магма» и «Кузнечик», Академия ФСБ России, 2016.
- ISO/IEC 18033-3:2020 «Information technology — Security techniques — Encryption algorithms — Part 3: Block ciphers».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →