Tiny Encryption Algorithm (TEA)
The Tiny Encryption Algorithm (TEA) is a block cipher notable for its simplicity of description and implementation, typically a few lines of code. It was designed by David Wheeler and Roger Needham of the Cambridge Computer Laboratory.
Key Features:
- Block size: 64 bits (two 32-bit integers)
- Key size: 128 bits (four 32-bit integers)
- Number of rounds: 32 (recommended)
- Simple operations: uses only addition, XOR, and bit shifts
- No S-boxes or lookup tables required
- Fast implementation in software
Algorithm Structure:
- Split the 64-bit block into two 32-bit integers (v0, v1)
- Use a 128-bit key split into four 32-bit integers (k[0] to k[3])
- Use a constant delta (derived from the golden ratio)
- Perform 32 rounds of mixing operations
- Each round:
- Updates v0 using v1, two key parts, and the sum
- Updates v1 using v0, two key parts, and the sum
- Uses a combination of addition, XOR, and shifts