Skip to content
uencoder

Serpent

Serpent is a symmetric block cipher designed by Ross Anderson et al. for the AES competition, using 128-bit blocks with 128/192/256-bit keys, known for its large security margin.

Purpose

It offered a more conservative security margin than Rijndael (32 rounds vs 10), trading speed for confidence from cryptanalysis.

Mechanism

It is a 32-round SPN (substitution-permutation network). Each round applies eight parallel 4×4 S-boxes, a linear transformation, and an XOR with the round key. The S-boxes are implemented via bitslicing to avoid timing attacks. The key schedule produces 33 128-bit subkeys.

Use cases

  • AES competition research
  • High-security-margin requirements
  • Cryptography teaching
  • Conservative design analysis

Examples

  • Input
    key=256bit, data=16bytes
    Output
    16-byte ciphertext

    AES finalist

Common errors

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

Related terms

Related tools

References