什么是 Elliptic Curve Cryptography (ECC)?
Elliptic Curve Cryptography (ECC) 是一种公钥加密方法,利用曲线上点的数学运算来加密和解密数据。它用较短的密钥提供强大的安全性,这让钱包运行更快,手机更省电。可以把它想成体积小但防护力强的锁。
“Elliptic Curve Cryptography (ECC) 是新的且有风险。”并非如此。它经过数十年研究,并已在 Bitcoin、Ethereum、Signal 和你的浏览器中运行。如果要概括的话,数学是经典的,应用方式更现代。
Elliptic Curve Cryptography (ECC) 的工作原理
下面是一个简短的流程,想象在你点击发送交易时发生了什么:
- 步骤 1:你的钱包选择一个已知的曲线和一个公用起点,同时生成一个巨大的随机数作为你的私钥。
- 步骤 2:它将该点乘以你的私有数以得到公钥。例如:Bitcoin 使用曲线 secp256k1,这就是地址外观的原因。
- 步骤 3:为了证明你对资金的所有权,钱包会创建一个签名,通常使用 ECDSA,任何人都可以用你的公钥来验证该签名。
- 步骤 4:如果双方想要为加密或隐秘发送生成共享密钥,他们会使用 ECDH 来在不暴露私钥的情况下导出共享密钥。
- 步骤 5:节点会验证这些数学运算。如果验证通过,交易就会被处理。概念简单,但数学严谨。
就是这样。
为什么 Elliptic Curve Cryptography (ECC) 很重要
那它除了数学以外,有什么实际价值?
- 好处:在相同安全强度下,较短的密钥意味着验证更快、钱包更轻量、链上开销更低。
- 比较角度:与 RSA (Rivest–Shamir–Adleman) 和 DSA 相比,ECC 保持紧凑和高效,这在网络扩展时很重要。
- 相关性:你会在钱包、交易所、去中心化应用和硬件密钥中遇到它。Elliptic Curve Cryptography (ECC) 是现代加密安全的默认选择。
不要自己随意实现加密算法。请使用经过审计的库、标准曲线和确定性签名以确保随机数不会重复。一次随机数重复就可能泄露你的私钥。确实就是这么简单。
Elliptic Curve Cryptography (ECC) 的主要特性
使其受欢迎的特征:
- 紧凑:短密钥也能提供强安全,对手机和智能合约友好。
- 安全:其强度基于 Elliptic Curve Discrete Logarithm Problem (ECDLP),该问题被认为很难解决。
- 速度:快速的验证让区块处理顺畅,费用更低。
- 灵活:同一套数学可用于签名、密钥交换等多种用途。
变体
你会看到的主要类型:
- ECDSA:许多链常用的签名方案,用于证明你拥有某个地址。
- ECDH:用于双方建立共享密钥,以便进行加密或生成隐秘地址。
- EdDSA:一种为速度和更安全的随机数处理而设计的现代变体,受新链欢迎。
Elliptic Curve Cryptography (ECC) 的签名依赖于新鲜且不可预测的随机数。重复或糟糕的随机性可能会暴露私钥。另外,一旦丢失私钥,无法找回。
示例
当你发送 BTC 时,你的钱包会创建一个 Elliptic Curve Cryptography (ECC) 签名,节点会在该交易进入区块前用你的公钥来检查该签名。
趣闻
Bitcoin 所用的曲线 secp256k1 在当时并非学术界的主流选择,但随着加密的普及它反而变得标志性。像劳力士遇上 Reddit 讨论那样有趣。
总结
一句话概括 Elliptic Curve Cryptography (ECC):短密钥、坚实的数学和能在不泄露秘密的情况下证明控制权的签名。
