SM4 (cipher)

From Wikipedia, the free encyclopedia
Revision as of 16:44, 2 February 2025 by imported>TommyGundam (History: took away an unnecessary space & filled in the document's publishing date)
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Short description Script error: No such module "redirect hatnote". Template:Infobox block cipher ShāngMì 4 (SM4, 商密4) (formerly SMS4)[1] is a block cipher, standardised for commercial cryptography in China.[2] It is used in the Chinese National Standard for Wireless LAN WAPI (WLAN Authentication and Privacy Infrastructure), and with Transport Layer Security.[3]

SM4 was a cipher proposed for the IEEE 802.11i standard, but it has so far been rejected. One of the reasons for the rejection has been opposition to the WAPI fast-track proposal by the IEEE.Script error: No such module "Unsubst".

SM4 was published as Script error: No such module "URL".Script error: No such module "Check for unknown parameters". in 2021.

The SM4 algorithm was drafted by Data Assurance & Communication Security Center, Chinese Academy of Sciences (CAS), and Commercial Cryptography Testing Center, National Cryptography Administration. It is mainly developed by Lü Shuwang (Template:Lang-zh). The algorithm was declassified in January, 2006, and it became a national standard (GB/T 32907-2016) in August 2016.[4]

Cipher detail

The SM4 cipher has a key size and a block size of 128 bits each.[5][6] Encryption or decryption of one block of data is composed of 32 rounds. A non-linear key schedule is used to produce the round keys and the decryption uses the same round keys as for encryption, except that they are in reversed order.

Keys and key parameters

The length of encryption keys is 128 bits, represented as MK=(MK0, MK1, MK2, MK3), in which MKi (i=0, 1, 2, 3) is a 32-bit word. The round keys are represented by (rk0, rk1, , rk31), where each rki(i=0, , 31) is a word. It is generated by the encryption key and the following parameters:

  • FK=(FK0, FK1, FK2, FK3)
  • CK=(CK0, CK1, , CK31)

FKi and CKi are words, used to generate the round keys.

Round

Each round are computed from the four previous round outputs Xi,Xi+1,Xi+2,Xi+3 such that: Xi+4=XiF(Xi+1Xi+2Xi+3rki)

Where F is a substitution function composed of a non-linear transform, the S-box and linear transform L

S-box

Script error: No such module "labelled list hatnote". SM4's S-box is fixed for 8-bit input and 8-bit output, noted as Sbox(). As with Advanced Encryption Standard (AES), the S-box is based on the multiplicative inverse over Template:Math. 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 S-Box.[7]

History

On March 21, 2012, the Chinese government published the industrial standard "GM/T 0002-2012 SM4 Block Cipher Algorithm", officially renaming SMS4 to SM4.[1]

A description of SM4 in English is available as an Internet Draft. It contains a reference implementation in ANSI C.[8]

SM4 is part of the ARMv8.4-A expansion to the ARM architecture.[9] SM4 support for the RISC-V architecture was ratified in 2021 as the Zksed extension.[10]

SM4 is supported by Intel processors, starting from Arrow Lake S, Lunar Lake, Diamond Rapids and Clearwater Forest.[11]

References

Template:Reflist

External links

Template:Cryptography navbox

  1. a b Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. Template:Cite IETF
  4. Lu Shuwang. Script error: No such module "URL".Script error: No such module "Check for unknown parameters".[J]. Journal of Information Security Research, 2016, 2(11): 995-1007.
  5. Script error: No such module "citation/CS1".
  6. SMS4 Encryption Algorithm for Wireless Networks
  7. Script error: No such module "citation/CS1".
  8. Script error: No such module "Citation/CS1".
  9. Script error: No such module "citation/CS1".
  10. Script error: No such module "citation/CS1".
  11. Script error: No such module "citation/CS1".