This document outlines standards for public key cryptography algorithms based on elliptic curves in China. It covers topics such as finite fields, elliptic curves over finite fields, data types and conversions, system parameters for elliptic curves, generation of key pairs, and verification of public keys. Several appendices provide background knowledge on elliptic curves, number theory algorithms, example curves, and generation/verification of elliptic curve equation parameters. The document aims to standardize elliptic curve cryptography algorithms in China, including those used in digital signatures, key exchange agreements, and public key cryptography.
1 Cryptography Industry Standard of the People’s Republic of China
1. LCS 35.040
L 80
Registration No.: 36826-2012
Cryptography Industry Standard of
the People’s Republic of China
GM/T 003.1-2012
Public Key Cryptographic Algorithm
SM2 Based on Elliptic Curves—Part
1: General
Released on March 21, 2012 Effected on March 21, 2012
Released by National Cryptography Administration
Scratch off and
call
4007065315/8007
060315 to verify
Digital Anti-
counterfeiting
2. GM/T 0003.1-2012
Table of Contents
Preface................................................................................................................................................I
Introduction...................................................................................................................................... II
1. Scope.............................................................................................................................................1
2. Symbols and Abbreviations ..........................................................................................................1
3. Fields and Elliptic Curves.............................................................................................................2
3.1 Finite Field.............................................................................................................................2
3.2 Elliptic Curve over Finite Field .............................................................................................3
4. Type of Data and Conversion........................................................................................................5
4.1 Type of Data ..........................................................................................................................5
4.2 Conversion.............................................................................................................................5
5. System Parameters of Elliptic Curves and Their Verification.......................................................8
5.1 General Requirements ...........................................................................................................8
5.2 System Parameters of Elliptic Curves on Fp and Their Verification......................................8
5.3 System Parameters of Elliptic Curves on F2
km
and Their Verification...................................9
6. Generation of Key Pair and Verification of Public Key................................................................9
6.1 Generation of Key Pair..........................................................................................................9
6.2 Verification of Public Key .....................................................................................................9
Appendix A (Informative) Background Knowledge of Elliptic Curves..........................................11
A.1 Prime Field Fp.....................................................................................................................11
A.2 Binary Extension Field F2
km
..............................................................................................13
A.3 Multi-point Computation of Elliptic Curve ........................................................................23
A.4 Method for Solving the Problem of Elliptic Curve Discrete Logarithm ............................26
A.5 Compression of Points on Elliptic Curves..........................................................................27
Appendix B (Informative) Number Theory Algorithm...................................................................29
B.1 Finite Field and Modular Operation....................................................................................29
B.2 Polynomial on Finite Field..................................................................................................33
B.3 Elliptic Curve Algorithm.....................................................................................................35
Appendix C (Informative) Example Curves ...................................................................................37
C.1 General Requirements.........................................................................................................37
C.2 Elliptic Curve on Fp ............................................................................................................37
C.3 Elliptic Curve on F2
km
.........................................................................................................37
Appendix D (Informative) Quasi-stochastic Generation and Verification of Equation Parameters
for Elliptic Curves ..........................................................................................................................39
D.1 Quasi-stochastic Generation of Equation Parameters for Elliptic Curves ..........................39
D.2 Verification of Equation Parameters for Elliptic Curves.....................................................40
References.......................................................................................................................................41
3. Preface
GM/T 0003-2012 Public Key Cryptographic Algorithm SM2 Based on Elliptic Curves is
divided into 5 parts as follows:
--Part 1: General Provisions;
--Part 2: Digital Signature Algorithm;
--Part 3: Key Exchange Agreement;
--Part 4: Public Key Cryptography Algorithm;
--Part 5: Definition of Parameters
This part is Part 1 of GM/T 0003.
This part is drafted according to the rules specified in GB/T 1.1-2009.
It must be noted that some contents of this document may involve patents. The institution
issuing this document is not responsible for identifying these patents.
Appendix A, Appendix B, Appendix C and Appendix D to this part are informative
appendices.
This part is brought forward by and under the jurisdiction of the National Cryptography
Administration.
This part is drafted by: Beijing Huada Infosec Technology Co., Ltd., The PLA Information
Engineering University, Data Assurance and Communication Security Research Center of
CAS.
This part is majorly drafted by: Chen Jianhua, Zhu Yuefei, Ye Dingfeng, Hu Lei, Pei
Dingyi, Peng Guohua, Zhang Yajuan, and Zhang Zhenfeng.