2016 - 2024

感恩一路有你

公钥加密私钥解密过程 RSA算法的具体过程?

浏览量:1513 时间:2021-03-11 18:52:43 作者:admin

RSA算法的具体过程?

RSA算法非常简单,概括如下:求两个素数P和Q,取n=P*Q,取t=(P-1)*(Q-1),取任意数e,这就要求e<T和e、t互为素数(即最大公因数为1),取d*e%t==1,最后得到三个数:n d e,将消息设为数字m(m<N),设C=(m**d)%N,得到加密报文C,设m=(C**e)%N,则m==m,从而完成C的解密。注:**表示幂,上述两个公式中的d和e可以互换。在对称加密中:两个数字组成一个公钥,可以告诉其他人;两个数字组成一个私钥,由e保管,没有人知道。发送给他人的信息是用E加密的,只要别人能用d来解密,就证明信息是你发送的,这就构成了一种签名机制。当有人给你发信息时,使用d加密,这样只有你有e才能解密。RSA的安全性在于,对于大数n,没有有效的分解方法,因此当nd已知时不能得到e;同样地,当ne已知时也不能得到d。RSA算法简单而优雅,但计算速度相对较慢。一般情况下,RSA并不是直接用于加密所有的信息。最常见的情况是随机生成一个对称加密密钥,然后使用对称加密算法对信息进行加密,然后使用RSA对刚才的加密密钥进行加密。最后,应该注意的是,小于1024位的当前n被证明是不安全的。在自己使用时,不要使用小于1024位的RSA,最好使用2048位。

简述RSA算法中密钥的产生,数据加密和解密的过程,并简单说明RSA算法安全性的原理?

RSA方法的工作原理如下:

1)任意选择两个不同的大素数P和Q,计算乘积R=P*Q;

2)任意选择一个大整数e,e与(P-1)*(Q-1)互质,整数e作为加密密钥。

注意:E的选择很容易。例如,所有大于P和Q的素数都可用。

3)确定解密密钥D:D*e=1 mod(P-1)*(Q-1)D可以很容易地从e、P和Q计算出来。

4)5)通过C=PE mod R(e是幂)将明文P(假设P是小于R的整数)加密到密文C

6)通过P=CD mod R(D是幂)将密文C解密到明文P。然而,仅仅用R和E(而不是p和Q)来计算d是不可能的。因此,任何人都可以加密明文,但只有授权用户(谁知道d)可以解密密文。示例:选择P=3,q=5,分别计算D和e?假设明文是一个整数13,请给出密文数。解:如果P=3,q=5,则r=15,(P-1)*(q-1)=8。选择e=11(质数大于P和Q),用d*11=1 mod 8计算d=3。假设明文是一个整数13。则密文C为(E为幂)C=PE mod r=1792160394037 mod 15=7,恢复的明文P为(D为幂)P=CD mod r=343 mod 15=13

公钥加密私钥解密过程 RSA加密解密算法 rsa加解密算法证明

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。