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

1.6 KiB
Raw Blame History

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