椭圆曲线密码学

椭圆曲线密码学(英语:Elliptic Curve Cryptography,缩写:ECC)是一种基于椭圆曲线数学的公开密钥加密算法。

ECC的主要优势是它相比RSA加密算法使用较小的密钥长度并提供相当等级的安全性。ECC的另一个优势是可以定义群之间的双线性映射,基于Weil对或是Tate对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密

ECC 使用较短的密钥就能达到与更长密钥的 RSA 相当等级的安全性,因此被广泛用于 HTTPS、SSH、PGP 协议以及比特币(BTC)、以太币(ETH)上。

理论

针对密码学应用上的椭圆曲线是在有限域(不是实数域)的平面曲线,其方程式如下:

{\displaystyle y^{2}=x^{3}+ax+b,\,}

有一个特别的无穷远点(标示为∞)。坐标会选定为特定的有限域,其特征不等于2或是3,也有可能是更复杂的曲线方程。

由椭圆曲线产生的集合是阿贝尔群,以无穷远点为单位元。此群的结构会继承以下代数簇中除子的结构:

{\displaystyle \mathrm {Div} ^{0}(E)\to \mathrm {Pic} ^{0}(E)\simeq E,\,}

工作原理

ECC 基于另一个称为椭圆曲线的高等数学领域。 椭圆曲线是由方程 y2 = x3 + ax + b 描述的曲线,其中 a 和 b 为常量,且该曲线的定义域是有限域。 绘制出的图形如下:

椭圆曲线具有的一些特殊性质,使它们对于数学家和密码学家而言既有趣又实用。 首先,椭圆曲线具有水平对称性。 位于 x 轴(水平轴)两侧的部分一模一样,就如同镜像。

此外,任意不垂直于椭圆曲线的直线与曲线的交点总是不超过三个。 在下面的示例中,这些点被标记为 P、Q 和 R。

椭圆曲线加密算法的安全性基于求解椭圆曲线离散对数问题的难度。 在给定曲线上的点 P 和标量 k 的情况下,要确定一个能够令 Q = k*P 的点 Q 非常困难 – 比因数分解一个极大整数要困难得多。

这一特性意味着 ECC 可以在密钥大小远小于 RSA 的前提下,提供与 RSA 相当甚至更可靠的安全性。

密钥构建与签名原理

  • 私钥: 随机选取整数 d ∈ [1, n−1];

  • 公钥: Q = d·G;

  • 签名: 利用 ECDSA(椭圆曲线数字签名算法)对消息进行哈希和椭圆曲线乘法操作生成 (r, s);

  • 验证: 使用公钥 Q 验证签名的有效性。

ECC 在 DF 协议中的应用

  • 加密通信: 基于 ECDH 生成会话级共享密钥,实现端到端 AES-256 对称加密;

  • 身份认证: 利用 ECC 构建 Node DH-ID 与链上签名绑定机制,确保节点身份的唯一性与抗伪造性;

  • 算力上报签名: 每笔任务由节点签名确认,确保算力数据具备链上验证性与抗抵赖性。

安全与性能优势

ECC 提供对量子抗性强化的升级路径(如 SIDH),同时具备以下优势:

  • 256 位密钥即达军事级安全;

  • 相较 RSA,签名与解密操作速度更快;

  • 非对称密钥短小,便于链上存储与快速验证;

  • 可与零知识证明、门限签名等模块组合使用,具备高度拓展性。

Last updated