由浅及深了解区块链之:(3)非对称性RSA公钥私钥加密原理

承接上文,这一小节的内容主要是对非对称性公钥私钥进行数学原理上的解释
1:首先弄清楚什么是对称性加密,什么是非对称性加密 非对称性加密就是我们上文所讲的公钥私钥加密解密过程,而对称性加密过程只会生成一把密钥,这把密钥担负着对信息加密和解密的重任。一般来说非对称性加密安全系数更高,因为对称性加密在传送密钥中,一旦这把密钥泄露,整条信息链将会变得完全透明化。
2:生成公私钥的RSA算法原理阐述
首先我们看下如何生成公钥私钥

第一步,取两个互质的整数 p,q(就是两个数除了一个公共因子1外就没有其他的公共因子了)
在这里我取p=3,q=5

第二步 取s作为p和q的乘积
所以 s=p*q=15 

取s1作为(p-1)和(q-1)的乘积
所以s1=2*4=8  (这个s1就是公钥和私钥的组成成分之一)

接下来在区间(1,s1)之间取一个与s1互质的整数e
这里我取e为3 (这个e就是公钥的组成成分之一)

根据公式(e*d)mod(s1)=1 求出d的值
3*d mod 8=1 解的到d可取3.(这个d就是私钥的组成成分)

所以我们就解得了
公钥(s,e)=(15,3)
私钥(s,d)=(15,3)

接下来我们一起来看看对文件信息进行加密解密的过程:注意,文件中的信息都可以用数字信息表示(其中的ASCLL码可以转换为相应的整数)

加密过程:
对数字m用公钥(s,e)进行加密得到密文t:   (s,e)=(15,3),为简单起见设m=7
m^e mod s =t 
所以7^3 % 15=13 ==》t=13

解密过程:
对密文t用私钥(s,d)进行解密得解密文m'
t^d mod s=m'
13^3 % 15=7 
所以m'=m=7,加密后的密文可以被顺利解密

最后我们来看一下知道公钥或者私钥是否可以破解另一把钥匙呢

首先列举上面我们已经提到过的参数
质数 p,q
两质数乘积 s (s=p*q)
中间数s1 (s1=(p-1)*(q-1));
公钥的组成成分e    私钥的组成成分d

现在我们罗列下相应的数学关系式
s=p*q  (p,q两个数互为质数)
s1=(p-1)*(q-1)
e*d %s1=1 (1<e<s1且与s1互为质数)

现在已经知道公钥(s,e),看看能否得到私钥成分d
要求到d,必须要求到s的两个质数q,p。

但是q和p这两个质数能够从s中分解出来吗,事实上,数值小的s能
被分解,随着数值s越来越大,分解成两个质数的难度也越来越大,
理论上以现阶段的的计算能力,RSA算法被破解的可能性为0.

例如s=1347318956317465198736981346571346759136498561347
341876534865239745634629384658293765293402340523485632
324593465938746598340234752384750923847523845723084572
613946237965139846136236473649182736481329613769238761
1236498134751305713752937513075283753104570381571232……
然后如何将其分解为一对互质的p和q呢?

所以,看到这里是不是认为我们现在的非对称性加密技术是安全
可信赖的呢。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值