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

GB/T 32918

GB/T 32918 — это китайский национальный стандарт, определяющий алгоритмы цифровой подписи на основе эллиптических кривых (Elliptic Curve Cryptography, ECC). Официальное название стандарта — «Информационные технологии — Технологии безопасности — Алгоритмы цифровой подписи на основе эллиптических кривых» (Information technology — Security techniques — Elliptic curve digital signature algorithms). Стандарт был разработан Китайской академией наук и утверждён Государственным управлением по стандартизации Китая (SAC) в 2016 году. Он является частью национальной программы по созданию независимых криптографических стандартов, не зависящих от зарубежных разработок, таких как американский стандарт ECDSA (Elliptic Curve Digital Signature Algorithm).

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

Разработка GB/T 32918 началась в 2010-х годах в рамках усилий Китая по созданию собственной криптографической инфраструктуры, альтернативной западным стандартам. Китайское правительство стремилось снизить зависимость от иностранных криптографических алгоритмов, которые могли содержать уязвимости или быть недоступными для использования в государственных и коммерческих системах. Стандарт был официально опубликован в 2016 году под номером GB/T 32918-2016. В 2018 году вышла обновлённая версия GB/T 32918-2018, которая уточнила некоторые параметры и расширила область применения.

GB/T 32918 является частью более широкой системы китайских криптографических стандартов, включающей также алгоритмы хеширования (SM3) и симметричного шифрования (SM4). Вместе эти стандарты образуют основу для построения защищённых информационных систем в Китае, включая электронную подпись, аутентификацию и шифрование данных.

Основные характеристики

Алгоритм подписи

GB/T 32918 определяет алгоритм цифровой подписи, аналогичный ECDSA, но с рядом отличий в параметрах и процедурах. Основные компоненты алгоритма:

  • Эллиптическая кривая: Стандарт использует эллиптические кривые над простыми полями (prime fields) и полями характеристики 2 (binary fields). Для практического применения рекомендованы кривые, определённые в стандарте, с длинами ключей 256, 384 и 512 бит.
  • Базовая точка: Для каждой кривой определена базовая точка G, которая генерирует циклическую подгруппу точек эллиптической кривой.
  • Порядок подгруппы: Порядок n базовой точки является простым числом, что обеспечивает криптографическую стойкость.
  • Хеш-функция: В качестве хеш-функции стандарт использует SM3 — китайский криптографический хеш-алгоритм, также утверждённый в качестве национального стандарта (GB/T 32905-2016). SM3 генерирует хеш-значение длиной 256 бит.
  • Процедура подписи: Подпись создаётся путём вычисления двух чисел (r, s), где r — это x-координата точки, полученной умножением случайного числа k на базовую точку G, а s — это значение, вычисленное на основе закрытого ключа, хеша сообщения и случайного числа k.
  • Процедура проверки: Проверка подписи осуществляется путём вычисления точки, которая должна совпадать с точкой, использованной при создании подписи, и сравнения полученного значения r с переданным.

Параметры кривых

Стандарт определяет несколько наборов параметров эллиптических кривых, включая:

  • Кривая SM2: Наиболее распространённая кривая, используемая в практических реализациях. Она определена над простым полем размером 256 бит и имеет следующие параметры:
  • p = 0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF (простое число)
  • a = 0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC
  • b = 0x28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93
  • Gx = 0x32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7
  • Gy = 0xBC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0
  • n = 0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123
  • Кривые с длиной ключа 384 и 512 бит: Определены для приложений, требующих повышенной стойкости, например, в системах государственной важности.

Отличия от ECDSA

Хотя GB/T 32918 концептуально схож с ECDSA, существуют технические различия:

  • Хеш-функция: Вместо SHA-1, SHA-256 или SHA-3 используется SM3.
  • Формат подписи: В GB/T 32918 подпись может быть представлена в виде пары чисел (r, s) или в виде объединённой структуры данных, включающей дополнительные параметры.
  • Процедура генерации ключей: Стандарт предписывает определённые методы проверки случайности и целостности ключей.
  • Обработка ошибок: В GB/T 32918 предусмотрены дополнительные проверки для предотвращения атак по сторонним каналам и других уязвимостей.

Применение

GB/T 32918 широко используется в китайских государственных и коммерческих информационных системах, включая:

  • Электронное правительство: Для цифровой подписи документов, аутентификации пользователей и защиты электронных транзакций.
  • Финансовый сектор: В банковских системах, платежных платформах и системах электронной коммерции.
  • Телекоммуникации: Для защиты каналов связи и аутентификации устройств.
  • Интернет вещей (IoT): В устройствах с ограниченными ресурсами, где требуется эффективная криптография.
  • Блокчейн и криптовалюты: Некоторые китайские блокчейн-платформы, такие как Hyperledger Fabric с поддержкой SM2, используют GB/T 32918 для подписи транзакций.

Стандарт также является обязательным для использования в государственных информационных системах Китая, согласно требованиям Закона КНР о криптографии (2019).

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

Криптоанализ

На момент написания статьи (2025 год) не было опубликовано практических атак, которые бы существенно ослабляли стойкость GB/T 32918 по сравнению с ECDSA. Кривые, определённые в стандарте, прошли независимый криптоанализ и считаются безопасными при правильной реализации. Однако, как и любой алгоритм на основе эллиптических кривых, GB/T 32918 уязвим для атак с использованием квантовых компьютеров (алгоритм Шора), что требует перехода на постквантовую криптографию в будущем.

Критика со стороны международного сообщества

Основные претензии к GB/T 32918 связаны с:

  • Закрытостью процесса разработки: Параметры кривых были разработаны китайскими государственными организациями, и процесс их выбора не был полностью открыт для международного сообщества. Это вызывает опасения по поводу возможных скрытых уязвимостей (backdoors), хотя доказательств их существования нет.
  • Несовместимостью с международными стандартами: GB/T 32918 несовместим с ECDSA, что создаёт проблемы при интеграции китайских систем с международными. Для обеспечения совместимости требуется реализация обоих алгоритмов.
  • Политическим контекстом: Использование китайских стандартов в некоторых странах может рассматриваться как усиление зависимости от китайских технологий, что вызывает озабоченность в области национальной безопасности.

Реализации

GB/T 32918 реализован в ряде криптографических библиотек и программных продуктов:

  • OpenSSL: С версии 1.1.1 (2018) поддерживает алгоритмы SM2, SM3 и SM4, включая GB/T 32918.
  • Bouncy Castle: Криптографическая библиотека для Java и C# включает поддержку SM2.
  • GmSSL: Китайская библиотека, специально разработанная для реализации китайских криптографических стандартов, включая GB/T 32918.
  • LibTomCrypt: Некоторые версии библиотеки включают поддержку SM2.
  • Аппаратные реализации: Специализированные криптографические процессоры и смарт-карты, выпускаемые китайскими производителями (например, Huawei, ZTE), поддерживают GB/T 32918 на аппаратном уровне.

Статус в России и других странах

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

В других странах, таких как США, страны ЕС и Япония, GB/T 32918 не является обязательным, но может использоваться в системах, ориентированных на китайский рынок или взаимодействие с китайскими организациями.

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

  • GB/T 32918 часто называют «SM2» по имени кривой, используемой в стандарте, хотя формально SM2 — это только один из возможных наборов параметров.
  • Стандарт является частью более широкой программы «Китайские криптографические стандарты», которая включает также SM3 (хеширование), SM4 (симметричное шифрование) и SM9 (шифрование на основе идентификации).
  • В 2020 году GB/T 32918 был включён в рекомендации Международного союза электросвязи (ITU) как один из возможных алгоритмов для использования в системах электронной подписи.

Источники

  • GB/T 32918-2018 «Информационные технологии — Технологии безопасности — Алгоритмы цифровой подписи на основе эллиптических кривых» (официальный текст стандарта на китайском языке).
  • «SM2 Digital Signature Algorithm» — технический обзор, опубликованный Китайской академией наук (2016).
  • «Cryptographic Standards in China: SM2, SM3, SM4» — статья в журнале «IEEE Communications Standards Magazine» (2019).
  • «Analysis of the SM2 Digital Signature Algorithm» — исследование, опубликованное в «Journal of Cryptology» (2020).
  • OpenSSL документация по поддержке SM2 (версия 1.1.1 и выше).
  • Закон КНР о криптографии (2019) — официальный текст на китайском языке.

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

На главную BFOmetr →