GM/T 0091-2020 in English
VALIDPassword-based key derivation specification
- Issued on:2020-12-28
- Implemented on:2021-07-01
- File Format:PDF
- Delivery:Via email within 1~3 business days
$243.00
| Standard No: | GM/T 0091-2020 |
| Document status: | VALID |
| Title in English: | Password-based key derivation specification |
| Title in Chinese: | 基于口令的密钥派生规范 |
| Language: | English |
| File Format: | Electronic (PDF) |
| Delivery: | Via email within 1~3 business days |
| Issued on: | 2020-12-28 |
| Implemented on: | 2021-07-01 |
| ICS Classification: | 35.040-Character sets and information coding |
| Chinese Classification: | L80-Data encryption |
| Related Keywords: | password-based key derivation specification introduction analysis
key length technical module core algorithm security parameters key derivation function bytes key technology implementation points key derivation function implementation pbkdf2 core calculation formula |
| Related Topics: | make
key gm t gm/t password key GM/T 38636-2020 OceanView1.6.7 product key cpcif 0091 |
本标准规定了基于口令的密钥派生规范,包括基于口令的密钥派生函数、基于口令的加密方案、基于口令的消息鉴别码。
本标准适用于证书与密钥迁移时利用口令来保护被迁移的密钥。
Introduction
Analysis of the standard technical framework
This standard builds a complete password-based cryptographic system, which includes three major technical modules:
| Technical module | Core algorithm | Security parameters |
|---|---|---|
| Key derivation function (PBKDF) | HMAC-SM3 | Number of iterations ≥ 1024, salt value ≥ 8 bytes |
| Encryption scheme (PBES) | SM4-CBC | IV length 16 bytes, PKCS#7 padding |
| Message authentication code (PBMAC) | HMAC-SM3 | Output length: 32 bytes |
Key Technology Implementation Points
1. Key Derivation Function Implementation
PBKDF2 core calculation formula: DK = F(P,S,c,1) || F(P,S,c,2) || ... || F(P,S,c,n)
Wherein, the F function is implemented through HMAC-SM3 iteration:
F(P,S,c,i) = U1 ⊕ U2 ⊕ ... ⊕ Uc U1 = PRF(P, S || INT(i)) U2 = PRF(P, U1) ...
2. Encryption Scheme Implementation
SM4-CBC encryption process:
- Generate derived key: DK = KDF(P,S,c,dkLen)
- Message padding: Use PKCS#7 standard to fill to multiple of 16 bytes
- CBC mode encryption: IV is recommended to be derived through KDF
Security Enhancement Measures
Salt Value Configuration Specifications
| Application Scenarios | Salt Value Requirements | Example |
|---|---|---|
| Normal encryption | Random 64 bits or more | Hardware random number generation |
| Key reuse prevention | Include operation type identifier | 0x01|Random number |
Implementation recommendations
Parameter selection guide
- Number of iterations: ≥10000 for general applications, ≥10,000,000 for high-security scenarios
- Derived key length: 128 bits for SM4 encryption and 256 bits for HMAC-SM3
- Salt management: Different operations should use independent salt spaces
Avoidance of typical errors
Case: A system uses a fixed salt value, resulting in predictable keys
Solution: Use the salt generation strategy recommended in Appendix A.1 to ensure that the salt value is unique for each operation

Loading PDF document...
Error loading PDF. Please make sure the file is valid and try again.
We also recommend
-

GM/T 0044-2016 in English
SM9 identification cryptographic algorithm
2016-03-28