The Full Wiki

SMS4: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

First published 2006 (declassified)
Cipher detail
Key sizes 128 bits
Block sizes 128 bits
Structure unbalanced Feistel network
Rounds 32
Best public cryptanalysis
linear and differential attacks against 22 rounds

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

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.


Terms and Definitions


Word and Byte

Define Z^e_2 as a vector set of e bits.

Z^{32}_2 is a word.

Z^8_2 is a byte.


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 MK=(MK_0,\ MK_1,\ MK_2,\ MK_3), in which MK_i\ (i=0,\ 1,\ 2,\ 3) is a word.

A round key is represented as (rk_0,\ rk_1,\ \ldots,\ rk_{31}). It is generated by the encryption key.

FK=(FK_0,\ FK_1,\ FK_2,\ FK_3) is a system parameter.

CK=(CK_0,\ CK_1,\ \ldots,\ CK_{31}) is a fixed parameter.

FKi and CKi are words, used for extension of the algorithm.

External links


Got something to say? Make a comment.
Your name
Your email address