P-384 是形如 y² = x³ + ax + b 的短 Weierstrass 曲线,定义在 384 位素域上,其素数阶子群为 384 位,余因子为 1;估计安全级别为 192 位。状态:推荐用于新系统。
P-384 是素数 2^384 − 2^128 − 2^96 + 2^32 − 1 上的曲线 y² = x³ − 3x + b,群阶为素数,安全强度约为 192 位。它在 TLS 中名为 secp384r1(IANA 标记为推荐),在 JOSE 和 COSE 中名为 ES384,在 SSH 中名为 ecdsa-sha2-nistp384,在 DNSSEC 中则是算法 14(RFC 6605)。
NSA 的商用国家安全算法套件(CNSA 1.0)要求 ECDH 和 ECDSA 都使用 P-384,因此它成了政府和高保障 PKI 的首选曲线。CNSA 2.0 改用后量子算法 ML-KEM-1024 和 ML-DSA-87 取代它;在过渡期间,混合 TLS 组 SecP384r1MLKEM1024 将 P-384 与 ML-KEM-1024 组合使用。
P-384 上的原始 ECDSA 签名为 96 字节。JOSE 的 ES384 和 TLS 签名方案 ecdsa_secp384r1_sha384 都将这条曲线与 SHA-384 搭配,使哈希长度与曲线大小一致。
各标准中的名称
| 标准 | 名称 |
|---|
| NIST FIPS 186-5 / SP 800-186 | P-384 |
| SEC 2 | secp384r1 |
| JOSE / COSE | P-384 |
| SSH | nistp384 |
域参数
384 位素域 · 约 192 位安全强度
- 域素数 p
- 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
- 系数 a
- 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc
- 系数 b
- 0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef
- 基点 x 坐标
- 0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7
- 基点 y 坐标
- 0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f
- 基点的阶 n
- 0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
- 余因子 h
- 0x1
- 种子
- 0xa335926aa319a27a1d00896a6773a4827acdac73
用于
- TLS 1.3
- X.509 / Web PKI
- JOSE (ES384)
- COSE (ES384, ESP384)
- SSH (ecdsa-sha2-nistp384)
- DNSSEC (algorithm 14)
- CNSA 1.0 suite
← 全部曲线