Twofish | criptografía
En criptografía, Twofish es un cifrado de bloque de clave simétrica con un tamaño de bloque de 128 bits y longitudes de clave de hasta 256 bits.
En 1997, el NIST convocó un concurso para elegir un sucesor del DES que se conocería como AES, Twofish fue uno de los cinco finalistas del concurso Advanced Encryption Standard, pero no fue seleccionado como estándar.
Twofish está relacionado con el anterior cifrado por bloques Blowfish. Las principales características de Twofish son el uso de cajas S dependientes de la clave precalculada y un programa de claves relativamente complejo. Una mitad de una clave de n bits se utiliza como clave de cifrado real y la otra mitad de la clave de n bits se utiliza para modificar el algoritmo de cifrado (cajas S dependientes de la clave). Twofish utiliza algunos elementos de otros diseños; por ejemplo, la transformación pseudo-Hadamard (PHT) de la familia de cifradores SAFER. Twofish utiliza la misma estructura Feistel que el DES.
En la mayoría de las plataformas de software, Twofish es ligeramente más lento que Rijndael (el algoritmo elegido para Advanced Encryption Standard) para las claves de 128 bits, pero algo más rápido para las claves de 256 bits.
Creadores
Twofish fue diseñado por Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall y Niels Ferguson; el "equipo ampliado de Twofish" que se reunió para realizar más criptoanálisis de Twofish y otros competidores de AES incluía a Stefan Lucks, Tadayoshi Kohno y Mike Stay.
El algoritmo Twofish es de uso libre para cualquier persona sin ningún tipo de restricción. El cifrado Twofish no ha sido patentado y el ejemplo de software de su especificación ha sido puesto en el dominio público. Sin embargo, Twofish no se utiliza de forma generalizada como el Blowfish, que está disponible desde hace más tiempo.
Criptoanálisis
Hasta 2008, el mejor criptoanálisis publicado sobre el cifrado en bloque Twofish es un criptoanálisis diferencial truncado de la versión completa de 16 rondas. El documento afirma que la probabilidad de ataques diferenciales truncados es de 2-57.3 por bloque y que se necesitarán unos 251 textos planos elegidos (32 PiB de datos) para encontrar un buen par de diferenciales truncados.
Bruce Schneier responde en una entrada del blog de 2005 que este documento no presenta un ataque criptoanalítico completo, sino sólo algunas características diferenciales hipotéticas: "Pero incluso desde una perspectiva teórica, Twofish no está ni remotamente roto. No ha habido ninguna ampliación de estos resultados desde que se publicaron" en 2000.
Páginas relacionadas
- Blowfish (cifrado)
- Estándar de cifrado avanzado
- Estándar de encriptación de datos
Lectura adicional
- Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, Niels Ferguson (1998-06-15). "The Twofish Encryption Algorithm" (PDF/PostScript). Recuperado el 2007-03-04.
{{citar
revista}}: Cite journal requiere |journal= (ayuda)CS1 maint: multiple names: authors list (link) - Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, Niels Ferguson (1999-03-22). El algoritmo de cifrado Twofish: A 128-Bit Block Cipher. Nueva York: John Wiley & Sons. ISBN 0-471-35381-7.
{{citar
libro}}: CS1 maint: multiple names: authors list (link)
Preguntas y respuestas
P: ¿Qué es Twofish?
R: Twofish es un cifrado de bloque de clave simétrica con un tamaño de bloque de 128 bits y longitudes de clave de hasta 256 bits.
P: ¿Qué relación tiene Twofish con el anterior cifrado por bloques Blowfish?
R: Las principales características de Twofish son el uso de cajas S precalculadas dependientes de la clave y un programa de claves relativamente complejo. Una mitad de una clave de n bits se utiliza como clave de cifrado real y la otra mitad de la clave de n bits se utiliza para modificar el algoritmo de cifrado (cajas S dependientes de la clave).
P: ¿Se eligió Twofish como estándar de cifrado avanzado?
R: No, en 1997, el NIST convocó un concurso para elegir un sucesor del DES que se conocería como AES, sin embargo Twofish no fue seleccionado como estándar.
P: ¿Qué elementos utiliza Twofish de otros diseños?
R: Twofish utiliza algunos elementos de otros diseños; por ejemplo, la transformada pseudo-Hadamard (PHT) de la familia de cifrados SAFER.
P: ¿Utiliza la estructura Feistel como el DES?
R: Sí, utiliza la estructura Feistel como DES.
P: ¿Es más rápido que Rijndael para claves de 128 bits?
R: En la mayoría de las plataformas de software, Twofish es ligeramente más lento que Rijndael para claves de 128 bits.
P: ¿Es más rápido que Rijndael para claves de 256 bits?
R: Es algo más rápido que Rijndael para claves de 256 bits.