精通比特币(36):随机性在签名中的重要性

  • A+
所属分类:学习笔记 安全
在签名算法中重用相同的k值会导致私钥的暴露!

 

如果在两个不同的交易中,在签名算法中使用相同的值k,则私钥可以被计算并暴露给世界!

 

重用k值的最常见原因是未正确初始化的随机数生成器。

 

为了避免这个漏洞,业界最佳实践不是用熵播种的随机数生成器生成k值,而是使用交易数据本身播种的确定性随机进程。这确保每个交易产生不同的k值。在互联网工程任务组(Internet Engineering Task Force)发布的RFC 6979中定义了 k 值的确定性初始化的行业标准算法。

 

如果你正在实现一种用于在比特币中签署交易的算法,则必须使用RFC 6979或类似的确定性随机算法来确保为每个交易生成不同的 k 值

发表评论

您必须才能发表评论!