Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Simplified AES

16-bit block

16-bit key

4 x 4 S-box

Field 16

Modulus X 4 + X + 1

2 rounds

SPN

Musa, A., Schaefer, E., and Wedig, S. 2010. “A Simplified AES Algorithm and
Its Linear and Differential Cryptanalysis.” Cryptologia 27(12), 148 – 177.
S-box

Input nibble Output nibble


0000 1001
0001 0100
0010 1010
0011 1011
0100 1101
0101 0001
0110 1000
0111 0101
1000 0110
1001 0010
1010 0000
1011 0011
1100 1100
1101 1110
1110 1111
1111 0111

Construction of S-box

Input nibble

0101 X 2 +1

Construct inverse of 0101 modulo X 4 + X + 1

1011 Y 3 + Y +1

Affine transformation

(Y 3
)( ) ( ) ( )
+ Y 2 + 1 Y 3 + Y + 1 + Y 3 + 1 mod Y 4 + 1 =
1

Output nibble

0001
16-bit block (4 nibbles) N 0 N1 N 2 N3

N0 N2
N1 N3

Encryption operations

Nibble Substitution NS

S ( N0 ) S ( N2 )
S ( N1 ) S ( N3 )

Shift Row SR

N0 N2
N3 N1

Mix Columns MC

b0b1b2b3 c0 c1c2 c3
becomes
b4b5b6b7 c4 c5c6 c7
b0 ⊕ b6 b1 ⊕ b4 ⊕ b7 b2 ⊕ b4 ⊕ b5 b3 ⊕ b5 c0 ⊕ c6 c1 ⊕ c4 ⊕ c7 c2 ⊕ c4 ⊕ c5 c3 ⊕ c5
b2 ⊕ b4 b0 ⊕ b3 ⊕ b5 b0 ⊕ b1 ⊕ b6 b1 ⊕ b7 c2 ⊕ c4 c0 ⊕ c3 ⊕ c5 c0 ⊕ c1 ⊕ c6 c1 ⊕ c7

The transformation is

 N0 N2  1 x2   N0 N2 
N  →  2   mod ( x 4 + x + 1)
 1 N3  x 1   N1 N3 
Key Schedule

16 bits of user-supplied key k0 k1k2 k3 k4 k5k6 k7 kkk k k k k k


 
8 9 10 11 
12 13 14 
15
W[0] W[1]

W[0] W[1]
↓ |
SN ( RN )


10000000
Round constant
⊕ ← |
↓ ↓
W[2] 
→ ⊕
| ↓
| W[3]
↓ |


00110000
Round constant
⊕ ←
SN(RN)
|
↓ ↓
W[4] 
→ ⊕

W[5]

K 0 = W[0] W[1]
K1 = W[2] W[3]
K 2 = W[4] W[5]
Key Schedule

16 bits of user-supplied key 1010 0111 0011 1011


 
W[0] W[1]

W[0] = 1010 0111


W[1] = 0011 1011
RN
1011 0011
SN ↓ ↓
0011 1011

Round constant 1000 0000
1011 1011

W[0] 1010 0111
W[2] = 0001 1100

W[1] 0011 1011
W[3] = 0010 0111
W[3] = 0010 0111
RN
0111 0010
SN ↓ ↓
0101 1010

Round constant 0011 0000
0110 1010

W[2] 0001 1100
W[4] = 0111 0110

W[3] 0010 0111
W[5] = 0101 0001

K 0 = 1010 0111 0011 1011


K1 = 0001 1100 0010 0111
K 2 = 0111 0110 0101 0001
Encipher

pt

A K0

NS

SR

MC

A K1

NS

SR

A K2

CT
plaintext ok
o k
0110 1111 0110 1011
N0 N1 N2 N3
CIPHERTEXT 0000 0111 0011 1000

You might also like