GM/T 0080-2020SM9 cryptographic algorithm application specification (English PDF)
SM9密码算法使用规范
This is a limited preview
Buy now to download the full PDF (19 pages)
Need quotation for your management?
Get a formal quotation for GM/T 0080-2020 in 30 minutes.
Issued by
State Administration of Cryptography
Level / Type
National · Recommended
Issue date
December 28, 2020
Implementation date
July 1, 2021
Scope
GM/T 0080-2020 is the English-translated version of SM9密码算法使用规范.
GM/T 0080-2020 — This Document defines the application method of SM9 cryptographic algorithm, as well as data formats such as keys, encryption, and signatures, etc. This Document is applicable to the application of SM9 cryptographic algorithm, and the development and testing of equipment and systems that support SM9 cryptographic algorithm.
Found what you need?
Document preview — GM/T 0080-2020
National Standard of the People's Republic of China
- ICS
- 38.040
- Classification
- L 80
Contents
- Scope1
- Normative References2
- Terms and Definitions3
- Algorithm identifier4
- SM9 algorithm5
- Generator6
- SM9 master private key7
- SM9 master public key8
- SM9 user private key9
- SM9 user public key10
- Key data structure11
1 Scope
This Document defines the application method of SM9 cryptographic algorithm, as well as data formats such as keys, encryption, and signatures, etc.
This Document is applicable to the application of SM9 cryptographic algorithm, and the development and testing of equipment and systems that support SM9 cryptographic algorithm.
2 Normative References
The following documents are essential to the application of this Document. For the dated documents, only the versions with the dates indicated are applicable to this document; for the undated documents, only the latest version (including all the amendments) is applicable to this Document.
GB/T 32905 Information Security Technology - SM3 Cryptographic Hash Algorithm GB/T 32907 Information Security Techno1ogy - SM4 Block Cipher Algorithm GB/T 32918 (all parts) Information Security Technology - Public Key Cryptographic Algorithm SM2 Based on Elliptic Curves GB/T 38635.1-2020 Information Security Technology - Identity-Based Cryptographic Algorithms SM9 - Part 1: General GB/T 38635.2-2020 Information Security Technology - Identity-Based Cryptographic Algorithms SM9 - Part 2: Algorithm
3 Terms and Definitions
For the purpose of this Document, the following terms and definitions apply.
3.1 Algorithm identifier
Digitized information that is used to indicate algorithmic mechanisms.
3.2 SM9 algorithm
PPS: Public Parameter Service.
5.1 Generator
The Generator P1 point on G1 is marked as (xp1, yP1); and the ASN.1 of the data format is defined as SM9P1::=BIT STRING; the type is BIT STRING; and its content is:
04||X1||Y1, where X1 and Y1 respectively identify the x component and y component of the point; and each component has a length of 256 bits.
The Generator P2 point on G2 is marked as (xp2, yP2); and the ASN.1 of the data format is defined as SM9P2::=BIT STRING; the type is BIT STRING; and its content is:
04||X1||X2||Y1||Y2, where X1, X2 and Y1, Y2 respectively identify the x component and y component of the public key; and each component has a length of 256 bits, or 03||X1||X2, where X1 and X2 respectively identify each x component of the public key;
and each component has a length of 256 bits. Select the value whose rightmost bit is 1 in the decompressed Y root value (Y1||Y2). After the restoration, the rightmost bit of the Y root value shall be 1; otherwise, Y1=base field q - root Y1, Y2=base field q - root Y2. or 02||X1||X2, where X1 and X2 respectively identify the 2 x components of the public key; and each component has a length of 256 bits. Select the option value whose rightmost bit is 0 in the decompressed Y root value (Y1||Y2). After the restoration, the Y root value takes the option value whose rightmost bit is 0, otherwise Y1=base field q - root Y1, Y2=base field q - root Y2.
5.2 SM9 master private key
It includes the SM9 signature master private key and the encryption master private key;
both are an integer greater than or equal to 1 and less than N-1 (N is the order of the cyclic group G1, G2, and GT, and its value is shown in Appendix A.1 of GB/T 38635.2-
2020), abbreviated as s, with the length of 256 bits.
5.3 SM9 master public key
It includes SM9 signature master public key Ppub2 and encryption master public key Ppub1. They are points on G2 and G1; and the coordinates are expressed as (xSPub, ySPub) and (xEPub, yEPub). Thereof, the x and y coordinates of the signature master public key also contain two components, namely x1 component and x2 component, y1 component and y2 component, and the length of each component is 256 bits. The length of the x and y coordinates of the encryption master public key are both 256 bits.
5.4 SM9 user private key
It includes SM9 user signature private key and user encryption private key, which are points on G1 and G2 respectively; and the coordinates are expressed as (xSPri, ySPri) and (xEPri, yEPri). The length of the x and y coordinates of the user signature key are both 256 bits. The x and y coordinates of the user's encryption private key also contain two components, namely x1 component and x2 component, y1 component and y2 component, and the length of each component is 256 bits.
5.5 SM9 user public key
In IBC technology, the user identification ID can uniquely determine the user's public key, which represents the public key in applications. The representation of ID coordinates based on bilinear pairing can be divided into user signature public key coordinates and user encryption public key coordinates. The user signature public key and the signature master public key are of the same coordinate structure; and there are two respective components on the x and y coordinates, which are marked as QS;
and user encryption public key and the encryption master public key are of the same coordinate structure, which is marked as QE.
NOTE: Here is how to generate the user's public key coordinates.
Input: Algorithm function H, userID, hid, master public key Ppubi, generator Pi i=1,2.
Output: User public key QA.
Calculation method:
, signature public key coordinates are used for signature/verification of signature.
, encryption public key coordinates are used for key encapsulation, encryption/decryption.
6.1 Key data structure
The key is divided into signature/encryption master key, and signature/encryption user key:
a) The ASN.1 of data format of SM9 algorithm signature master private key is defined as:
......
This preview omits tables, figures, formulas and parts of the technical clauses. The complete document — 19 pages — is available in the English PDF.
Referenced standards
Normative references
- GB/T 32905Information security techniques - SM3 cryptographic hash algorithm
- GB/T 32907Information security technology - SM4 block cipher algorithm
- GB/T 38635.1-2020Information security technology - Identity-based cryptographic algorithms SM9 - Part 1: General
- GB/T 38635.2-2020Information security technology—Identity-based cryptographic algorithms SM9—Part 2: Algorithms
GB/T 32918
How to Download GM/T 0080-2020
- 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 32907-2016 — Information security technology - SM4 block cipher algorithm
GB/T 32918.1-2016 — Information security technology - Public key cryptographic algorithm SM2 based on elliptic curves - Part 1: General
Secure payment via Stripe
Payments accepted
GM/T 0080-2020
$275.00