0Pricing
Cryptology Academy · 课时

标准曲线:P-256、Curve25519、secp256k1

比较 NIST 曲线、Bernstein 的 Curve25519 和比特币使用的 secp256k1

标准曲线:P-256、Curve25519、secp256k1 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。

欢迎

不同的椭圆曲线用于不同的目的。本课将比较三种最重要的曲线:NIST P-256、Bernstein 的 Curve25519,以及 Bitcoin 使用的 secp256k1。

NIST P-256(secp256r1)

NIST P-256 于 1999 年实现标准化。它使用 a=-3 的 Weierstrass 曲线(点倍加速度快)。具有 128 位安全性。美国政府要求使用(FIPS)。广泛用于 TLS、JWT 和代码签名。

P-256 争议

P-256 的曲线参数是通过一个未作解释的种子值选定的。该过程与 Dual_EC_DRBG(曾存在 NSA 后门)相似。虽然尚未证明存在后门,但许多人不信任 NIST 曲线。

Curve25519(X25519 / Ed25519)

Bernstein 于 2005 年设计了 Curve25519,参数选择过程完全透明且可验证。其 Montgomery 形式为:y²=x³+486662x²+x mod (2^255-19)。所有参数都有基于效率的合理依据,而不是任意选择。

Curve25519 的特性

具有 128 位安全性。余因子为 8(由 X25519 实现处理)。在大多数平台上可以自然地实现常数时间运算。没有边界情况点。IETF 已在 RFC 7748 和 RFC 8032 中采用它。WireGuard、Signal 和 SSH 仅使用它。

Ed25519:Edwards 形式

Ed25519 是基于 Curve25519 扭曲 Edwards 形式的签名算法。它是确定性的(不需要随机数)。设计上采用常数时间运算。签名为 64 字节,密钥为 32 字节。在所有签名方案中,它的验证速度最快。

secp256k1:Bitcoin 的曲线

secp256k1 是一条 Koblitz 曲线:在 256 位素数域上满足 y²=x³+7(a=0, b=7)。Satoshi Nakamoto 于 2008 年为 Bitcoin 选择了它。Ethereum 也使用它。与 NIST 曲线相比,Koblitz 曲线在效率方面具有一些优势。

secp256k1 与 P-256

两者都是 256 位曲线,安全性约为 128 位。secp256k1:a=0,可实现高效的自同态,从而加快标量乘法。P-256:a=-3,可实现快速倍加。secp256k1 的签名速度更快;P-256 的验证速度更快。

Curve448

Curve448(X448)提供 224 位安全性,相当于 RSA-8192。它使用 Goldilocks 素数 2^448-2^224-1。适用于需要超越 P-256 的长期安全性的应用。Signal 将它与 X25519 配合使用,作为备用方案。

选择合适的曲线

TLS/通用场景:P-256(FIPS)或 X25519(性能与信任)。\nSSH:Ed25519(大多数现代客户端)。\nBitcoin/Ethereum:secp256k1(没有选择余地)。\n高安全性(20 年以上):P-384 或 X448。

曲线参数验证

对于 P-256:NIST FIPS 186-5 列出了所有参数及其生成种子。对于 Curve25519:Bernstein 的论文解释了每个常量的选择依据。参数选择的透明度是重要的安全标准。

快速检查

Bitcoin 使用、并由 Satoshi Nakamoto 选择的曲线是哪一条?

回顾

我们已经比较了标准曲线。接下来将从安全级别、性能和密钥大小等方面分析 ECC 与 RSA 的权衡。

常见问题解答

「标准曲线:P-256、Curve25519、secp256k1」课时是免费的吗?

是的 — 「标准曲线:P-256、Curve25519、secp256k1」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「标准曲线:P-256、Curve25519、secp256k1」这节课中我会学到什么?

比较 NIST 曲线、Bernstein 的 Curve25519 和比特币使用的 secp256k1 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「标准曲线:P-256、Curve25519、secp256k1」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cryptology Academy 课中编写并运行代码吗?

能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 椭圆曲线群运算
  2. 标量乘法与 ECDLP
  3. 标准曲线:P-256、Curve25519、secp256k1
  4. ECC 与 RSA:安全性和性能权衡
← 返回 Cryptology Academy