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=16bytesOutput16-byte ciphertextAES finalist
Common errors
- Misusing an unoptimized software implementation yields poor performance
- Use bitslice-optimized implementations
Related terms
AES
The Advanced Encryption Standard (AES) is the symmetric block cipher NIST standardized in 2001, supporting 128/192/256-bit keys, and is the de facto standard of modern encryption. GLOSSARY
Twofish
Twofish is a symmetric block cipher designed by Bruce Schneier et al. for the AES competition, using 128-bit blocks with 128/192/256-bit keys; it was one of the AES finalists. GLOSSARY
Block Cipher
A block cipher is a symmetric cipher that encrypts and decrypts fixed-length blocks (e.g., 128 bits) and requires a mode of operation to handle arbitrary-length data. GLOSSARY