SM4 (cipher)


SM4 is a block cipher used in the Chinese National Standard for Wireless LAN WAPI.
SM4 was a cipher proposed to for the 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 SM4 algorithm was invented by Lu Shuwang. The algorithm was declassified in January, 2006, and it became a national standard in August 2016.

Cipher detail

A few details of the SM4 cipher are:

Word and byte

Define as a vector set of e bits.
is a word.
is a byte.

S-box

S-box is fixed for 8-bit input and 8-bit output, noted as Sbox. As with AES, the S-box is based on the multiplicative inverse over. The affine transforms and polynomial bases are different from that of AES, but due to affine isomorphism it can be calculated efficiently given an AES Rijndael S-box.

Keys and key parameters

The length of encryption keys is 128 bits, represented as, in which is a word.
A round key is represented as,where each is a word. It is generated by the encryption key.
is a system parameter.
is a fixed parameter, used to generate.
and are words, used for extension of the algorithm.

Remark

On March 21, 2012, the Chinese government published the industrial standard "GM/T 0002-2012 SM4 Block Cipher Algorithm", officially renaming SMS4 to SM4.
A description of SM4 in english is available as an Internet Draft. It contains a reference implementation in ANSI C.