Articulo de referencia

SM4 (cifrado)

{{cite web |url=http://www.cnnic.cn/gcjsyj/qyjsyj/mmsfbz/sm4/201312/t20131204_43341.htm |title=SM4 Block Cipher Algorithm |publisher=[[CNNIC]] |date=2013-12-04 |access-date=2016...

ShāngMì 4 ( SM4, 商密4 ) (anteriormente SMS4 ) [ 2 ] es un cifrado de bloques , estandarizado para la criptografía comercial en China. [ 3 ] Se utiliza en el Estándar Nacional Chino para WAPI (Infraestructura de Autenticación y Privacidad de WLAN) y con Seguridad de la Capa de Transporte . [ 4 ]

SM4 fue un algoritmo de cifrado propuesto para el estándar IEEE 802.11i , pero hasta el momento ha sido rechazado. Una de las razones del rechazo ha sido la oposición del IEEE a la propuesta de vía rápida WAPI .

La norma SM4 se publicó como ISO/IEC 18033-3/Amd 1 en 2021.

El algoritmo SM4 fue elaborado por el Centro de Seguridad de Datos y Comunicaciones de la Academia China de Ciencias (CAS) y el Centro de Pruebas de Criptografía Comercial de la Administración Nacional de Criptografía. Su desarrollo principal estuvo a cargo de Lü Shuwang ( en chino :吕述望). El algoritmo fue desclasificado en enero de 2006 y se convirtió en un estándar nacional (GB/T 32907-2016) en agosto de 2016. [ 5 ]

Detalles del cifrado

El cifrado SM4 tiene un tamaño de clave y un tamaño de bloque de 128 bits cada uno. [ 6 ] [ 7 ] El cifrado o descifrado de un bloque de datos se compone de 32 rondas. Se utiliza un esquema de claves no lineal para generar las claves de ronda, y el descifrado utiliza las mismas claves de ronda que para el cifrado, excepto que están en orden inverso.

Claves y parámetros clave

La longitud de las claves de cifrado es de 128 bits, representada comoMETROK=(METROK0, METROK1, METROK2, METROK3){\displaystyle MK=(MK_{0},\ MK_{1},\ MK_{2},\ MK_{3})}, en el cualMETROKi (i=0, 1, 2, 3){\displaystyle MK_{i}\ (i=0,\ 1,\ 2,\ 3)}es una palabra de 32 bits. Las claves redondas están representadas por(rk0, rk1, , rk31){\displaystyle (rk_{0},\ rk_{1},\ \ldots ,\ rk_{31})}, donde cadarki(i=0, , 31){\displaystyle rk_{i}(i=0,\ \ldots ,\ 31)}Es una palabra de 32 bits. Se genera mediante la clave de cifrado y los siguientes parámetros:

  • FK=(FK0, FK1, FK2, FK3){\displaystyle FK=(FK_{0},\ FK_{1},\ FK_{2},\ FK_{3})}
  • doK=(doK0, doK1, , doK31){\displaystyle CK=(CK_{0},\ CK_{1},\ \ldots ,\ CK_{31})}

FKi{\displaystyle FK_{i}}ydoKi{\displaystyle CK_{i}}Se utilizan palabras de 32 bits para generar las claves de ronda.

Redondo

Cada ronda se calcula a partir de los resultados de las cuatro rondas anteriores.incógnitai,incógnitai+1,incógnitai+2,incógnitai+3{\displaystyle X_{i},X_{i+1},X_{i+2},X_{i+3}}de tal manera que: incógnitai+4=incógnitaiF(incógnitai+1incógnitai+2incógnitai+3rki){\displaystyle X_{i+4}=X_{i}\oplus F(X_{i+1}\oplus X_{i+2}\oplus X_{i+3}\oplus rk_{i})}

DóndeF{\displaystyle F}es una función de sustitución compuesta por una transformación no lineal, la caja S y una transformación lineal.L{\displaystyle L}

Caja S

La caja S de SM4 está fija para una entrada de 8 bits y una salida de 8 bits, denominada Sbox(). Al igual que con el Estándar de Cifrado Avanzado (AES), la caja S se basa en el inverso multiplicativo sobre GF (2⁸ ) . Las transformaciones afines y las bases polinómicas son diferentes a las de AES, pero debido al isomorfismo afín, se puede calcular de manera eficiente a partir de una caja S de AES . [ 8 ]

Historia

El 21 de marzo de 2012, el gobierno chino publicó el estándar industrial "GM/T 0002-2012 SM4 Block Cipher Algorithm", renombrando oficialmente SMS4 a SM4. [ 2 ]

Una descripción de SM4 en inglés está disponible como borrador de Internet . Contiene una implementación de referencia en ANSI C. [ 9 ]

SM4 forma parte de la expansión ARMv8.4-A de la arquitectura ARM. [ 10 ] El soporte de SM4 para la arquitectura RISC-V fue ratificado en 2021 como la extensión Zksed. [ 11 ]

SM4 es compatible con procesadores Intel, a partir de Arrow Lake S , Lunar Lake , Diamond Rapids y Clearwater Forest. [ 12 ]

Referencias

  1. "Algoritmo de cifrado por bloques SM4" . CNNIC . 4 de diciembre de 2013. Archivado del original el 19 de septiembre de 2016. Consultado el 24 de julio de 2016 .
  2. 1 2 «Anuncio n.º 23 de la Administración Estatal de Criptografía» (en chino (China)). Oficina de la Administración Estatal del Código Comercial (OSCCA). 21 de marzo de 2012. Archivado del original el 14 de agosto de 2016. Consultado el 24 de julio de 2016 .
  3. Martinkauppi, Louise Bergman; He, Qiuping; Ilie, Dragos (junio de 2020). «Sobre el diseño y el rendimiento de los algoritmos criptográficos chinos aprobados por la OSCCA» . XIII Conferencia Internacional de Comunicaciones (COMM) de 2020. págs. 119-124 . doi : 10.1109/COMM48946.2020.9142035 . ISBN  978-1-7281-5611-8. S2CID 220668639 . 
  4. Yang, P (marzo de 2021). RFC 8998. IETF . doi : 10.17487 /RFC8998 . Recuperado el 30 de julio de 2022 .
  5. Lu Shuwang. Panorama general del algoritmo SM4 [J]. Revista de investigación en seguridad de la información, 2016, 2(11): 995-1007.
  6. ^ "无线局域网产品使用的 SMS4 密码算法" (PDF) (en chino simplificado). Administración Estatal de Criptografía de la República Popular China. Archivado desde el original (PDF) el 10 de julio de 2007.
  7. Algoritmo de cifrado SMS4 para redes inalámbricas
  8. Saarinen, Markku-Juhani O. (17 de abril de 2020). "mjosaarinen/sm4ni: Demostración de que las instrucciones AES-NI se pueden usar para implementar el estándar de cifrado chino SM4" . GitHub .
  9. Tse, Ronald; Kit, Wong; Saarinen, Markku-Juhani (22 de abril de 2018). "El algoritmo de cifrado por bloques SM4 y sus modos de operación" . tools.ietf.org .
  10. "Presentamos las extensiones de 2017 a la arquitectura Arm" . community.arm.com . 2 de noviembre de 2017.
  11. "El grupo de trabajo de extensiones de criptografía RISC-V anuncia la revisión pública de las extensiones de criptografía escalar" . riscv.org .
  12. "Extensiones del conjunto de instrucciones de la arquitectura Intel® y características futuras" (PDF) . Intel Corporation. Diciembre de 2024. págs. 1-3 . Consultado el 2 de febrero de 2025 . 
  • Criptoanálisis lineal y diferencial del cifrado de bloques SMS4 reducido
  • Ejemplo de SMS4 implementado como una hoja de cálculo
  • Página de Lu Shu-wang (吕述望) (en chino)
  • El proyecto GmSSL se archivó el 21 de octubre de 2020 en la Wayback Machine (bifurcación de OpenSSL con algoritmos GuoMi).
  • (ISO/IEC 18033-3:2010/Enmienda 1:2021 Tecnología de la información — Técnicas de seguridad — Algoritmos de cifrado — Parte 3: Cifrados por bloques — Enmienda 1: SM4)
Obtenido de " https://en.wikipedia.org/w/index.php?title=SM4_(cipher)&oldid=1348047739 "