Files
Knowledge/信安/SM2 算法.md
T

33 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
椭圆曲线密码学(Elliptic Curve Cryptography,ECC)中常用的曲线参数主要是由各种标准化组织定义的,包括但不限于:
1. NIST(National Institute of Standards and Technology,美国国家标准与技术研究院)定义的曲线,例如:
- P-256(也称为 secp256r1)
- P-384(也称为 secp384r1)
- P-521(也称为 secp521r1)
2. SECG(Standards for Efficient Cryptography Group)定义的曲线,例如:
- secp256k1(由于其在比特币中的使用而知名)
3. ANSI(American National Standards Institute,美国国家标准协会)定义的曲线
4. Brainpool 曲线,例如:
- brainpoolP256r1
- brainpoolP384r1
- brainpoolP512r1
5. FRP(Fast Randomizable Primality)曲线
国密 SM2 是中国自己定义的椭圆曲线密码算法标准,它不同于 NIST 或 SECG 定义的曲线。SM2 是由中国国家密码管理局推荐的公钥密码算法标准,它的全称是《SM2椭圆曲线公钥密码算法》。
SM2 算法使用的椭圆曲线参数如下:
- 椭圆曲线方程:y^2 = x^3 + ax + b
- 素数 p(定义域的大小):0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF
- 系数 a:0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC
- 系数 b:0x28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F5B645345C4C4FEA1E654DFF8B
- 基点(G)的 x 坐标:0x32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7
- 基点(G)的 y 坐标:0xBC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0 ^e79417
- 阶 n:0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123