18.02.2013 Views

SMS4 - Northern Kentucky University

SMS4 - Northern Kentucky University

SMS4 - Northern Kentucky University

SHOW MORE
SHOW LESS

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 />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!