椭圆曲线密码学的实际应用与安全检查
1. 密码学健全性检查
密码学中与随机性不足相关的实际问题由来已久。例如 2006 年 Debian OpenSSL 出现漏洞,代码的更改使得熵无法融入 OpenSSL 熵池,导致池状态仅依赖主机进程 ID 和架构,这一问题在 2008 年被发现。2012 年,有研究表明大量 RSA 密钥因随机性不足而不安全,2013 年又发现台湾数字证书数据库中的部分 RSA 密钥可被分解。为验证椭圆曲线密码学是否存在类似漏洞,我们进行了以下检查:
- 密钥生成 :椭圆曲线公钥是点 ( Q = dG )(( 1 ≤ d < n )),随机性不足可能导致 ( d ) 值重复,进而出现重复公钥。与 RSA 不同,椭圆曲线公钥似乎没有类似因公钥数学性质导致私钥完全泄露的情况。我们通过检查公钥中椭圆曲线点的碰撞来排查问题,但实际中同一公钥多次出现可能是正常的,比如比特币交易或同一实体保护不同服务器。
- 消息签名秘密重复 :ECDSA 签名是随机化的,每个签名由 ( (r, s) ) 组成,( r ) 来自临时公钥 ( kG ),( s ) 依赖于 ( k )。签名者每次签名使用不可预测且不同的 ( k ) 值对 ECDSA 安全至关重要,否则攻击者可从签名值计算私钥。如索尼 PlayStation 3 就因使用恒定 ( k ) 值导致签名密钥泄露。我们通过解析签名检查临时公钥值的碰撞来排查问题。
2. 比特币中的椭圆曲线密码学
2.1 意外、非法和已知的弱值
我们检查了对应无穷远点、不在曲线上的点以及可能无对应私钥的公钥。同时,生成了已
超级会员免费看
订阅专栏 解锁全文
85

被折叠的 条评论
为什么被折叠?



