GM/T 0003.2-2012_English: PDF (GM/T0003.2-2012)
Standard ID | Contents [version] | USD | STEP2 | [PDF] delivered in | Standard Title (Description) | Status | PDF |
GM/T 0003.2-2012 | English | 145 |
Add to Cart
|
0--9 seconds. Auto-delivery
|
Public key cryptographic algorithm SM2 based on elliptic curves - Part 2: Digital signature algorithm
| Valid |
GM/T 0003.2-2012
|
Standard ID | GM/T 0003.2-2012 (GM/T0003.2-2012) | Description (Translated English) | Public key cryptographic algorithm SM2 based on elliptic curves - Part 2: Digital signature algorithm | Sector / Industry | Chinese Industry Standard (Recommended) | Classification of Chinese Standard | L80 | Word Count Estimation | 13,121 | Date of Issue | 2012/3/21 | Date of Implementation | 2012/3/21 |
GM/T 0003.2-2012
GM
CRYPTOGRAPHY INDUSTRY STANDARD
OF THE PEOPLE’S REPUBLIC OF CHINA
ICS 35.040
L 80
File No.. 36827-2012
Public key cryptographic algorithm SM2 based on
elliptic curves – Part 2. Digital signature algorithm
ISSUED ON. MARCH 21, 2012
IMPLEMENTED ON. MARCH 21, 2012
Issued by. State Cryptography Administration
Table of Contents
Foreword ... 3
Introduction ... 4
1 Scope ... 5
2 Normative references ... 5
3 Terms and definitions ... 5
4 Symbols ... 6
5 Digital signature algorithm ... 8
5.1 General rules ... 8
5.2 Parameters of elliptic curve cryptosystem ... 8
5.3 User key pair ... 8
5.4 Auxiliary functions... 8
5.4.1 General ... 8
5.4.2 Cryptographic hash functions ... 8
5.4.3 Random number generator ... 9
5.5 Users’ other information ... 9
6 Generation algorithm and process of digital signature ... 9
6.1 Generation algorithm of digital signature ... 9
6.2 Process of generation algorithm of digital signature ... 9
7 Verification algorithm and process of digital signature ... 11
7.1 Verification algorithm of digital signature ... 11
7.2 Process of digital signature verification algorithm ... 11
Annex A (Informative) Example of digital signature and verification ... 13
A.1 General requirements ... 13
A.2 Digital signature of elliptic curve on Fp ... 13
A.3 Digital signature of elliptic curve on F2m ... 14
Public key cryptographic algorithm SM2 based on
elliptic curves – Part 2. Digital signature algorithm
1 Scope
This Part of GM/T 0003 specifies the digital signature algorithm of public key
cryptographic algorithm SM2 based on elliptic curves, including the digital
signature generation algorithm and verification algorithm and gives examples
of digital signature and verification and the corresponding process.
This Part applies to digital signatures and verification in commercial
cryptographic applications, which can satisfy the security requirements for the
identity certification and the integrity and authenticity of data in multiple
cryptographic applications. Meanwhile, this Part can also provide standard
positionings and standardization references of products and technologies for
security product manufacturers to improve the credibility and interoperability of
security products.
2 Normative references
The following referenced documents are indispensable for the application of this
document. For dated references, only the edition dated applies to this document. For
undated references, the latest edition of the referenced documents (including all
amendments) applies to this document.
GM/T 0003.1-2012, Public key cryptographic algorithm SM2 based on elliptic
curves – Part 1. General
3 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
3.1
message
bit string with any finite length
3.2
signed message
M’. a message to be verified.
modn. the modulo n operation. E.g.. 23 mod 7 = 2.
n. the order of base point G (n is the prime factor of #E(Fq)).
O. one special point on the elliptic curve, called the point at infinity or null point, which
is the identity element of the additive group of the elliptic curve.
PA. the public key of user A.
q. the number of elements in the finite field Fq.
. the concatenation of x and y, where x and y can be a bit string or byte string.
ZA. the hash value in regard to distinguishing identifiers of user A, some system
parameters of elliptic curve and public keys of user A.
(r,s). a signature sent.
(r’,s’). a signature received.
[k]P. the k point-multiplication of point P on elliptic curve, i.e. ,
where k is a positive integer.
[x·y]. the set of integers which is greater than or equal to x, and less than or equal to
y.
. the ceiling function, which is the minimum integer greater than or equal to x. E.g..
. the bottom function, which is the maximum integer less than or equal to x. E.g..
#E(Fq). the number of points on E(Fq), called the order of elliptic curve E(Fq).
Number k
5.4.3 Random number generator
This Part specifies the use of the random number generator approved by the State
Cryptography Administration.
5.5 Users’ other information
User A has the distinguishing identifier IDA with the length of entlenA bits, notating
ENTLA as two bytes converted from the integer entlenA. In the elliptic curve digital
signature algorithm specified in this Part, the signer and the verifier need to use the
cryptographic hash function to obtain the hash value ZA of user A. According to the
methods given in 4.2.6 and 4.2.5 of GM/T 0003.1-2012, convert the coordinates xG and
yG of the data types of the elliptic curve equation parameters a, b and G, and the
coordinates of PA, xA and yA, into a bit string,
6 Generation algorithm and process of digital signature
6.1 Generation algorithm of digital signature
Let the message to be signed be M. In order to obtain the digital signature (r,s) of
message M, user A as the signer shall carry out the following operation steps.
A1. set ;
A2. calculate , and convert the data type of e into an integer using the
methods given in 4.2.4 and 4.2.3 of GM/T 0003.1-2012;
A3. use the random number generator to generate random number ;
A4. calculate elliptic curve point , and convert the data type of x1 into
an integer using the method given in 4.2.8 of GM/T 0003.1-2012;
A5. calculate , and if r = 0 or r + k = n, then return to A3;
A6. calculate , and if s = 0, then return to A3;
A7. convert the data type of r and s into a byte string according to the details given in
4.2.2 of GM/T 0003.1-2012, with the signature of message M as (r,s).
NOTE. For the example of the digital signature generation process see Annex A.
6.2 Process of generation algorithm of digital signature
For the process of generation algorithm of digital signature, see Figure 1.
......
|