椭圆曲线密码学(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