区块链NFT投资,BTC/USDT/CGPAY,虚拟加密货币交易
慢雾:Ed25519 实现原理与可延展性问题
Ed25519 是一个基于椭圆曲线的数字签名算法,它高效,安全且应用广泛。TLS 1.3, SSH, Tor, ZCash, WhatsApp 和 Signal 中都使用了它。本文主要讲解以下几点:
1. 介绍一点群论知识,目的是让大家对 Ed25519 和其可延展性问题的原理有一种直觉。若想深入理解,还需参考其他资料;
2. 针对 rust 库 ed25519-dalek 的 1.0.1 版本讲解 ed25519 的实现;
3. 针对该库的延展性问题做出解释。
数学要点回顾
群的定义与性质
群论是抽象代数研究的内容,但抽象代数的一些思想是程序员非常熟悉的。面向对象中的继承就是一个很好的例子,我们都知道子类继承了父类后,就能使用父类中定义的方法。可以将抽象代数理解为对一个抽象的数据结构定义了一些性质,由这些性质推导出来的定理对于所有的子类都成立。
沿用刚刚的比喻,来看看群(group)这个数据结构是如何定义的。
由此可以推出许多有意思的定理:
举几个例子:
被一笔带过的群论术语
拉格朗日定理
现在介绍一个非常有意思的定理,这个定理的推导在文末引用的视频中。
“群的阶能被子群的阶整除。”
为什么说这个定理有意思呢,不仅仅因为它的证明过程串起了刚刚介绍的许多知识,还因为下面的结论:
Ed25519 的实现
现在我们来讲 Ed25519,它是 EdDSA 算法的其中一种。EdDSA 有 11 个参数(https://datatracker.ietf.org/doc/html/rfc8032#autoid-3),这些参数的具体选择对于算法的安全和性能有很大的影响。Ed25519 的具体选择请参看链接(https://datatracker.ietf.org/doc/html/rfc8032#autoid-9)。
另外,值得一提的是这套算法用到了一个叫 Curve25519(https://datatracker.ietf.org/doc/html/rfc7748#autoid-5)的椭圆曲线。对于椭圆曲线,我们只需知道,它上边有很多很多点,这些点相加能得到新的点,新的点还是在曲线上。这些点和这个加法能形成一个群。注意这里的椭圆曲线加法(https://www.wikiwand.com/en/Elliptic_curve_point_multiplication)是有特殊定义的。
我们约定如下记法:
这是个交互式的算法,但是没关系,有一个技巧叫做 the Fiat – Shamir heuristic(https://link.springer.com/chapter/10.1007%2F3-540-47721-7_12),它可以把任意的交互式算法转化成非交互式的算法。最终我们会用非交互式算法。
数字签名算法都会给我们如下 API:
代码地址(https://github.com/dalek-cryptography/ed25519-dalek/blob/97c22f2d07b3c260726b90c55cd45f34ec34a037/src/public.rs#L322-L355)
可延展性问题
密码学算法的实现和使用都有非常多要注意的地方。当我们说一个数字签名算法是安全的,一般指的是即使在攻击者能够获得任意消息的签名(Chosen Message Attack)的情况下,攻击者仍然不能伪造签名。Ed25519 满足这个性质,但不代表 Ed25519 是绝对安全的。在原始的论文中也提到,可延展性问题是可以接受的,且原始的算法就有这个问题。
相关文章
- 继能源电力科技股之后,谁会成为下一个优秀种子?...
- 美元走强人民币持续贬值 加密市场或再承压
- BitKeep x ParaSpace研报:2023上半年NFT交易赛道...
- Paradigm 2023年第一季度投资速览
- 奋起反击!币安向法院提交动议,剑指 SEC 发表误导...
- 散户也能专业抄底 —— OKX 马丁格尔策略,帮你提高...
- DCG 集团又不还钱!Winklevoss 气炸下「最后通牒」...
- 币安最新Launchpool项目Sei信息速览
- 台湾金管会纳管虚拟资产:出台 VASP 指导原则、重...
- Variant合伙人:将RWA带到链上有哪些好处
- Vitalik Buterin:以太坊协议是否应该「封装」更多...
- 欧盟通过加密货币资讯共享规定:业者须回报个人持...
- 狄刚:数字人民币跨境应用对香港的价值及未来计划
- 一文读懂比特币RGB协议
- 金色早报 | 比特币投资基金持有创历史新高 Raft黑...
- 美元流动性将开启历史最大牛市
- OK钱包注册步骤、轻松学会OKPAY买币卖币、OKPAY充...
- 俄罗斯Waves波币即将被下架,确还有投资价值
- 2024年十大虚拟加密货币钱包排行榜,常用的加密货...
- 808钱包如何搬砖赚价差? 掌握808钱包币圈低风险获...
- 808钱包支付教程,交易收费项目指南,808Pay支付方...
- 808钱包买币卖币使用教程:一次带你全解析最高安全...
- 808钱包注册新人教学:下载与如何注册步步图解
- 合法合规的数字货币交易所欧易OKX:享受安全可靠的...
- 超好用的数字货币交易合法钱包KKPAY安全性大揭秘
- 最安全简易加密货币支付KKpay:安全高效的存提款kk...
- NO钱包提现需要多久大揭秘:快速到账与资金安全实...
- 揭秘NO钱包搬砖洗钱:揭开金融犯罪的神秘面纱
- 探寻能赚钱的电子钱包增值秘诀:NO钱包领航者角色...
- 比特币迎来新风潮:比特币市值突破1万亿美元,背后...
- KKPAY钱包进行实名认证、买币、卖币等操作速效锭
- 带你一次了解KKPAY与KK币的入门指南