ECC 构筑安全可靠的区块链 (2)

我们会给一些常用的使用特定参数的椭圆曲线取一个名字。比如:美国国家标准与技术研究院(NIST)和美国国家安全局(NSA)推荐过的 secp256r1、secp521r1 等椭圆曲线(有些开源社区怀疑这些曲线中参数有可能被精心选取,导致曲线加密性能弱化),中国国家密码局认定的 SM2 国产密码算法。

比特币和以太坊使用的椭圆曲线是 secp256k1。该曲线的参数非常简单(人们相信不是为了设计一条弱曲线而被精心构造的):

ECC 构筑安全可靠的区块链

( secp256k1 的 a、b 以及基点 G)

与传统的 RSA 算法相比,严格选定参数的 ECC 有更强的安全性,不易被攻击。

1)破解相同位数密钥所需能量:

有科学家通过计算攻破一个密码学算法需要多少能量并把它与水沸腾需要多少能量对比来衡量一个加密算法的安全性。

经过他的分析,破解一个228位的 RSA 密钥需要的能量少于煮沸一汤勺水的能量。而破解一个228位的椭圆曲线密钥需要足够煮沸地球上所有水的能量。

ECC 构筑安全可靠的区块链

RSA 要达到一个安全的水平,需要一个至少2380位的密钥。此外 RSA 算法还有一个缺点就是随着密钥长度的增加,其安全性的增益是减少的。这意味着我们无法通过不断增加密钥长度来获得更高的安全性。

2)性能对比:

另一方面,使用椭圆曲线签名算法(ECDSA)做签名的性能也比 RSA 签名算法高很多。根据某些研究结果,在获得相同的安全性时,前者要比后者快20多倍。

椭圆曲线加密算法能够以更短的密钥获取与其他加密算法相同的安全性及更快的运算速度,所以 ECC 正在快速成为网络隐私和安全的首选解决方案。比特币等数字货币系统也纷纷使用 ECC 作为其安全性的基石。

下面我们简单说说椭圆曲线密码学在比特币中的用法。

ECC 构筑安全可靠的区块链

 

另:在生成私钥 k 的过程中,确保 k 是真正随机生成的非常重要。曾经有些厂商的随机数生成算法因为有漏洞或者故意留有后门,造成了巨大的安全隐患。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgzjxg.html