Girish Mahajan (Editor)

SM4 Algorithm

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Designers
  
Chinese Government

Block sizes
  
128 bits

Key sizes
  
128 bits

Rounds
  
32

First published
  
2006 (declassified),(standardized in March 21, 2012)

Structure
  
unbalanced Feistel network

SM4 (formerly SMS4) is a block cipher used in the Chinese National Standard for Wireless LAN WAPI (Wired Authentication and Privacy Infrastructure).

Contents

SMS4 was a proposed cipher to be used in IEEE 802.11i standard, but has so far been rejected by ISO. One of the reasons for the rejection has been opposition to the WAPI fast-track proposal by the IEEE.

The SMS4 algorithm was invented by Prof. LU Shu-wang(吕述望). The algorithm was declassified in January, 2006. A few details of the SMS4 cipher are:

  • It has a block size of 128 bits.
  • Uses an 8-bit S-box
  • The key size is 128 bits.
  • The only operations used are XOR, circular shifts and S-Box applications
  • Performs 32 rounds to process one block.
  • Each round updates a quarter (32 bits) of the internal state.
  • A non-linear key schedule is used to produce the round keys.
  • Decryption is using the same keys as encryption, but in reversed order.
  • Word and Byte

    Define Z 2 e as a vector set of e bits.

    Z 2 32 is a word.

    Z 2 8 is a byte.

    S-box

    S-box is fixed for 8-bit input and 8-bit output, noted as Sbox().

    Keys and Key Parameters

    The length of encryption keys are 128-bit, represented as M K = ( M K 0 ,   M K 1 ,   M K 2 ,   M K 3 ) , in which M K i   ( i = 0 ,   1 ,   2 ,   3 ) is a word.

    A round key is represented as ( r k 0 ,   r k 1 ,   ,   r k 31 ) ,where each r k i ( i = 0 ,   ,   31 ) is a word. It is generated by the encryption key.

    F K = ( F K 0 ,   F K 1 ,   F K 2 ,   F K 3 ) is a system parameter.

    C K = ( C K 0 ,   C K 1 ,   ,   C K 31 ) is a fixed parameter, used to generate r k i .

    F K i and C K i are words, used for extension of the algorithm.

    Remark

    On Mar 21, 2012, the Chinese government published the industrial standard <GM/T 0002-2012 SM4 Block Cipher Algorithm Standard>, officially renaming SMS4 to SM4.

    References

    SM4 Algorithm Wikipedia