区块链中的数学(四)

这篇文章主要介绍了区块链中的数学(四) ,文中通过代码以及文档配合进行讲解,很详细,它对在座的每个人的研究和工作具有很经典的参考价值。 如果需要,让我们与区块链资料网一起学习。

https://www.interchains.cc/21824.html

区块链中的数学(四)是很好的区块链资料,他说明了区块链当中的经典原理,可以给我们提供资料,区块链中的数学(四)学习起来其实是很简单的,

不多的几个较为抽象的概念也很容易理解,之所以很多人感觉区块链中的数学(四)比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难

区块链blockchain中的数学(四)

上一节我们介绍了群论的概念和椭圆曲线在实数域上点坐标满足Abel群的加法运算,但是实数域上加法运算不能满足实际安全需要,因为实数是连续的,知道结果就可以使用逆运算求解。

写在前面

上一节我们介绍了群论的概念和椭圆曲线在实数域上点坐标满足Abel群的加法运算,但是实数域上加法运算不能满足实际安全需要,因为实数是连续的,知道结果就可以使用逆运算求解。

我们或许已经知道椭圆曲线的安全是基于离散对数求解的困难性。本节要介绍的就是如何让椭圆曲线点的坐标离散化。

模素数P运算

模运算 a mod p:表示a除以p的余数。

密码学采用有限域上的椭圆曲线,即椭圆方程系数和变量取值均在一个有限的范围内,使用模素数𝑝的有限域𝑍p,将模运算引入到椭圆曲线算术中,变量和系数从集合[0,𝑝−1]中取值而非是在实数上取值。这个域上的方程得到如下改造: mod p =(+ax+b) mod p 判别式(4+ 27) mpd p !=0 满足上式所有正整数解和无穷远点O,数学符号记为, 这是一个有限的离散(非连续)的点集。由此可知集合中的点分布在(0,0)到(𝑝−1,𝑝−1)的象限中。实际上,集合𝐸𝑝(𝑎,𝑏)与模𝑝的加法运算构成循环阿贝尔群。 如果素数p选择的比较小,可以通过暴力求解方法,求出中所有的点。 举例说明,对于p=23, a=1,b=3, 共有27个点如下: (0,7) (6,15) (15,9) (0,16) (7,10) (15,14) (2,6) (7,13) (19,2) (2,17) (10,1) (19,21) (4,5) (10,22) (21,4) (4,18) (12,8) (21,19) (5,8) (12,15) (22,1) (5,15) (14,1) (22,22) (6,8) (14,22) O 最后一个是O点。这些点在坐标系中就是离散的一组点,大家可以自行画一下,增加感官认识。可以验证满足方程: mod 23 =(+x+3) mod 23

离散域模素数上的加法

𝐸𝑝(𝑎,𝑏)上的加法规则和实数域上的加法基本一致,但是多加了模运算。模𝑝的加法没有直观上的几何解释,只有代数描述。 求解(,)的代数表达式为: =(−−) mod p =(−+𝑘(−)) mod p 可以看出求解过程沿用上一节说的实数域上的求解方法,只是最后都mod p. 上式中: k=() mod p (当p!=q) k=(() mod p (当p==q)

例如𝑎=1,𝑏=1,𝑝=23,𝑃(3,10),𝑄(13,16),求𝑅=𝑃+𝑄. 此时𝑃≠𝑄,计算: k=() mod p=(16−10/13−3) mod 23=6× mod 23.

要计算上式首先要计算 mod 23.

令𝑥≡(mod23) [注:≡ 符号表示模等于,等价于𝑥 mod 23=(mod23),下同],由于10≡10(mod23),所以10𝑥≡1(mod23), 利用扩展欧几里德算法(参考历史文章)求得𝑥=7.

k=6×7mod23=19 所以=(−−) mod p = ( – 3−13) mod23 = 345 mod 23=0 =(−+𝑘(−)) mod p = (19×(3−0)−10) mod 23=47 mod 23 = 1

所以𝑅=(0,1).

还可以按照以上规则计算2𝑃,3𝑃等等倍乘点。

椭圆曲线中的离散对数问题

有了以上知识点,现在可以引出椭圆曲线中的离散对数问题了。 构造一个数学难题来保证加密的安全性是密码学中加密算法的主要思想。类似RSA算法(后续会有文章专门描述)中大数的质因子分解难题一样,椭圆曲线也提供了类似的数学难题。

考虑𝑄=𝑘𝑃,其中𝑄,𝑃∈𝐸𝑝(𝑎,𝑏),𝑘<𝑝。

对于给定的𝑘,𝑝计算𝑄是很容易的;反过来给定𝑄,𝑃,计算𝑘是相当困难的,这就是椭圆曲线的离散对数问题(这里之所以称之为离散对数问题大概是为了与其他加密算法的说法保持一致,便于理解)。

因此,可以将𝑄作为公钥,公开出去;𝑘作为私钥,秘密保管,通过公钥来破解私钥十分困难。

目前由椭圆曲线公钥求解私钥的最有效算法复杂度为𝑂(),其中𝑝是阶数𝑛(群论中的阶数指群中元素的个数)的最大素因子。

本文例子中,选取的p比较小,实际用的p是个非常大的整数,比如256位或者更大,这样大的数靠暴力运算不可行的。好了,到这里,椭圆曲线加密算法为什么采用离散域,为什么引入模运算以及安全性原理都清楚了。下一节将介绍具体的加密过程。

欢迎持续关注,疑问请留言!

部分转自网络,侵权联系删除www.interchains.cchttps://www.interchains.cc/21824.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 区块链中的数学(四)

提供最优质的资源集合

立即查看 了解详情