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

ГОСТ Р 34.10-2021

ГОСТ Р 34.10-2021 («Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи») — это национальный стандарт Российской Федерации, определяющий алгоритмы создания и проверки электронной цифровой подписи (ЭЦП) на основе криптографических схем с открытым ключом. Стандарт введён в действие с 1 января 2022 года и заменил предыдущую версию ГОСТ Р 34.10-2012. Он является частью единой системы стандартов криптографической защиты информации в России, наряду с ГОСТ Р 34.11-2012 (функция хэширования «Стрибог») и ГОСТ Р 34.12-2015 (блочные шифры «Кузнечик» и «Магма»). ГОСТ Р 34.10-2021 обязателен для применения в государственных информационных системах, при межведомственном электронном взаимодействии, а также в системах, использующих сертифицированные ФСБ России средства криптографической защиты информации (СКЗИ).

История и контекст принятия

Развитие российских криптографических стандартов началось в 1990-х годах. Первый стандарт на электронную подпись — ГОСТ Р 34.10-94 — использовал алгоритмы, основанные на эллиптических кривых над полями Галуа. В 2012 году был принят ГОСТ Р 34.10-2012, который ввёл более современные математические принципы, соответствующие международным рекомендациям (в частности, NIST SP 800-186). К 2021 году накопились следующие предпосылки для обновления стандарта:

Проект стандарта разрабатывался Техническим комитетом ТК 26 (Криптографическая защита информации) при участии ФСБ России, Росстандарта и ведущих разработчиков СКЗИ (КриптоПро, Лаборатория Касперского и др.). После общественного обсуждения ГОСТ Р 34.10-2021 был зарегистрирован и вступил в силу.

Основные криптографические параметры

Алгоритмы и математический аппарат

ГОСТ Р 34.10-2021 реализует схему цифровой подписи на основе эллиптических кривых (Elliptic Curve Digital Signature Algorithm, ECDSA), адаптированную для российских стандартов хэширования. Для подписи используется односторонняя функция на базе эллиптической кривой группы точек, заданной над простым полем GF(p), где p — большое простое число порядка от 256 до 512 бит.

Основные элементы:

Параметры эллиптических кривых

Стандарт определяет несколько наборов эллиптических кривых (подгрупп), различающихся длиной порядка и уровнем безопасности. Основные кривые (параметры задаются в приложении А):

НазваниеДлина порядка (бит)Длина простого поля p (бит)Рекомендуемое использование
GostR3410-2001-CryptoPro-A-ParamSet256256Базовая стойкость, 128-битный эквивалент безопасности
GostR3410-2001-CryptoPro-B-ParamSet256256Альтернативная кривая (другая a-коэффициент)
GostR3410-2001-CryptoPro-C-ParamSet256256Для совместимости с устаревшими реализациями
GostR3410-2012-512-paramSetA512512Повышенная стойкость, 256-битный эквивалент
GostR3410-2012-512-paramSetB512512Специализированная кривая с дополнительными свойствами

Дополнительно введены кривые с произвольными параметрами, если стандартный набор не подходит. Выбор кривой влияет на производительность: вычисления на кривых 512 бит требуют больше ресурсов, но обеспечивают запас стойкости против квантовых атак в рамках известных архитектур.

Процесс формирования и проверки подписи

Формирование подписи (алгоритм для отправителя)

  1. Выбор случайного числа k (одноразового ключа) в интервале [1, q-1], где q — порядок группы.
  2. Вычисление точки кривой (x1, y1) = k * G.
  3. Преобразование x1 в целое число r = x1 mod q. Если r = 0, возврат к шагу 1.
  4. Вычисление хэша сообщения H = Hash(M) (по ГОСТ Р 34.11-2012).
  5. Преобразование хэша в целое число h (например, взятие битовой строки как числа по модулю q).
  6. Вычисление s = (k d + r d + h) mod q? (точная формула соответствует российским стандартам, отличающимся от ECDSA: s = (d r + k h) mod q, где h — дайджест). Используется модифицированная версия с дополнительным умножением на закрытый ключ.
  7. Подпись — пара (r, s).

Проверка подписи (алгоритм для получателя)

  1. Проверка, что r и s находятся в интервале [1, q-1].
  2. Вычисление хэша сообщения H' и преобразование в целое число h'.
  3. Вычисление обратного элемента s_inv = s^(-1) mod q.
  4. Вычисление u1 = h' s_inv mod q, u2 = r s_inv mod q.
  5. Вычисление точки P = u1 G + u2 Q.
  6. Проверка, что x-координата точки P равна r (по модулю q). Если да — подпись верна.

Отличия от предыдущих стандартов (ГОСТ Р 34.10-2012 и 34.10-94)

Основные изменения в ГОСТ Р 34.10-2021:

ПараметрГОСТ Р 34.10-94ГОСТ Р 34.10-2012ГОСТ Р 34.10-2021
Тип эллиптической кривойЭллиптическая кривая над GF(2^m)Кривая над GF(p)Кривая над GF(p), но с дополнительными параметрами
Длина закрытого ключа до256 бит256 или 512 бит256 или 512 бит (не изменилась)
Функция хэшированияГОСТ Р 34.11-94ГОСТ Р 34.11-2012 (256/512)ГОСТ Р 34.11-2012 (обновлённая версия 2021 года)
Формат подписиDER-кодированные (r,s)DER или RAW (rs)Расширена поддержка форматов (добавлен CBOR)
ГибкостьТолько фиксированные кривыеФиксированные кривыеВозможность использования произвольных кривых (с проверкой параметров)

Ключевое нововведение — введение четвёртого режима проверки параметров («режим безопасного выбора»), предотвращающий атаки с подменой кривой. Также уточнена процедура проверки на бесконечность (точка O) и усилены требования к генерации случайных чисел.

Применение

ГОСТ Р 34.10-2021 обязателен для использования в следующих контекстах:

Безопасность и криптостойкость

Стандарт обеспечивает стойкость в рамках модели случайного оракула и основывается на сложности задачи дискретного логарифма в группе точек эллиптической кривой (ECDLP). Для кривых с порядком 256 бит эквивалентная симметричная стойкость составляет примерно 2^128 операций, для 512 бит — 2^256. При правильной реализации (устойчивость к атакам по побочным каналам, качественный ГСЧ) стандарт считается практически невзламываемым для современных вычислительных мощностей.

Ограничения:

Взаимодействие с другими стандартами

ГОСТ Р 34.10-2021 применяется совместно с:

Для международного обмена подписями (например, с партнёрами из стран ЕАЭС: Беларусь, Казахстан) предусмотрена трансформация подписи в формат PKCS#7 и CMS с использованием российских OID (1.2.643.7.1.1.1.1 — подпись ГОСТ).

Реализации и доступность

Стандарт реализован в открытых криптографических библиотеках (OpenSSL 3.0+ с модулем российских ГОСТ, GnuTLS, Botan), а также в коммерческих продуктах:

Для работы с ГОСТ Р 34.10-2021 необходимо наличие сертифицированного СКЗИ, если подпись используется в юридически значимом документообороте. Иные варианты (некриптографическое использование) возможны для исследовательских или тестовых целей.

Критика и перспективы

Тем не менее, на 2024 год ГОСТ Р 34.10-2021 остаётся основным криптографическим стандартом для электронной подписи в России и странах Таможенного союза.

Источники

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

На главную BFOmetr →