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

ГОСТ Р 34.10

ГОСТ Р 34.10 — это российский национальный стандарт, определяющий алгоритмы и процедуры формирования и проверки электронной цифровой подписи (ЭЦП). Относится к классу криптографических стандартов, используемых для обеспечения целостности, аутентичности и неотказуемости электронных документов. Является частью семейства стандартов криптографической защиты информации, разработанных в Российской Федерации.

История

Разработка ГОСТ Р 34.10 началась в 1990-х годах как часть государственной программы по созданию национальных криптографических алгоритмов, не зависящих от зарубежных стандартов (например, американского DSA или европейского ECDSA). Первая версия стандарта, ГОСТ Р 34.10-94, была утверждена в 1994 году. Она основывалась на алгоритме цифровой подписи, построенном на эллиптических кривых в простом поле GF(p) (поля Галуа), и использовала хеш-функцию ГОСТ Р 34.11-94.

В 2001 году вышла обновлённая версия — ГОСТ Р 34.10-2001, которая заменила предыдущую. В ней были уточнены параметры эллиптических кривых, улучшена стойкость к криптоанализу и приведены более строгие требования к генерации ключей. Стандарт 2001 года стал основным для российских систем электронной подписи вплоть до 2012 года.

Современная версия — ГОСТ Р 34.10-2012 — была принята в 2012 году и вступила в силу в 2013 году. Она разработана с учётом международных требований к криптостойкости (в частности, рекомендаций NIST) и обеспечивает уровень безопасности, сопоставимый с алгоритмами на основе эллиптических кривых с длиной ключа 256 бит. Стандарт 2012 года является обязательным для использования в государственных информационных системах Российской Федерации, а также в системах, обрабатывающих персональные данные. В 2021 году была выпущена редакция с уточнениями (ГОСТ Р 34.10-2012 (с Изменением №1)), которая не меняла сути алгоритма, но исправляла опечатки и уточняла процедуры.

Классификация и место в системе стандартов

ГОСТ Р 34.10 входит в комплекс стандартов криптографической защиты информации, который включает:

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

Устройство и принцип работы

Основные параметры

ГОСТ Р 34.10-2012 определяет следующие параметры:

  • Простое поле GF(p) — конечное поле, где p — простое число длиной 256 бит (для стандартной кривой) или 512 бит (для усиленной кривой).
  • Эллиптическая кривая — задаётся уравнением вида y² = x³ + ax + b (mod p), где a и b — коэффициенты, удовлетворяющие условию несингулярности.
  • Базовая точка G — точка на кривой, имеющая простой порядок q (длиной 256 или 512 бит). Все операции подписи и проверки выполняются относительно этой точки.
  • Закрытый ключ d — случайное целое число из интервала [1, q-1].
  • Открытый ключ Q — точка на кривой, вычисляемая как Q = d * G (умножение точки на скаляр).

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

  1. Хеширование — вычисляется хеш-значение H от подписываемого сообщения M с помощью алгоритма ГОСТ Р 34.11-2012Стрибог»).
  2. Преобразование хеша — хеш-значение приводится к целому числу e, которое не превышает порядок q. Если H ≥ q, то H уменьшается по модулю q.
  3. Генерация случайного числа — выбирается случайное целое число k из интервала [1, q-1].
  4. Вычисление точки — находится точка R = k * G.
  5. Вычисление первой компоненты подписи r — r = x_R mod q, где x_R — координата x точки R. Если r = 0, процедура повторяется с новым k.
  6. Вычисление второй компоненты подписи s — s = (k e + d r) mod q. Если s = 0, процедура повторяется с новым k.
  7. Результат — подпись представляет собой пару чисел (r, s).

Процесс проверки подписи

  1. Хеширование — вычисляется хеш-значение H от полученного сообщения M.
  2. Преобразование хеша — аналогично формированию, получается число e.
  3. Проверка компонент — проверяется, что r и s находятся в интервале [1, q-1].
  4. Вычисление вспомогательных значений — вычисляются u1 = s e^(-1) mod q и u2 = -r e^(-1) mod q.
  5. Вычисление точки — находится точка R' = u1 G + u2 Q.
  6. Сравнение — подпись считается верной, если r = x_R' mod q.

Применение

ГОСТ Р 34.10 является обязательным для использования в следующих сферах:

  • Государственные информационные системыэлектронный документооборот между органами власти (например, система «Электронный бюджет», портал «Госуслуги»).
  • Электронная подпись для физических и юридических лиц — сертификаты ключей проверки электронной подписи, выдаваемые удостоверяющими центрами, аккредитованными Минцифры России.
  • Банковская сфера — системы дистанционного банковского обслуживания (например, «СберБизнес», «ВТБ Бизнес Онлайн»), а также межбанковские расчёты.
  • Криптографическая защита каналов связи — в составе протоколов TLS (российская версия — ГОСТ TLS) и IPsec.
  • Системы электронного голосования — в экспериментах по дистанционному электронному голосованию в России.
  • Защита программного обеспечения — подпись драйверов, обновлений и исполняемых файлов для российских операционных систем (например, Astra Linux, РЕД ОС).

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

ГОСТ Р 34.10-2012 обеспечивает уровень безопасности, эквивалентный:

  • 256-битным ключам — для стандартной кривой (стойкость ~128 бит).
  • 512-битным ключам — для усиленной кривой (стойкость ~256 бит).

Стандарт устойчив к известным атакам на эллиптические кривые (например, атака Полларда-ро, атака MOV). В 2020-х годах не было опубликовано успешных криптоаналитических атак, снижающих эффективную стойкость алгоритма ниже заявленного уровня. Однако, как и любой алгоритм на эллиптических кривых, ГОСТ Р 34.10 уязвим для атак через квантовые компьютеры (алгоритм Шора), что делает его потенциально небезопасным в постквантовую эпоху. В связи с этим в России ведётся разработка постквантовых стандартов цифровой подписи, которые могут заменить ГОСТ Р 34.10 в будущем.

Критика и ограничения

  • Закрытость разработки — стандарт разрабатывался в закрытых ведомствах (ФСБ России, Академия криптографии), что вызывает недоверие у части международного криптографического сообщества.
  • Отсутствие международного признания — ГОСТ Р 34.10 не входит в стандарты ISO/IEC, хотя существуют проекты по его интернационализации. Это ограничивает его использование в трансграничном электронном документообороте.
  • Сложность реализации — из-за специфических параметров кривых и хеш-функции «Стрибог» реализация ГОСТ Р 34.10 требует дополнительных усилий по сравнению с ECDSA, что может приводить к ошибкам в программном обеспечении.
  • Зависимость от аппаратной поддержки — не все процессоры и криптоускорители имеют встроенную поддержку российских эллиптических кривых, что снижает производительность в некоторых сценариях.

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

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

Источники

  • ГОСТ Р 34.10-2012. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи.
  • ГОСТ Р 34.11-2012. Информационная технология. Криптографическая защита информации. Функция хеширования.
  • Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи».
  • Рекомендации по стандартизации Р 50.1.113-2016. Криптографическая защита информации. Параметры эллиптических кривых для алгоритмов электронной подписи.
  • Научные публикации Академии криптографии Российской Федерации (2012–2023).

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

На главную BFOmetr →