基于区块链椭圆曲线密码学ECC的研究

区块链

580人已加入

描述

2019年3月22日,第十一期北大软微-八分量协同实验室学术沙龙活动如期展开。沙龙上围绕椭圆曲线的讨论共分为三个阶段,首先介绍了椭圆曲线,之后重点围绕椭圆曲线数字签名算法(ECDSA)做出了分析,并在最后分享了一下相关技术最新的进展和最受外界关注的领域。

椭圆曲线密码学(ECC),是一种基于椭圆曲线数学诞生的非对称秘钥加密的算法。在探究ECC之前,我们有必要回顾一下椭圆曲线数学。

我们定义平行线相交于无穷远点P∞,使平面上所有直线都统一为有唯一的交点,而区别于无穷远点的原来平面上的点为平常点。通过无穷远点和平常点我们可以引入射影平面的概念。

射影平面:平面上全体无穷远点与全体平常点构成射影平面。

而椭圆曲线,指的就是在射影平面上满足威尔斯特拉斯方程(Weierstrass)所有点的集合,且曲线上所有点都是非奇异的。

椭圆曲线密码

所谓非奇异,指的是曲线上任意一点的偏导数不能同时为0。

明白了椭圆曲线的由来,我们再来看椭圆曲线在密码学上应用的方案。首先面对的问题就是椭圆曲线是连续的,并不适合用于加密。因此,椭圆曲线密码学的第一要务就是把椭圆曲线定义在有限域上,(有限域Fp ,p为素数),并提出一条适于加密的曲线:y2=x3+ax+b (modp)。

椭圆曲线密码

相比起在商业中被广泛采用的RSA加密算法,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高级别的安全。通过下图我们清楚的发现,160位ECC加密安全性相当于1024位RSA加密,而210位ECC加密安全性甚至相当于2048位RSA加密。

椭圆曲线密码

众所周知,比特币中的公私钥生成以及签名算法ECDSA都是基于椭圆曲线加密算法而诞生的。ECDSA算法可以说是应用最广泛的椭圆曲线签名算法,从比特币开始,并且已经被其它区块链项目所广泛使用。在区块链中使用的公钥生成算法是SECP256K1。

其中以太坊和比特币的在ECDSA中的区别在于二者使用的哈希算法不同,在比特币中使用的是SHA2-256,在以太坊中使用的是SHA3-256,同样字节数的SHA3比SHA2更安全。

此外,沙龙还重点分析Schnorr签名算法。与ECDSA相比,Schnorr具备明显的优势,如安全证明和不可延展性的保证。更重要的是,Schnorr最大的好处是线性特征,签名的私钥可以拆分,而ECDSA没有这个特点。鉴于Schnorr支持门限签名,显然Schnorr更具优势。

最后,大家简要了解了一些近年来对相关技术算法的一些论文,最受关注的是门限签名方案的密码协议,仅2019年就有多篇相关论文的发表。在最后,沈晴霓教授和Trias资深系统研发胡志琳博士就此后的沙龙主题做出了安排,下一期沙龙将会对国内外一些比较有创新价值的学术论文进行分析,并对技术的可行性和便利性作出讨论。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分