SM2 (国密) Зашифровать

Бесплатный онлайн-инструмент SM2 (国密) Зашифровать. 100% локальная обработка — ваши данные никогда не покидают устройство.

National Standards
Other
Вывод

Результат будет отображен здесь...

Ввод Зашифровать

Usage Guide

О SM2

SM2 — это национальный стандарт криптографии на эллиптических кривых (ECC) Китая, определённый в GM/T 0003-2012 и опубликованный Государственным управлением криптографии (SCA/OSCCA) в 2010 году. Основан на 256-битной эллиптической кривой с пользовательскими параметрами кривой SM2, обеспечивая безопасность, эквивалентную RSA-3072, но с более короткими ключами и более быстрыми вычислениями. SM2 определяет три функции: асимметричное шифрование, цифровую подпись и обмен ключами. Данный инструмент охватывает функцию шифрования — шифрование открытым ключом, дешифрование закрытым ключом.

Национальный стандарт Китая: SM2 является обязательным по Закону Китая о криптографии для систем, связанных с национальной безопасностью и общественным благополучием. Если ваша система должна соответствовать китайским нормативным требованиям (банковская сфера, государственное управление, критическая инфраструктура), SM2 является обязательным выбором вместо RSA или стандартного ECC.

Шаги использования

Шифрование и дешифрование SM2 выполняются по следующим шагам:

1. Выбор режима шифраВыберите C1C3C2 (новый стандарт, рекомендуется) или C1C2C3 (старый стандарт, только для обратной совместимости)
2. Генерация пары ключейНажмите «Создать пару ключей», чтобы получить открытый ключ (128 шестнадцатеричных символов) и закрытый ключ (64 шестнадцатеричных символа)
3. Сохранение обоих ключейСкопируйте и надёжно сохраните открытый ключ (128 hex-символов) и закрытый ключ (64 hex-символа) — закрытый ключ не подлежит восстановлению
4. ШифрованиеВставьте открытый ключ, введите открытый текст, нажмите «Зашифровать» — на выходе получите шифртекст в кодировке Base64
5. ДешифрованиеВставьте закрытый ключ, вставьте шифртекст в Base64, нажмите «Расшифровать» — исходный открытый текст будет восстановлен
Защита конфиденциальности: Все операции SM2 выполняются локально в вашем браузере через WebAssembly. Никакие данные не отправляются на сервер — полностью автономная обработка.

Режимы шифра: C1C3C2 vs C1C2C3

Шифртекст SM2 состоит из трёх компонентов, расположенных в определённом порядке:

C1Эфемерная точка открытого ключа — 64 байта (координаты x и y случайной точки на эллиптической кривой, используемой при шифровании)
C2Тело шифртекста — той же длины, что и открытый текст, получается XOR с потоком ключей, производным от C1
C3Хэш-дайджест — 32 байта (хэш SM3 открытого текста и ключевого материала, обеспечивающий проверку целостности)
C1C3C2 (новый стандарт)Порядок: эфемерный ключ → хэш → шифртекст. Определён в обновлённом стандарте GM/T 0003.4-2012. Рекомендуется для всех новых реализаций.
C1C2C3 (старый стандарт)Порядок: эфемерный ключ → шифртекст → хэш. Исходный порядок из более ранних версий. Используйте только при взаимодействии с устаревшими системами.
Несоответствие режимов: Шифрование и дешифрование должны использовать один и тот же режим шифра. Если зашифровать с помощью C1C3C2, но расшифровывать с помощью C1C2C3 (или наоборот), дешифрование завершится неудачей. Всегда согласовывайте режим с системой-контрагентом.

Формат ключей

SM2 использует необработанные шестнадцатеричные строки для ключей — не PEM-сертификаты, как RSA:

Открытый ключ (128 hex-символов)64 байта, представляющие координаты x и y точки на кривой SM2, объединённые как x‖y. Префикс «04» для несжатой точки в формате этого инструмента не включён.
Закрытый ключ (64 hex-символа)32 байта, представляющие закрытый скаляр d. Держите в секрете — это единственный способ расшифровать данные, зашифрованные соответствующим открытым ключом.
Без PEM/DER-обёрткиКлючи SM2 в китайских экосистемах обычно обмениваются как обычные шестнадцатеричные строки, в отличие от ключей RSA, использующих PEM-заголовки в кодировке Base64.
Примечание об интероперабельностиНекоторые библиотеки SM2 (например, OpenSSL с поддержкой SM2) кодируют ключи в формате DER/PEM. Используйте инструменты, предоставляемые вашей криптографической библиотекой, для конвертации между форматами.
Справочник по длине ключей: Открытый ключ = 128 hex-символов (64 байта). Закрытый ключ = 64 hex-символа (32 байта). Если длина вашего ключа отличается, возможно, он содержит префикс "04" или использует другую кодировку — удалите или конвертируйте соответствующим образом.

FAQ

Q: В чём разница между SM2 и RSA?

A: Как SM2, так и RSA являются асимметричными алгоритмами. Ключевые отличия: Математическая основа: RSA использует факторизацию целых чисел; SM2 использует дискретный логарифм на эллиптической кривой. Размер ключа: SM2 256 бит ≈ RSA-3072. Производительность: SM2 быстрее при эквивалентных уровнях безопасности. Соответствие нормативам: SM2 обязателен по китайским нормам; RSA является международным стандартом.

Q: Когда необходимо использовать SM2 вместо RSA или ECC?

A: Закон Китая о криптографии (2020) требует алгоритмов SM для национальной безопасности, критической инфраструктуры и публичных финансовых услуг. Конкретные сценарии: Государственные системы, Финансовые учреждения (предписание PBOC), Электронные счета-фактуры и лицензии. Для систем исключительно международного использования применяйте стандартный RSA или ECDSA (P-256).

Q: Почему дешифрование завершается неудачей, даже если я использую правильный закрытый ключ?

A: Наиболее распространённой причиной является несоответствие режимов шифра: зашифровано с помощью C1C3C2, но дешифрование выполняется с помощью C1C2C3 (или наоборот). Другие причины: Усечённый шифртекст (минимум 97 байт), Неверный ключ, Проблема кодировки (некоторые системы добавляют ведущий байт-префикс "04" к C1).

Q: Насколько безопасен SM2? Как он соотносится со стандартным ECC (P-256)?

A: 256-битный ключ SM2 обеспечивает безопасность ~эквивалентную RSA-3072, значительно превышая текущие рекомендации. По сравнению с NIST P-256: оба обеспечивают аналогичные 128-битные уровни безопасности. Никаких практических атак на SM2 не известно. SM2 не получил широкого распространения за пределами Китая — для международного использования стандартный ECC (P-256) является лучшим выбором.

Q: Можно ли использовать SM2 для цифровых подписей в этом инструменте?

A: Данный инструмент реализует только шифрование/дешифрование SM2. Для рабочих процессов подписи используйте специализированную библиотеку цифровой подписи SM2. В сценариях соответствия китайским нормам цифровые подписи SM2 часто требуются наряду с SM3 и SM4.

Use Cases

Рекомендуется: Аутентификация государственных систем

Китайские платформы электронного правительства по закону обязаны использовать алгоритмы SM. Объедините SM2 с SM3 для хэширования и SM4 для симметричного шифрования, чтобы сформировать полностью соответствующий национальный криптографический набор.

Recommended Configuration:
  • ✅ SM2 (обязателен для государственных систем)
  • ✅ SM2 + SM3 + SM4 (полный национальный криптографический набор)
  • ❌ RSA или ECC в отдельности не удовлетворяют китайским нормативным требованиям
  • 💡 Проверьте, поддерживает ли ваш удостоверяющий центр сертификаты SM2
Рекомендуется: Шифрование транзакций финансовых учреждений

Народный банк Китая (PBOC) обязывает применять SM2/SM3/SM4 в основных банковских системах и платёжных платформах Китая. Даже иностранные банки, работающие в Китае, должны соответствовать этим требованиям при обработке транзакций, подпадающих под китайские финансовые нормы.

Recommended Configuration:
  • ✅ SM2 (требуется PBOC для китайских финансовых систем)
  • ✅ Использовать режим C1C3C2 (действующий стандарт)
  • 💡 Согласовывать режим шифра и формат кодирования ключей с банком-партнёром
  • ❌ RSA недопустим как единственный алгоритм в системах, регулируемых PBOC
Рекомендуется: Электронные счета-фактуры и официальные лицензии

Система электронных счетов-фактур Китая, электронные бизнес-лицензии и цифровые сертификаты используют SM2. При интеграции с системой счетов-фактур Государственной налоговой администрации ваша криптографическая реализация должна использовать SM2.

Recommended Configuration:
  • ✅ SM2 для подписания и шифрования документов
  • ✅ SM3 для вычисления дайджеста подписанного контента
  • 💡 Использовать сертификаты SM2, выданные удостоверяющим центром, сертифицированным CFCA
  • ❌ Стандартные TLS-сертификаты (RSA/ECDSA) недостаточны для регулируемой подписи документов
Рекомендуется: Защищённые коммуникации критической инфраструктуры

Электросети, водные системы, транспортные сети и телекоммуникационные операторы в Китае, отнесённые к критической информационной инфраструктуре (КИИ), обязаны использовать национальные стандарты криптографии.

Recommended Configuration:
  • ✅ SM2 для аутентификации устройств и операторов
  • ✅ SM4 для массового шифрования данных (эффективнее SM2 для больших объёмов данных)
  • 💡 Реализовать ротацию сертификатов и управление жизненным циклом ключей
  • 💡 Ознакомиться с руководящими указаниями OSCCA для конкретных отраслевых требований
Не рекомендуется: Международные или трансграничные проекты

Если ваша система работает на международном уровне, SM2 не является правильным выбором. Большинство международных библиотек, браузеров, облачных провайдеров и HSM не поддерживают SM2 нативно. Используйте RSA-2048/4096 или стандартный ECC (P-256/P-384) для международных проектов.

Recommended Configuration:
  • ✅ RSA-2048 или RSA-4096 (международный стандарт)
  • ✅ ECC P-256 / P-384 (современный международный стандарт)
  • ❌ SM2 имеет очень ограниченную поддержку за пределами китайских экосистем
  • 💡 Для систем с двумя регионами использовать SM2 для Китая и RSA/ECC для международных компонентов

Рекомендации по передовым практикам

  • Использовать SM2 исключительно при необходимости соответствия китайским нормативным требованиям (Закон о криптографии, PBOC, государственные стандарты).
  • Всегда использовать режим C1C3C2 для новых реализаций. C1C2C3 существует только для обратной совместимости с устаревшими системами.
  • Обращаться с закрытым ключом с той же осторожностью, что и с паролем: хранить в зашифрованном виде, никогда не записывать в журналы и периодически менять ключи.
  • Объединять SM2 с SM3 (хэш) и SM4 (симметричный) для формирования полностью соответствующего национального криптографического набора.
  • Согласовывать формат кодирования ключей (hex vs. PEM/DER, с префиксом «04» или без) с партнёром по интеграции до обмена ключами.

Обсуждение и отзывы

0 комментариев
Я