如果有两个大数a,bab可能是一个计算机无法表示的大数,则(ab)%c的值如何计算
这里可以使用快速幂取模算法。
这里我们选择 61 和53。
加密使用 (323317),解密使用(32332723)。
由六可以看出來为什么公钥能加密却不能解密和私钥的区别其实只是d,也就是说d的推导是否可以在已知ne的情况下推导出来。
由第五步要得出d,已知n,e。需要φ(n)
由第三部,要得出φ(n)需要p,q
而已知n=p*q。而n已知只需要分解n因子即可。
结论:只要n可以被分解公私玥加密即可被破解。
在本例中3233可以很快被破解,但是实际应用中两个大质数的积是不容易被分解出来的
是以下两个质数的乘积:
人類已经分解的最大整数(232个十进制位,768个二进制位)比它更大的因数分解,还没有被报道过因此目前被破解的最长RSA密钥就是768位。而RSA加密一般使用1024位或者2048位基本可以理解为不可破解
推导,m = () %3233 在这里使用 必备知识六中的赽速幂取模,可以轻松得到答案m = 65。
略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略略
注意:RSA加密明文最大长度117字节解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行RSA加密对明文的长度是有限制的,如果加密数据过大会抛出如下
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。
点击添加站长微信