我正在研究市场上不同区块链中使用的各种密钥生成算法。 我想知道在以下区块链中用于生成公钥/私钥对的算法:
有人可以帮我吗?
答案 0 :(得分:2)
我无法评论以太坊或Hyperledger Fabric支持的签名方案。
Corda具有加密敏捷性,可根据加密强度,与各种HSM供应商的兼容性,算法标准化,各种加密原语,业务需求,后量子抗性选项,侧通道之间的期望权衡,采用多种签名方案安全性,效率和测试程度。
从版本3开始,Corda支持五种签名方案:
1。使用ed25519曲线和SHA-512的纯EdDSA
EdDSA是主流密码术的最新技术。它实现具有确定性签名的椭圆曲线密码学,快速实现,解释常数,侧通道阻抗等 理想的特性。但是,它相对较新,并未得到广泛支持。例如,您还不能在TLS中使用它(RFC草案存在但尚未标准化)。
这是节点的知名身份和机密身份以及网络引导程序的默认签名方案。
2。使用NIST P-256曲线(secp256r1)和SHA-256的ECDSA
这是当今大多数支持椭圆曲线加密的系统的默认选择,并且是NIST推荐的。大多数HSM供应商也支持它。
这是根网络证书颁发机构,门卫,节点证书颁发机构(颁发节点的身份和TLS密钥),节点的TLS密钥以及Corda网络上的网络映射的默认签名方案。
>3。使用Koblitz k1曲线(secp256k1)和SHA-256的ECDSA
secp256k1是比特币采用的曲线,因此有大量的基础架构,代码和高级算法可供使用。 NIST将此曲线标准化为“ Suite B”加密算法的一部分,因此比ed25519得到更广泛的支持。通过支持它,Corda可以访问由比特币社区开创的高级密码技术和设备的生态系统。
4。 RSA(3072位)PKCS#1和SHA-256
无论使用多长时间,RSA都可以作为签名算法得到各种硬件或软件的良好支持。例如,旧版HSM和过时的操作系统将支持此功能。 RSA使用的密钥比ECDSA大,因此建议仅将其包括在内,因为其具有向后兼容特性,并且仅用于传统约束或政府法规禁止使用更现代方法的情况。
5。 SPHINCS-256和SHA-512(实验性)
SPHINCS-256是仅依赖哈希函数的量子后安全算法。它被用来对付恶意攻击者将来获得能够运行Shor算法的量子计算机的可能性。 SPHINCS最终基于对Merkle哈希树的巧妙使用。哈希函数是密码学领域中经过深入研究和充分理解的领域。因此,假设对基础数学问题进行突破性攻击的机会要低得多。但是,与EdDSA,ECDSA和RSA算法相比,SPHINCS使用相对较大的公钥,速度较慢,并且输出的签名更大。