Инструмент шифрования SM4

Бесплатный онлайн-инструмент шифрования и дешифрования SM4 с режимами ECB/CBC, дополнением PKCS, форматами HEX/Base64 и генерацией случайного ключа или IV для рабочих процессов Guomi и GM/T.

Настройки

Настройки ключа и IV

Зашифровать/Расшифровать

Сведения об SM4

О SM4

SM4 — китайский национальный блочный шифр с размером блока 128 бит и ключом 128 бит. Широко используется в экосистеме стандартов GM/T, включая SM TLS/SSL, WAPI для безопасности WLAN, электронное правительство и финансы.

Связь с AES

  • Общее:
    • Оба являются 128-битными блочными шифрами; поддерживают общие режимы (ECB/CBC) и стандартные дополнения (PKCS#5/7).
    • Очень похожая модель работы: требуется ключ (Key), опциональный IV, выбор режима и дополнения, затем обработка открытого текста поблочно.
  • Различия:
    • Стандарты и экосистема: AES — международный стандарт (FIPS 197) и принят по всему миру; SM4 — китайский национальный стандарт (серия GM/T), используемый для соблюдения местных норм и требований регуляторов.
    • Длина ключа: AES поддерживает ключи 128/192/256 бит; SM4 фиксирован на 128 бит.
    • Производительность и аппаратное обеспечение: современные CPU/GPU имеют более широкое аппаратное ускорение для AES; аппаратное ускорение SM4 улучшается и зависит от платформы.
    • Соответствие: в Китае или сценариях, ориентированных на Китай, SM4 часто требуется для соответствия «GuoMi»; в трансграничных/глобальных сценариях обычно используется AES.

ECB против CBC

Параметр ECB CBC
Использует IV Нет Да (16 байт)
Распространение ошибок Нет Да (по блокам)
Параллелизм Высокий Низкий (связанный)
Безопасность Низкая (раскрывает структуру) Высокая (рекомендуется)
Типичное применение Случайные данные, тестирование Реальные бизнес-данные
  • ECB: шифрует каждый 16-байтовый блок независимо; раскрывает структурные шаблоны. Не рекомендуется для структурированных/повторяющихся данных.
  • CBC: использует случайный и непереиспользуемый 16-байтовый IV; связывает соседние блоки, эффективно маскируя шаблоны и повышая безопасность для бизнеса.

Дополнение и выравнивание

  • PKCS#5/PKCS#7: автоматически дополняет до кратности 16 байтам; подходит для большинства текстовых/бинарных данных.
  • NoPadding: без дополнения; открытый текст/шифротекст должны быть кратны 16 байтам; подходит для заранее выровненных данных или пользовательских протоколов.

Рекомендации

  1. Выбор режима: предпочитайте CBC; избегайте ECB для структурированных данных.
  2. Управление IV: IV режима CBC должен быть криптографически стойким случайным и уникальным для каждого шифрования.
  3. Генерация ключа: используйте стойкие случайные 128-битные ключи; избегайте слабых/предсказуемых значений.
  4. Формат вывода: используйте HEX или Base64 для шифротекста; Base64 рекомендуется для межсистемной передачи.
  5. Соответствие: в Китае или системах, совместимых с GuoMi, используйте SM4; в международных экосистемах обычно основным является AES.