SMS4
   HOME

TheInfoList



OR:

ShāngMì 4 (SM4, 商密4) (formerly SMS4) is a
block cipher In cryptography, a block cipher is a deterministic algorithm that operates on fixed-length groups of bits, called ''blocks''. Block ciphers are the elementary building blocks of many cryptographic protocols. They are ubiquitous in the storage a ...
, standardised for commercial cryptography in China. It is used in the Chinese National Standard for Wireless LAN WAPI (WLAN Authentication and Privacy Infrastructure), and with
Transport Layer Security Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network, such as the Internet. The protocol is widely used in applications such as email, instant messaging, and voice over ...
. 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 The Institute of Electrical and Electronics Engineers (IEEE) is an American 501(c)(3) organization, 501(c)(3) public charity professional organization for electrical engineering, electronics engineering, and other related disciplines. The IEEE ...
. SM4 was published as in 2021. The SM4 algorithm was drafted by Data Assurance & Communication Security Center,
Chinese Academy of Sciences The Chinese Academy of Sciences (CAS; ) is the national academy for natural sciences and the highest consultancy for science and technology of the People's Republic of China. It is the world's largest research organization, with 106 research i ...
(CAS), and Commercial Cryptography Testing Center, National Cryptography Administration. It is mainly developed by Lü Shuwang ( zh, 吕述望). The algorithm was declassified in January, 2006, and it became a national standard (GB/T 32907-2016) in August 2016.Lu Shuwang. Journal of Information Security Research, 2016, 2(11): 995-1007.


Cipher detail

The SM4 cipher has a key size and a block size of 128 bits each. Encryption or decryption of one block of data is composed of 32 rounds. A non-linear
key schedule In cryptography, the so-called product ciphers are a certain kind of cipher, where the (de-)ciphering of data is typically done as an iteration of '' rounds''. The setup for each round is generally the same, except for round-specific fixed va ...
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=(MK_0,\ MK_1,\ MK_2,\ MK_3), in which MK_i\ (i=0,\ 1,\ 2,\ 3) is a 32-bit word. The round keys are represented by (rk_0,\ rk_1,\ \ldots,\ rk_), where each rk_i(i=0,\ \ldots,\ 31) is a word. It is generated by the encryption key and the following parameters: * FK=(FK_0,\ FK_1,\ FK_2,\ FK_3) * CK=(CK_0,\ CK_1,\ \ldots,\ CK_) FK_i and CK_i are words, used to generate the round keys.


Round

Each round are computed from the four previous round outputs X_i, X_, X_, X_ such that: X_ = X_i \oplus F(X_ \oplus X_ \oplus X_ \oplus rk_i) Where F is a substitution function composed of a non-linear transform, the S-box and linear transform L


S-box

SM4's S-box is fixed for 8-bit input and 8-bit output, noted as Sbox(). As with
Advanced Encryption Standard The Advanced Encryption Standard (AES), also known by its original name Rijndael (), is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001. AES is a variant ...
(AES), the S-box is based on the
multiplicative inverse In mathematics, a multiplicative inverse or reciprocal for a number ''x'', denoted by 1/''x'' or ''x''−1, is a number which when Multiplication, multiplied by ''x'' yields the multiplicative identity, 1. The multiplicative inverse of a ra ...
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 S-Box.


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. A description of SM4 in English is available as an
Internet Draft An Internet Draft (I-D) is a document published by the Internet Engineering Task Force (IETF) containing preliminary technical specifications, results of networking-related research, or other technical information. Often, Internet Drafts are int ...
. It contains a
reference implementation In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation ...
in
ANSI C ANSI C, ISO C, and Standard C are successive standards for the C programming language published by the American National Standards Institute (ANSI) and ISO/IEC JTC 1/SC 22/WG 14 of the International Organization for Standardization (ISO) and the ...
. SM4 is part of the ARMv8.4-A expansion to the ARM architecture. SM4 support for the
RISC-V RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
architecture was ratified in 2021 as the Zksed extension. SM4 is supported by Intel processors, starting from Arrow Lake S, Lunar Lake, Diamond Rapids and Clearwater Forest.


References


External links


Linear and Differential Cryptanalysis of Reduced SMS4 Block Cipher





The GmSSL Project
(OpenSSL fork with GuoMi algorithms)

(ISO/IEC 18033-3:2010/Amd 1:2021 Information technology — Security techniques — Encryption algorithms — Part 3: Block ciphers — Amendment 1: SM4 ) {{Cryptography navbox , block Block ciphers Standards of the People's Republic of China