Saltar al contenido
uencoder

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=16bytes
    Output
    16-byte ciphertext

    AES finalist

Errores comunes

Mistaking Twofish for the AES standard
AES ultimately selected Rijndael

Términos relacionados

Herramientas relacionadas

References