经过他的分析,破解一个228位的 RSA 密钥需要的能量少于煮沸一汤勺水的能量。而破解一个228位的椭圆曲线密钥需要足够煮沸地球上所有水的能量。 RSA 要达到一个安全的水平,需要一个至少2380位的密钥。此外RSA 算法还有一个缺点就是随着密钥长度的增加,其安全性的增益是减少的。这意味着我们无法通过不断增加密钥长度来获得更高的安全性。 2)性能对比: 另一方面,atv,使用椭圆曲线签名算法(ECDSA)做签名的性能也比 RSA 签名算法高很多。根据某些研究结果,在获得相同的安全性时,前者要比后者快20多倍。 椭圆曲线加密算法能够以更短的密钥获取与其他加密算法相同的安全性及更快的运算速度,所以 ECC 正在快速成为网络隐私和安全的首选解决方案。比特币等数字货币系统也纷纷使用 ECC 作为其安全性的基石。 区块链中的应用 下面我们简单说说椭圆曲线密码学在比特币中的用法。 在比特币中,用户生成一个随机整数 k (256位二进制数)作为其账户私钥,而用对应的公钥 K(K=kG) 的哈希值作为其账户的比特币地址。 (私钥与地址的关系) 用户需要使用其账户比特币地址上的货币时,只需要提供一个用其私钥对地址金额等信息计算出的签名和对应的公钥。其他比特币用户就可以在只知道该用户公钥的情况,验证该签名是否有效,从而判断该用户是否真正拥有该地址上的货币。 攻击者因为无法通过其公钥或比特币地址来推算出私钥,也就无法伪造出一个有效的签名来盗用其账户上的货币。 另:在生成私钥 k 的过程中,确保 k 是真正随机生成的非常重要。曾经有些厂商的随机数生成算法因为有漏洞或者故意留有后门,造成了巨大的安全隐患。 本文作者:肖诗源(点融黑帮),现就职于点融网工程部区块链团队。华中科技大学博士毕业,在美国国家标准与技术研究院(NIST)做过短期访问学者,后在爱立信工作10年,获批8项专利。喜欢旅游和科幻电影。 (责任编辑:本港台直播) |