Skip to product information
1 of 5

PayPal, credit cards. Download editable-PDF and invoice in 1 second!

GB/T 32907-2016 English PDF (GBT32907-2016)

GB/T 32907-2016 English PDF (GBT32907-2016)

Regular price $115.00 USD
Regular price Sale price $115.00 USD
Sale Sold out
Shipping calculated at checkout.
Delivery: 3 seconds. Download true-PDF + Invoice.
Get QUOTATION in 1-minute: Click GB/T 32907-2016
Historical versions: GB/T 32907-2016
Preview True-PDF (Reload/Scroll if blank)

GB/T 32907-2016: Information security technology -- SM4 block cipher algorithm
GB/T 32907-2016
GB
NATIONAL STANDARD OF THE
PEOPLE’S REPUBLIC OF CHINA
ICS 35.040
L 80
Information security technology -
SM4 block cipher algorithm
ISSUED ON: AUGUST 29, 2016
IMPLEMENTED ON: MARCH 01, 2017
Issued by: General Administration of Quality Supervision, Inspection and
Quarantine;
Standardization Administration of PRC.
Table of Contents
Foreword ... 3 
1 Scope ... 4 
2 Terms and definitions ... 4 
3 Symbols and abbreviations ... 5 
4 Algorithm structure ... 5 
5 Key and key parameters ... 5 
6 Round function F ... 6 
6.1 Round function structure ... 6 
6.2 Synthetic replacement T ... 6 
7 Algorithm description ... 7 
7.1 Encryption algorithm... 7 
7.2 Decryption algorithm ... 8 
7.3 Key expansion algorithm ... 8 
Appendix A (Informative) Calculation example ... 10 
A.1 Example 1 ... 10 
A.2 Example 2 ... 12 
Information security technology -
SM4 block cipher algorithm
1 Scope
This standard specifies the algorithm structure and algorithm description of the
SM4 block cipher algorithm; gives examples of operations.
This standard applies to the realization, testing, application of block cipher
algorithms in commercial cipher products.
2 Terms and definitions
The following terms and definitions apply to this document.
2.1
Block length
The number of bits in an information packet.
2.2
Key length
The number of bits in the key.
2.3
Key expansion algorithm
The arithmetic unit that transforms the key into a round key.
2.4
Rounds
The number of iterations of the round function.
2.5
Round key
Also known as sub-key, which is the key used in each round of iterative block
cipher and derived from the input key using a key arrangement algorithm.
2.6
Word
A group (string) with a length of 32 bits.
2.7
S-box
The S box is a fixed 8-bit input and 8-bit output replacement, denoted as
Sbox(.).
3 Symbols and abbreviations
The following symbols and abbreviations apply to this document:
⊕: 32-bit XOR
< < < i: 32-bit circular left shift i-bit
: A set of binary sequences of bit length n
4 Algorithm structure
The SM4 cipher algorithm is a block algorithm. The block length of this algorithm
is 128 bits; the key length is 128 bits. Both the encryption algorithm and the key
expansion algorithm adopt a nonlinear iterative structure; the number of
operation rounds is 32 rounds. The algorithm structure of data decryption and
data encryption is the same, but the use order of the round key is reversed. The
decryption round key is the reverse order of the encryption round key.
5 Key and key parameters
The key length is 128 bits, expressed as MK = (MK0, MK1, MK2, MK3), where
MKi (i = 0, 1, 2, 3) is a word.
The round key is expressed as (rk0, rk1, ..., rk31), where rki (i = 0, ..., 31) is a 32-
bit word. The round key is generated by the key.
FK = (FK0, FK1, FK2, FK3) is the system parameter, CK = (CK0, CK1, ..., CK31)
is the fixed parameter, which is used for the key expansion algorithm, where
Let cki,j be the jth byte of CKi (i = 0, 1, ..., 31; j = 0, 1, 2, 3), that is, CKi =
(cki,0, cki,1, cki,2, cki,3)∈( )4, then cki,j = (4i + j) x 7(mod256).
The specific value of the fixed parameter CKi (i = 0, 1, ..., 31) is:
00070E15, 1C232A31, 383F464D, 545B6269,
70777E85, 8C939AA1, A8AFB6BD, C4CBD2D9,
E0E7EEF5, FC030A11, 181F262D, 343B4249,
50575E65, 6C737A81, 888F969D, A4ABB2B9,
C0C7CED5, DCE3EAF1, F8FF060D, 141B2229,
30373E45, 4C535A61, 686F767D, 848B9299,
A0A7AEB5, BCC3CAD1, D8DFE6ED, F4FB0209,
10171E25, 2C333A41, 484F565D, 646B7279.
The decryption key is the same as the encryption key; the round key used
for decryption is generated by the decryption key; the round key
generation method is the same as that of the encryption process.

View full details