GB/T 32918.2-2016Information security technology—Public key cryptographic algorithm SM2 based on elliptic curves—Part 2: Digital signature algorithm (English PDF)
信息安全技术 SM2椭圆曲线公钥密码算法 第2部分:数字签名算法
This is a limited preview
Buy now to download the full PDF (20 pages)
Need quotation for your management?
Get a formal quotation for GB/T 32918.2-2016 in 30 minutes.
Issued by
SAMR; SAC
Level / Type
National · Recommended
Issue date
August 29, 2016
Implementation date
March 1, 2017
Scope
GB/T 32918.2-2016 is the English-translated version of 信息安全技术 SM2椭圆曲线公钥密码算法 第2部分:数字签名算法.
GB/T 32918.2-2016 is Part 2 of GB/T 32918 and specifies the digital signature algorithm of the public key cryptographic algorithm SM2 based on elliptic curves, including the digital signature generation algorithm and the verification algorithm, and gives examples of digital signature and verification with the corresponding flows.
Clause 1 states that this part applies to digital signature and verification in commercial cryptographic applications and that it meets the security requirements for identity authentication and for data integrity and authenticity in a variety of cryptographic applications.
Clause 2 cites GB/T 32918.1-2016 and GB/T 32905-2016. Clause 3 defines message, signed message, signature key, signature generation process and distinguishing identifier, and clause 4 sets out the symbols and abbreviations, among them the private key dA of user A, the finite field Fq and the set E(Fq) of rational points of the elliptic curve.
Clause 5, Digital signature algorithm, covers the elliptic curve system parameters, which with their verification must comply with clause 5 of GB/T 32918.1-2016, the user key pairing, whose generation and public key verification must comply with clause 6 of that same part, the two auxiliary functions, namely a cryptographic hash algorithm and a random number generator, both of which must be approved by the State Cryptography Administration and for the first of which the part names SM3 as an example, and the other user information including the signer's distinguishing identifier and its length.
Clause 6 gives the digital signature generation algorithm and its flow, and clause 7 the verification algorithm and its flow, written out as the seven steps B1 to B7, which check that r' and s' lie in [1, n - 1], form the hash of the identity value and the received message, convert the data types according to GB/T 32918.1-2016, compute an elliptic curve point and compare the result with r'.
Annex A is informative and works through examples of signature and verification on Fp using the hash algorithm of GB/T 32905-2016 and a user identity encoded with GB/T 1988.
The foreword says GB/T 32918 consists of five parts, that this part was proposed by the State Cryptography Administration and that it falls under the National Information Security Standardization Technical Committee (SAC/TC 260). It was issued on 29 August 2016 and has applied since 1 March 2017.
Found what you need?
Document preview — GB/T 32918.2-2016
National Standard of the People's Republic of China
- ICS
- 35.040
- Classification
- L 80
Issued by: State Administration for Market Regulation; Standardization Administration of the PRC
Contents
- Foreword3
- Introduction4
- 1 Scope6
- 2 Normative references6
- 3 Terms and definitions6
- 4 Symbols and abbreviations7
- 5 Digital signature algorithm8
- 6 Digital signature generation algorithm and flow10
- 7 Digital signature verification algorithm and flow12
- Annex A (informative) Examples of digital signature and verification14
- Bibliography20
Foreword
GB/T 32918 "Information security technology - Public key cryptographic algorithm SM2 based on elliptic curves" consists of 5 parts.
- Part 1. General;
- Part 2. Digital signature algorithm;
- Part 3. Key exchange protocol;
- Part 4. Public key encryption algorithm;
- Part 5. Parameter definition.
This Part is Part 2 of GB/T 32918.
This Part was drafted in accordance with the rules given in GB/T 1.1-2009.
1 Scope
This Part of GB/T 32918 specifies the digital signature algorithm of public key cryptographic algorithm SM2 based on elliptic curves, including digital signature generation algorithm and verification algorithm, and gives examples of digital signature and verification and the corresponding flow.
This Part applies to digital signature and verification in commercial cryptographic applications, and meets the security requirements for identity authentication and data integrity and authenticity in a variety of cryptographic applications. [Translator note. In Chinese, there is only single word corresponding to mathematic "domain" and "field" (identical in Chinese).
Therefore, in this translation, "field" and "domain" can be replaced each other where applicable (exchangeable); likewise, limited domain = finite field]
2 Normative references
The following referenced documents are indispensable for the application of this document. For dated references, only the dated edition cited applies. For undated references, the latest edition of the referenced document (including all amendments) applies.
GB/T 32918.1-2016 Information security technology - Public key cryptographic algorithm SM2 based on elliptic curves - Part 1: General
GB/T 32905-2016 Information security techniques - SM3 cryptographic hash algorithm
3 Terms and definitions
For the purpose of this document, the following terms and definitions apply.
3.1 Message
A bit string of any finite length.
3.2 Signed message
A set of data elements consisting of a message and a signed portion of the message.
3.3 Signature key
A secret data element that is unique to the signer during the digital signature generation process, i.e., signer's private key.
3.4 Signature generation process
A process of entering a message, a signature key and elliptic curve's system parameters, and outputting a digital signature.
3.5 Distinguishing identifier
Information that makes it possible to identify an entity's identity without ambiguity.
4 Symbols and abbreviations
For the purpose of this document, the following symbols and abbreviations apply.
A, B. Two users that use public key cryptosystem.
dA. User A's private key.
E(Fq). A set of all rational points (including the infinity point O) of the elliptic curve E on Fq.
e. The cryptographic hash algorithm acts on the output value of message M.
e'. The cryptographic hash algorithm acts on the output value of message M'.
Fq. A finite field containing q elements.
5 Digital signature algorithm
5.2 Elliptic curve's system parameters
Elliptic curve's system parameters include the size q of the finite field Fq (when q = 2m, it also includes the identification of the element representation and the reduction polynomial); the two elements a, b in Fq of the equation defining the elliptic curve E(Fq); the base point G = (xG, yG) (G != O) on E(Fq), where xG and yG are two elements in Fq; the order n of G and other alternatives (such as the cofactor h of n).
Elliptic curve's system parameters and their verification shall comply with the specifications of Clause 5 of GB/T 32918.1-2016.
5.3 User key pairing
User A's key pairing includes its private key dA and public key PA = [dA ] G = (xA, yA).
The generation algorithm of the user key pairing and the public key verification algorithm shall comply with the specifications of Clause 6 of GB/T 32918.1-2016.
5.4 Auxiliary function
5.4.1 General
In the elliptic curve's digital signature algorithm specified in this Part, two types of auxiliary functions are involved. the cryptographic hash algorithm and the random number generator.
5.4.2 Cryptographic hash algorithm
This Part specifies the use of cryptographic hash algorithms approved by State Cryptography Administration, such as SM3 cryptographic hash algorithm.
5.4.3 Random number generator
This Part specifies the use of random number generators approved by State Cryptography Administration.
5.5 Other user information
User A as the signer has a distinguishing identifier IDA with a length of entlenA bits. ENTLA is denoted as a two-byte converted by the integer entlenA. In the signature generation process, the cryptographic hash algorithm is used to compress M (including ZA and the message to be signed M); before the verification process, the cryptographic hash algorithm is used to compress M ' (including ZA and message to be verified M'). […]
7 Digital signature verification algorithm and flow
7.1 Digital signature verification algorithm
In order to verify the received message M' and its digital signature (r', s'), User B as the verifier shall implement the following operation steps.
B1. Verify if r' in [1, n - 1] is true, if not, the verification fails;
B2. Verify if s' in [1, n - 1] is true, if not, the verification fails;
B3. Set M ' = ZA || M';
B4. Calculate e' = Hv (M '); convert the data type of e' to an integer according to the methods given in 4.2.4 and 4.2.3 of GB/T 32918.1-2016;
B5. Convert the data types of r' and s' to integers according to the method given in 4.2.3 of GB/T 32918.1-2016; calculate t = (r' + s') mod n, if t = 0, the verification fails;
B6. Calculate the elliptic curve point (x'1, y'1) = [s'] G + [t] PA;
B7. Convert the data type of x'1 to an integer according to the method given in 4.2.8 of GB/T 32918.1-2016; calculate R = (e' + x1') mod n; verify if R = r' is true, if yes, the verification is passed, otherwise the verification fails.
NOTE: If ZA is not the hash value corresponding to User A, the verification will fail. See Annex A for an example of digital signature verification process.
7.2 Digital signature verification algorithm flow
The digital signature verification algorithm flow is shown in Figure 2.
Annex A (informative) Examples of digital signature and verification
A.1 General
This annex uses the cryptographic hash algorithm given in GB/T 32905-2016.
The input is a message bit string with a length less than 264, and the output is a hash value of 256 bits in length, denoted as H256 ( ).
In this annex, all numbers in hexadecimal are high on the left and low on the right.
In this annex, the message uses the code given in GB/T 1988.
Let User A's identity be. ALICE123@YAHOO.COM. Use the code given in GB/T 1988 IDA. 414C 49434531 32334059 41484F4F 2E434F4D. ENTLA = 0090.
A.2 Elliptic curve's digital signature on Fp
The elliptic curve equation is. y2 = x3 + ax + b
Example 1. Fp-256
Prime number p.
Coefficient a.
Coefficient b.
Base point G = (xG, yG), of which the order is n.
Coordinate xG.
Coordinate yG.
Order n.
Message to be signed M. message digest […]
......
This preview omits tables, figures, formulas and parts of the technical clauses. The complete document — 20 pages — is available in the English PDF.
Referenced standards
Normative references
Cited by
- GB/T 47265-2026General specification for the electronic identity of electric bicycles and its reading
- GB/T 48092-2026Public service for national network identity authentication - Technical requirements for network identity authentication service interface
- GB/T 19771-2025Cybersecurity technology — Public key infrastructure — Specification for minimum interoperability for PKI components
- GB/T 46998-2025Specification for the information exchange interface of road traffic management based on vehicle-infrastructure cooperative systems
- GB/T 47001-2025General specification for the digital identity and authentication of intelligent and connected vehicles
- GB/T 47004-2025Electronic certificates for traffic management - Driving licence
Similar standards
How to Download GB/T 32918.2-2016
- 1
Add to cart
Click "Download PDF" on this page and choose "Buy this standard". You can add more standards before checkout.
- 2
Checkout
Enter your email and billing details. Payment is processed securely by Stripe (cards or bank transfer). Prefer bank details? Request a quotation (min. order $300).
- 3
Instant delivery (0–9 sec)
Delivery is automatic: within seconds of payment you'll receive an email with a secure download link. The link stays valid for 72 hours.
- 4
Invoice included
A tax invoice is attached to the confirmation email. Need a custom invoice? Contact us.
Related Standards
GB/T 32905-2016 — Information security techniques - SM3 cryptographic hash algorithm
GB/T 32918.1-2016 — Information security technology - Public key cryptographic algorithm SM2 based on elliptic curves - Part 1: General
GB/T 32918.3-2016 — Information security technology - Public key cryptographic algorithm SM2 based on elliptic curves - Part 3: Key exchange protocol
Secure payment via Stripe
Payments accepted
GB/T 32918.2-2016
$125.00