Larecoleta

Lo más interesante del mundo

Serpiente (cifrado)

Serpent es un cifrado por bloques de clave simétrica que fue el segundo finalista del concurso Advanced Encryption Standard (AES) después de Rijndael. Serpent fue diseñado por Ross Anderson, Eli Biham y Lars Knudsen.

Serpent tiene un tamaño de bloque de 128 bits y admite un tamaño de clave de 128, 192 o 256 bits. El cifrado es una red de sustitución-permutación de 32 rondas que opera sobre un bloque de cuatro palabras de 32 bits. Cada ronda aplica una de las ocho cajas S de 4 bits por 4 bits 32 veces en paralelo. Serpent se diseñó para que todas las operaciones pudieran ejecutarse en paralelo, utilizando 32 cortes de 1 bit. Esto maximiza el paralelismo, pero también permite utilizar el extenso trabajo de criptoanálisis realizado sobre DES.

Serpent se consideró en general un enfoque más tradicional de la seguridad que los otros finalistas del AES, que optaron por un mayor margen de seguridad: los diseñadores estimaron que 16 rondas eran suficientes contra los tipos de ataque conocidos, pero especificaron 32 rondas como seguro contra futuros avances en el criptoanálisis.

El cifrado Serpent no ha sido patentado. Es de dominio público y cualquiera puede utilizarlo libremente.

Rijndael contra Serpent

Las 32 rondas hacen que Serpent sea más seguro que Rijndael; sin embargo, Rijndael con 10 rondas es más rápido y fácil de implementar para cifradores de bloques pequeños y en sistemas embebidos. Por este motivo, Rijndael fue elegido ganador de la competición AES.

Seguridad

El ataque XSL, si es efectivo y debilitaría Serpent (aunque no tanto como debilitaría Rijndael, que se convirtió en AES). Sin embargo, muchos criptoanalistas creen que si las implementaciones consideraran superar el ataque XSL, éste sería más difícil que un ataque de fuerza bruta.