Toolonit
  1. Главная
  2. Шифрование
  3. Шифрование / расшифровка
  4. SM4

Шифрование и расшифровка SM4

Шифрует и расшифровывает текст алгоритмом SM4 — национальным стандартом Китая.

Зашифровать с помощью

Он понадобится для расшифровки. Ничего из введённого не покидает эту страницу.

Итерации PBKDF2

По умолчанию в OpenSSL — 10 000. Подойдёт любое число: чем больше, тем медленнее подбирать пароль; для расшифровки нужно то же число.

Режим

Обычный выбор для OpenSSL. Нужен IV; дополняет до целых блоков.

Формат вывода
То же в OpenSSL
openssl enc -sm4-cbc -pbkdf2 -iter 10000 -a -A

OpenSSL запросит пароль; вставьте в него текст или добавьте файлы -in и -out.

SM4, ранее SMS4, — национальный стандарт блочного шифрования Китая (GB/T 32907-2016) с ключом 128 бит и 16-байтовыми блоками; с 2021 года он также входит в ISO/IEC 18033-3. Системы, которые следуют китайским правилам коммерческой криптографии, используют его там, где другие использовали бы AES, например в банковских и государственных системах. Шифруйте и расшифровывайте здесь текст SM4 в режиме CBC по умолчанию или в ECB, CTR, CFB и OFB — паролем в формате openssl enc -pbkdf2 или своими 32-значными ключом и IV в hex. SM4 работает в браузере, поэтому текст и ключ не покидают ваше устройство; бесплатно и без регистрации.

Как зашифровать и расшифровать текст SM4

  1. Выберите «Зашифровать» или «Расшифровать». Введите текст для шифрования или вставьте текст в Base64 или hex для расшифровки — формат определяется автоматически.
  2. Введите пароль (кнопка «Сгенерировать» создаст надёжный) или переключитесь на «Ключ и IV (hex)» и введите либо сгенерируйте 32-значные ключ и IV (в ECB IV нет).
  3. Выберите режим — CBC, если данные не создавались в другом. Включайте «Без дополнения», только если данные шифровались без дополнения PKCS#7.
  4. Скопируйте или скачайте результат. В блоке «То же в OpenSSL» показана команда openssl, которая делает то же самое, — без вашего пароля.

Возможности

  • SM4 (GB/T 32907-2016) с ключом 128 бит
  • Режимы CBC, ECB, CTR, CFB и OFB; дополнение PKCS#7 или без дополнения
  • Режим пароля в формате openssl enc -pbkdf2, который читает openssl enc -sm4-cbc
  • Подходящая команда openssl для каждого режима
  • Режим «Ключ и IV» с 32-значными ключом и IV в hex — введёнными вручную или сгенерированными
  • Base64 или hex на входе и выходе; результат можно скопировать, скачать или поменять местами с вводом

Это конфиденциально?

Да. SM4 работает на WebAssembly внутри браузера, а пароль усиливается встроенным в браузер Web Crypto; текст, пароль и ключ никуда не загружаются и не сохраняются.

Частые вопросы

Надёжен ли SM4?

Да. Практических атак на полный 32-раундовый SM4 неизвестно, а его 128-битный ключ даёт примерно ту же стойкость, что и AES-128. Как и у любого шифра здесь, слабое место — пароль: используйте длинный случайный.

Можно ли расшифровать это в OpenSSL?

Да, в OpenSSL 3: echo 'U2FsdGVkX1…' | openssl enc -d -sm4-cbc -pbkdf2 -iter 10000 -a -A (затем OpenSSL запросит пароль). Для других режимов используйте -sm4-ecb, -sm4-ctr, -sm4-cfb или -sm4-ofb, а в режиме «Ключ и IV» — -K <32 цифры hex> -iv <32 цифры hex> вместо -pbkdf2 -iter. Если ваш openssl не принимает sm4-cbc, он собран без SM4.

Поддерживается ли SM4-GCM?

Нет. SM4 доступен в режимах CBC, ECB, CTR, CFB и OFB — тех, что есть в openssl enc; ни один из них не обнаруживает изменений текста. GCM есть на странице AES.

А SM2 или SM3 здесь есть?

Нет. SM2 — алгоритм с открытым ключом, а SM3 — хеш-функция; эта страница выполняет только симметричное шифрование SM4. Для хешей есть инструмент «Генератор хешей» с MD5 и семейством SHA, но без SM3.

Похожие инструменты