SC2000 | |
---|---|
Creador | fujitsu |
Creado | 2000 _ |
publicado | 2000 _ |
Tamaño de clave | 128, 192, 256 bits |
Tamaño de bloque | 128 bits |
Número de rondas | 6,5 o 7,5 |
Tipo de | Red Feistel y red SP |
SC2000 es un algoritmo criptográfico de bloques simétricos en criptografía , desarrollado por Fujitsu y la Universidad de Tokio en 2000 . El algoritmo utiliza un bloque de 128 bits y una clave de 128 a 256 bits de longitud (compatible con el estándar AES y admite longitudes de clave típicas: 128/192/256). Fue recomendado por el comité CRYPTREC en 2003 para su uso por agencias gubernamentales en Japón , pero en 2013 fue movido a la lista de " candidatos " para cifrados recomendados . [1] Participó en el concurso de Nessie , pero no llegó a la segunda ronda, aunque mostró suficiente resistencia a los ataques; la razón fue su estructura demasiado compleja y el temor a la posibilidad de vulnerabilidades ocultas .
SC2000 es un cifrado con una estructura mixta: utiliza elementos de la red Feistel y la red de sustitución-permutación .
El algoritmo realiza 6,5 (para una clave de 128 bits) o 7,5 (para una clave con una longitud de 192-256 bits) rondas de cifrado. Cada una de las rondas consta de consultas en la tabla de búsqueda, la adición de una clave y una red Feistel de dos rondas sin llave . Se usan tres tablas de sustitución: se usa un S-Box de 4x4 bits al comienzo de cada ronda , se usa un S-Box de 5x5 bits y un S-Box de 6x6 bits dentro de la red Feistel.
La expansión de clave en el algoritmo SC2000 se realiza en dos etapas: se genera una clave intermedia basada en la clave simétrica secreta, luego se calcula el número requerido de fragmentos de la clave expandida a partir de la clave intermedia.
Una ronda del cifrado es bastante compleja y consta de las siguientes operaciones: El valor de entrada de 128 bits se divide en 4 subbloques de 32 bits, cada uno de ellos se somete a XOR con un fragmento de 32 bits de la clave extendida. Se realiza la operación T, que divide el bloque de datos en 32 subbloques de 4 bits cada uno.
Cada subbloque de 4 bits pasa por la tabla de sustitución S4, que se ve así: (2,5,10,12,7,15,1,11,13,6,0,9,4,8,3,14)
A continuación, el bloque de datos se divide en subbloques de 32 bits utilizando la operación T', lo contrario de la operación T. Los otros cuatro fragmentos de la clave extendida se superponen mediante la operación XOR . Los valores del primer par de subbloques se pasan a la entrada de la función F. Como resultado de la ejecución de esta función se obtienen dos valores de 32 bits, que se superponen mediante la operación XOR al primero. dos subbloques. El primer par de subbloques se intercambia con el segundo par de subbloques, luego se repite el paso de transformación anterior.
Aún no se ha realizado un análisis detallado del SC2000 de ronda completa, pero la versión con el número de rondas reducido a 4,5 es vulnerable cuando se usa criptoanálisis diferencial y lineal .
En 2014 , se descubrió una vulnerabilidad en el algoritmo de expansión de claves que permite encontrar un par de claves equivalentes de 256 bits (que conducen a un resultado de cifrado idéntico) en 2 39 operaciones . [2]
Criptosistemas simétricos | |
---|---|
Cifrados de flujo | |
Red Feistel | |
red SP | |
Otro |