Tracing the First Full Round of IDEA Algorithm
IDEA (International Data Encryption Algorithm) is a symmetric block cipher that operates on 64-bit plaintext blocks using a 128-bit key, performing 8 identical rounds with operations: multiplication modulo 216+1, addition modulo 216, and XOR.
Given Data
- Key subkeys (4-bit each): K1=1100, K2=1010, K3=0000, K4=1111, K5=0101, K6=1001
- Input text blocks (4-bit each): X1=1011, X2=1110, X3=1011, X4=1000
IDEA First Round Structure
In each round, 6 subkeys are used. The operations in one full round are:
Step-by-Step Trace
Step A: Initial Four Operations
- i) X1⊙K1 (Multiply mod $2^4 + 1 = 17$)
X1⊙K1=1011×1100mod17=11×12mod17=132mod17=132−7(17)=132−119=13=1101
- ii) X2⊞K2 (Add mod $2^4 = 16$)
X2⊞K2=1110+1010mod16=14+10mod16=24mod16=8=1000
- iii) X3⊞K3 (Add mod $2^4 = 16$)
X3⊞K3=1011+0000mod16=11+0mod16=11=1011
- iv) X4⊙K4 (Multiply mod $2^4 + 1 = 17$)
X4⊙K4=1000×1111mod17=8×15mod17=120mod17=120−7(17)=120−119=1=0001
Step B: XOR Operations
- v) Step(i) ⊕ Step(iii):
1101⊕1011=0110
- vi) Step(ii) ⊕ Step(iv):
1000⊕0001=1001
Step C: MA (Multiplication-Addition) Structure
- vii) Step(v) ⊙K5 (Multiply mod 17):
0110×0101mod17=6×5mod17=30mod17=13=1101
- viii) Step(vi) ⊞ Step(vii) (Add mod 16):
1001+1101mod16=9+13mod16=22mod16=6=0110
- ix) Step(viii) ⊙K6 (Multiply mod 17):
0110×1001mod17=6×9mod17=54mod17=54−3(17)=54−51=3=0011
- x) Step(vii) ⊞ Step(ix) (Add mod 16):
1101+0011mod16=13+3mod16=16mod16=0=0000
Step D: Final XOR Operations
- xi) Step(i) ⊕ Step(ix): 1101⊕0011=1110
- xii) Step(iii) ⊕ Step(ix): 1011⊕0011=1000
- xiii) Step(ii) ⊕ Step(x): 1000⊕0000=1000
- xiv) Step(iv) ⊕ Step(x): 0001⊕0000=0001
Output of First Round
After swapping the inner two blocks (Step xii and Step xiii):
Output=1110∣1000∣1000∣0001
Conclusion: The first full round of IDEA uses all 6 subkeys and combines three algebraically incompatible operations (XOR, addition mod 2n, multiplication mod $2^n+1$) to achieve strong diffusion and confusion in a single round itself.