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:

  1. Split the 64-bit block into two 32-bit integers (v0, v1)
  2. Use a 128-bit key split into four 32-bit integers (k[0] to k[3])
  3. Use a constant delta (derived from the golden ratio)
  4. Perform 32 rounds of mixing operations
  5. 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