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
, in which
is a 32-bit word. The round keys are represented by
, where each
is a word. It is generated by the encryption key and the following parameters:
*
*
and
are words, used to generate the round keys.
Round
Each round are computed from the four previous round outputs
such that:
Where
is a substitution function composed of a non-linear transform, the S-box and linear transform
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 CipherThe 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