SEED es un cifrado por bloques desarrollado por la Agencia de Seguridad de la Información de Corea (KISA). Se utiliza ampliamente en la industria surcoreana , pero rara vez se encuentra en otros lugares. Ganó popularidad en Corea porque el cifrado de 40 bits no se consideraba suficientemente seguro, por lo que la Agencia de Seguridad de la Información de Corea desarrolló su propio estándar. Sin embargo, esta decisión ha limitado históricamente la competencia de los navegadores web en Corea, ya que ninguna de las principales bibliotecas SSL ni navegadores web admitían el algoritmo SEED, lo que obligaba a los usuarios a utilizar un control ActiveX en Internet Explorer para acceder a sitios web seguros. [ 2 ]
El 1 de abril de 2015, el Ministerio de Ciencia, TIC y Planificación del Futuro (MSIP) anunció su plan para eliminar la dependencia de ActiveX de al menos el 90 por ciento de los 100 sitios web más importantes del país para 2017. En su lugar, se emplearán tecnologías basadas en HTML5 , ya que funcionan en múltiples plataformas, incluidos los dispositivos móviles. Comenzando con el sector privado, el ministerio planea extender esta medida para, finalmente, eliminar también esta dependencia de los sitios web públicos. [ 3 ]
Diseño
SEED es una red Feistel de 16 rondas con bloques de 128 bits y una clave de 128 bits . Utiliza dos cajas S de 8 × 8 que, al igual que las de SAFER , se derivan de la exponenciación discreta (en este caso, x 247 y x 251 , más algunas "operaciones incompatibles"). También se asemeja a MISTY1 en la recursividad de su estructura: el cifrado completo de 128 bits es una red Feistel con una función F que opera en mitades de 64 bits, mientras que la función F en sí es una red Feistel compuesta por una función G que opera en mitades de 32 bits. Sin embargo, la recursión no se extiende más allá porque la función G no es una red Feistel. En la función G, la palabra de 32 bits se considera como cuatro bytes de 8 bits, cada uno de los cuales pasa por una u otra de las cajas S, y luego se combina en un conjunto moderadamente complejo de funciones booleanas, de modo que cada bit de salida depende de 3 de los 4 bytes de entrada.
SEED tiene un esquema de claves bastante complejo , que genera sus treinta y dos subclaves de 32 bits mediante la aplicación de su función G en una serie de rotaciones de la clave original, combinada con constantes redondas derivadas (como en TEA ) de la proporción áurea .
Uso y adopción
SEED ha sido adoptado por varios protocolos estándar: S/MIME (RFC 4010), TLS/SSL (RFC 4162), IPSec (RFC 4196) e ISO/IEC 18033-3:2010.
La biblioteca de seguridad de software NSS en la plataforma Gecko de Mozilla ha implementado soporte para SEED, [ 4 ] y Mozilla Firefox a partir de la versión 3.5.4 admite SEED como cifrado TLS; [ 5 ] sin embargo, Mozilla decidió dejar de admitir SEED por defecto en Firefox 27 y versiones posteriores porque el soporte para SEED no ha tenido ningún efecto positivo práctico en términos de ayudar a Corea del Sur a migrar fuera del comercio electrónico basado en ActiveX, y otros navegadores no ofrecen ningún conjunto de cifrado basado en SEED. [ 6 ] [ 7 ] NSS todavía admite conjuntos de cifrado basados en SEED.
El kernel de Linux ha sido compatible con SEED desde 2007. [ 8 ]
Bloombase admite SEED en su conjunto completo de soluciones de criptografía de datos. [ 9 ]
Referencias
- ↑ Sung, Jaechul (2011). "Criptoanálisis diferencial de SEED de ocho rondas". Information Processing Letters . 111 (10): 474– 478. doi : 10.1016/j.ipl.2011.02.004 .
- ↑ Gen Kanai (26 de enero de 2007). "El costo del monocultivo" . Archivado del original el 2 de febrero de 2007. Consultado el 29 de enero de 2007 .
- ↑ Kang Yoon-seung (1 de abril de 2015). "El Ministerio de TIC busca eliminar ActiveX en el sector privado" . Consultado el 1 de agosto de 2015 .
- ↑ "Error 453234: Compatibilidad con conjuntos de cifrado SEED para TLS RFC4010" . Mozilla . Consultado el 1 de diciembre de 2013 .
- ↑ "Error 478839: Firefox debería admitir conjuntos de cifrado criptográfico SEED de Corea del Sur" . Consultado el 9 de agosto de 2009 .
- ↑ "Error 934663: Cambiar el conjunto de conjuntos de cifrado habilitados por defecto en Gecko para que coincida con la propuesta de conjunto de cifrado" . Consultado el 30/11/2013 .
- ↑ Brian Smith (8 de agosto de 2013). "Propuesta para cambiar los conjuntos de cifrado TLS predeterminados que ofrecen los navegadores" . Archivado del original el 3 de diciembre de 2013. Consultado el 30 de noviembre de 2013 .
- ↑ Chang, Hye-Shik (2007-08-21). " [ CRYPTO ] seed: Nuevo algoritmo de cifrado" . Núcleo de Linux . GitHub . Recuperado el 2020-03-11 .
- ↑ "¿Qué algoritmos de cifrado de bloques simétricos admite el módulo criptográfico de Bloombase?" .
Enlaces externos
- SEED - KISA (Sitio oficial, en coreano)
- Documento de especificaciones oficiales de SEED. Archivado el 30/04/2013 en Wayback Machine (inglés).
- RFC 4269 : El algoritmo de cifrado SEED (sustituye a RFC 4009 )
- RFC 4010 : Uso del algoritmo de cifrado SEED en la sintaxis de mensajes criptográficos (CMS)
- RFC 4162 : Adición de conjuntos de cifrado SEED a la seguridad de la capa de transporte (TLS)
- RFC 4196 : El algoritmo de cifrado SEED y su uso con IPsec
- ISO/IEC 18033-3:2010
- Cifrados de bloques
- Cifrados de Feistel
- Internet en Corea del Sur
- Normas de Corea del Sur