走进 Web3

椭圆曲线加密算法的原理是什么?

By Safeheron Team

椭圆曲线加密算法的原理,是在一条有限域上的椭圆曲线上定义“点加法”,把公开的基点 G 与自己相加 d 次得到 Q = d·G。随机整数 d 是私钥,点 Q 是公钥。由 d 算 Q 很快,由 Q 反求 d 却几乎不可能,ECDSA 等签名算法就建立在这种不对称性之上。下面用一条小曲线把这个过程手算一遍。

有限域上的椭圆曲线是什么样的?

密码学中的椭圆曲线一般写成 y² = x³ + ax + b,但所有运算都对一个大素数 p 取余。这样曲线就不再是连续的线,而是有限个散落的整数点,“除法”也变成了乘以模逆元。点的分布看起来毫无规律,这正是反向计算困难的来源之一。

比特币和以太坊用的 secp256k1 就是 y² = x³ + 7,p 略小于 2²⁵⁶。标准还规定了公开的基点 G 和它的阶 n(G 连加 n 次回到“无穷远点”),所有人共享这组参数,只有私钥各不相同。

椭圆曲线上的点怎样相加?

几何上看,过 P、Q 两点画直线,它与曲线交于第三点,再关于 x 轴翻转就得到 P + Q;P 与自己相加时改用切线,称为“倍点”。两点关于 x 轴对称时,和为“无穷远点”,相当于加法里的 0。

写成公式:两点不同时斜率 λ = (y₂ − y₁) / (x₂ − x₁),倍点时 λ = (3x₁² + a) / (2y₁);结果点 x₃ = λ² − x₁ − x₂,y₃ = λ(x₁ − x₃) − y₁。每一步都对 p 取余。任意两点相加仍在曲线上,且满足结合律和交换律,后面的计算都依赖这一点。

私钥怎样算出公钥?

私钥 d 是 1 到 n − 1 之间的随机整数,公钥 Q = d·G。d 接近 2²⁵⁶,不可能真的加 d 次,实际用的是“倍点加”算法:把 d 写成二进制,反复倍点得到 G、2G、4G、8G……,再把对应位为 1 的点加起来。例如 13 = 1101(二进制),所以 13G = 8G + 4G + G。256 位私钥最多约 256 次倍点和 256 次点加,毫秒级就能完成。

用一条小曲线手算一遍是什么样的?

取曲线 y² = x³ + 2x + 2,所有运算对 17 取余,基点 G = (5, 1)。验证:125 + 10 + 2 = 137,除以 17 余 1,等于 1²。这个 G 的阶是 19,所以私钥只能在 1 到 18 之间。

先算 2G:λ = (3 × 25 + 2) / 2 = 77 / 2。模 17 下 77 等于 9,2 的模逆元是 9,所以 λ = 81 取余得 13。x₃ = 169 − 10 = 159,取余得 6;y₃ = 13 × (5 − 6) − 1 = −14,取余得 3。所以 2G = (6, 3)。

若私钥 d = 7(二进制 111),则 7G = 4G + 2G + G。继续计算可得 4G = (3, 1),4G + 2G = (16, 13),再加 G 得到公钥 7G = (0, 6)。它也在曲线上:36 除以 17 余 2,等于 0 + 0 + 2。

反过来,只知道公钥 (0, 6) 时,把 1G 到 18G 逐个算一遍就能找到 d = 7。真实曲线与这个例子的区别只在数字规模。

为什么从公钥很难反推私钥?

secp256k1 的 n 约为 1.16 × 10⁷⁷,逐个尝试显然不可行。更关键的是,目前最好的通用算法(如 Pollard rho)仍需大约 √n 次运算,对 256 位曲线就是约 2¹²⁸ 次,这就是“128 位安全强度”的由来。点的分布没有可利用的规律,知道 Q 在哪里并不能帮你猜出 d,这就是不能从公钥获得私钥的原因。

ECDSA 签名和验签分哪几步?

签名:对交易做哈希得到整数 z;随机选一个只用一次的数 k,计算 R = k·G,取 R 的 x 坐标对 n 取余作为 r;再计算 s = k⁻¹ × (z + r × d) 对 n 取余。(r, s) 就是签名。

验签:计算 w = s⁻¹、u₁ = z × w、u₂ = r × w,再算点 u₁·G + u₂·Q。签名正确时,这个点就是 R,其 x 坐标等于 r。全程只用到公钥 Q,私钥 d 不出现。签名公式也说明了 k 必须保密且不能重复使用,否则就能解出 d。

结语

一句话概括:在有限域曲线上,由私钥算公钥很容易,由公钥算私钥极难。也正因为签名只是一组代数运算,安全多方计算(MPC)才能让多方用密钥分片共同算出标准 ECDSA 签名。Safeheron 的 MPC 钱包即服务为企业提供 MPC 密钥管理和策略引擎。

想让你的业务不再依赖单一私钥签名? 联系 Safeheron 销售团队,预约一对一演示

分享

预约演示

正在评估数字资产安全方案?不妨与 Safeheron 专家聊聊,获取专属方案建议

预约演示