Toolonit
  1. Inicio
  2. Cifrado
  3. Cifrar / descifrar
  4. SM4

Cifrado y descifrado SM4

Cifra y descifra texto con SM4, el estándar nacional chino.

Cifrar con

La necesitarás de nuevo para descifrar. Nada de lo que escribes sale de esta página.

Iteraciones de PBKDF2

El valor predeterminado de OpenSSL es 10.000. Sirve cualquier número: cuantas más, más lenta de adivinar es la contraseña; para descifrar hace falta el mismo número.

Modo

La opción habitual con OpenSSL. Necesita un IV; rellena hasta completar bloques.

Salida en
Lo mismo con OpenSSL
openssl enc -sm4-cbc -pbkdf2 -iter 10000 -a -A

OpenSSL te pide la contraseña; pega el texto en él o añade archivos con -in y -out.

SM4, antes llamado SMS4, es el cifrado por bloques del estándar nacional chino (GB/T 32907-2016), con clave de 128 bits y bloques de 16 bytes; desde 2021 también forma parte de ISO/IEC 18033-3. Los sistemas que siguen las normas chinas de criptografía comercial lo usan donde otros usarían AES, por ejemplo en la banca y en la administración pública. Aquí puedes cifrar y descifrar texto con SM4 en modo CBC por defecto, o en ECB, CTR, CFB u OFB, con una contraseña en el formato de openssl enc -pbkdf2 o con tu propia clave e IV hexadecimales de 32 dígitos. SM4 se ejecuta en tu navegador, así que el texto y la clave nunca salen de tu dispositivo, y es gratis y sin registro.

Cómo cifrar y descifrar texto con SM4

  1. Elige Cifrar o Descifrar. Escribe el texto que quieres cifrar o pega el texto en Base64 o hexadecimal que quieres descifrar: el formato se detecta automáticamente.
  2. Escribe una contraseña (Generar crea una segura), o cambia a Clave e IV (hex) e introduce o genera una clave de 32 dígitos y un IV de 32 dígitos (ECB no usa IV).
  3. Elige el modo: CBC, salvo que los datos se crearan con otro. Activa Sin relleno solo si los datos se cifraron sin relleno PKCS#7.
  4. Copia o descarga el resultado. En Lo mismo con OpenSSL, la página muestra el comando openssl que hace lo mismo, sin tu contraseña.

Funciones

  • SM4 (GB/T 32907-2016) con su clave de 128 bits
  • Modos CBC, ECB, CTR, CFB y OFB; relleno PKCS#7 o sin relleno
  • Modo contraseña en el formato de openssl enc -pbkdf2, legible con openssl enc -sm4-cbc
  • El comando openssl equivalente para cada modo
  • Modo Clave e IV con clave e IV hexadecimales de 32 dígitos, escritos o generados
  • Base64 o hexadecimal de entrada y de salida; copia, descarga o intercambia el resultado

¿Es privado?

Sí. SM4 se ejecuta en WebAssembly dentro de tu navegador, y la contraseña se refuerza con Web Crypto, integrado en el navegador; tu texto, tu contraseña y tu clave nunca se suben ni se guardan.

Preguntas frecuentes

¿Es seguro SM4?

Sí. No se conoce ningún ataque práctico contra SM4 completo de 32 rondas, y su clave de 128 bits ofrece más o menos la misma seguridad que AES-128. Como con cualquier cifrado de esta página, la contraseña es el punto débil: usa una larga y aleatoria.

¿Puedo descifrarlo con OpenSSL?

Sí, con OpenSSL 3: echo 'U2FsdGVkX1…' | openssl enc -d -sm4-cbc -pbkdf2 -iter 10000 -a -A (OpenSSL te pedirá la contraseña). Usa -sm4-ecb, -sm4-ctr, -sm4-cfb o -sm4-ofb para los demás modos, y -K <32 dígitos hex> -iv <32 dígitos hex> en lugar de -pbkdf2 -iter en el modo Clave e IV. Si tu openssl rechaza sm4-cbc, se compiló sin SM4.

¿Admite SM4-GCM?

No. SM4 se ofrece en CBC, ECB, CTR, CFB y OFB, los modos que tiene openssl enc; ninguno detecta cambios en el texto. GCM está disponible en la página de AES.

¿También hace SM2 o SM3?

No. SM2 es un algoritmo de clave pública y SM3 una función hash; esta página solo hace cifrado simétrico SM4. Para hashes, el Generador de hash ofrece MD5 y la familia SHA, no SM3.

Herramientas relacionadas