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.
Propósito
Ofreció una alternativa segura en el concurso de AES, adoptando una estructura distinta (Feistel + cajas S dependientes de la clave) para diversificar el análisis.
Mecanismo
Es una red Feistel de 16 rondas sobre bloques de 128 bits. Usa cuatro cajas S dependientes de la clave (determinadas por la clave), combinadas con una matriz MDS y una transformación pseudo-Hadamard. La programación de claves es relativamente compleja pero aporta blanqueamiento (XOR de claves en entrada/salida).
Casos de uso
- Investigación histórica del concurso AES
- Una opción en algunas bibliotecas criptográficas
- Enseñanza de criptografía
- Una alternativa de alta seguridad
Ejemplos
- entrada
key=256bit, data=16bytesOutput16-byte ciphertextAES finalist
Errores comunes
- Mistaking Twofish for the AES standard
- AES ultimately selected Rijndael
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
Blowfish
Blowfish es un cifrador simétrico por bloques diseñado por Bruce Schneier en 1993, con claves de longitud variable (32-448 bits) y bloques de 64 bits; es rápido y está libre de patentes. GLOSARIO
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. 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