Saltar al contenido
uencoder

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

    AES finalist

Errores comunes

Misusing an unoptimized software implementation yields poor performance
Use bitslice-optimized implementations

Términos relacionados

Herramientas relacionadas

References