SMS4 - Northern Kentucky University
SMS4 - Northern Kentucky University
SMS4 - Northern Kentucky University
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4 JEREMY ERICKSON, TAYLOR UNIVERSITY<br />
2.3. The <strong>SMS4</strong> Key Schedule. We define a vector (Yi, Yi+1, Yi+2, Yi+3) ∈ (GF(2) 32 ) 4<br />
as the key schedule input to round i.<br />
Denote the input key as (K0, K1, K2, K3). Then<br />
Y0 = K0 ⊕ 0xa3b1bac6<br />
Y1 = K1 ⊕ 0x56aa3350<br />
Y2 = K2 ⊕ 0x677d9197<br />
Y3 = K3 ⊕ 0xb27022dc<br />
Also denote CKi = (cki,0, cki,1, cki,2, cki,3) ∈ (Z 8 2) 4 where cki,j = 28i + 7j<br />
mod 256, represented in binary.<br />
Then<br />
(5) RKi = Yi+4 = Yi ⊕ L ′ (S(Yi+1 ⊕ Yi+2 ⊕ Yi+3 ⊕ CKi))<br />
2.4. The <strong>SMS4</strong> Round Function. We define a vector (Xi, Xi+1, Xi+2, Xi+3) ∈<br />
(GF(2) 3 2) 4 as the input to round i, numbering the rounds from 0. Thus, (X0, X1, X2, X3)<br />
represents the plaintext. Then,<br />
(6) Xi+4 = Xi ⊕ L(S(Xi+1 ⊕ Xi+2 ⊕ Xi+3 ⊕ RKi))<br />
The output of the last four rounds is reversed (at the word level) to generate the<br />
ciphertext. Thus, the ciphertext is (X35, X34, X33, X32).<br />
3. Simplified <strong>SMS4</strong><br />
To provide for some basic exploration of the behavior of algebraic attacks over<br />
a larger number of rounds, as well as to provide a form of <strong>SMS4</strong> that can be<br />
worked out by hand, this paper proposes a simplified <strong>SMS4</strong> algorithm, which will<br />
be referred to from here as S-<strong>SMS4</strong>.<br />
The basic operations of S-<strong>SMS4</strong> are identical to full <strong>SMS4</strong>, except that all operations<br />
on 128-bit blocks become operations on 32-bit blocks, operations on 32-bit<br />
words become operations on 8-bit “words”, and operations on 8-bit bytes become<br />
operations on 4-bit nibbles.<br />
3.1. The S-<strong>SMS4</strong> S-box. The S-box of <strong>SMS4</strong> was designed from the description<br />
of the full <strong>SMS4</strong> S-box in [9]. The new S-box is designed to transform a 4-bit vector<br />
to another 4-bit vector, but otherwise follows equation 1 plus reversing input and<br />
output. Thus, a smaller cyclic matrix is the basic A with its bottom row as the<br />
row vector for C. Thus,<br />
A =<br />
⎡<br />
⎢<br />
⎣<br />
1 1 1 0<br />
0 1 1 1<br />
1 0 1 1<br />
1 1 0 1<br />
C = (1, 1, 0, 1)<br />
Accounting for the reversal and using the form of equation 2, however, we derive<br />
the following matrices in a similar manner:<br />
⎡<br />
0 1<br />
⎢<br />
A1 = ⎢ 1 1<br />
⎣ 1 1<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
⎤<br />
⎥<br />
⎦<br />
1 0 1 1<br />
⎤<br />
⎥<br />
⎦