Serpent
Serpent es un cifrado simétrico por bloques diseñado por Ross Anderson y otros para el concurso de AES, con bloques de 128 bits y claves de 128/192/256 bits, conocido por su amplio margen de seguridad.
Propósito
Ofrecía un margen de seguridad más conservador que Rijndael (32 rondas frente a 10), cambiando velocidad por confianza frente al criptoanálisis.
Mecanismo
Es una red de sustitución-permutación (SPN) de 32 rondas. Cada ronda aplica ocho S-boxes de 4×4 en paralelo, una transformación lineal y un XOR con la clave de ronda. Las S-boxes se implementan mediante bitslicing para evitar ataques de temporización; la programación de claves genera 33 subclaves de 128 bits.
Casos de uso
- Investigación del concurso AES
- Requisitos de alto margen de seguridad
- Docencia de criptografía
- Análisis de diseños conservadores
Ejemplos
- entrada
key=256bit, data=16bytesOutput16-byte ciphertextAES finalist
Errores comunes
- Misusing an unoptimized software implementation yields poor performance
- Use bitslice-optimized implementations
Términos relacionados
AES
AES (Advanced Encryption Standard) es un cifrado de bloques simétrico establecido por NIST en 2001, soporta claves de 128/192/256 bits y es el estándar de facto del cifrado moderno. GLOSARIO
Twofish
Twofish es un cifrado de bloques simétrico diseñado por Bruce Schneier y otros para el concurso de AES; usa bloques de 128 bits con claves de 128/192/256 bits y fue uno de los finalistas de AES. GLOSARIO
Block Cipher
Un cifrador por bloques es un cifrado simétrico que cifra y descifra bloques de longitud fija (p. ej., 128 bits) y necesita un modo de operación para procesar datos de longitud arbitraria. GLOSARIO