有关于RSA算法的问题.我看到RSA加密算法,“1 任意选取两个不同的大质数p和q,计算乘积r=p*q.2 任意选取一个大整数e,e与(p-1)*(q-1)互质,整数e用做加密密钥.注意:e的选取是很容易的,所有大
来源:学生作业帮助网 编辑:六六作业网 时间:2024/10/04 16:47:58
有关于RSA算法的问题.我看到RSA加密算法,“1 任意选取两个不同的大质数p和q,计算乘积r=p*q.2 任意选取一个大整数e,e与(p-1)*(q-1)互质,整数e用做加密密钥.注意:e的选取是很容易的,所有大
有关于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)根据e、p和q可以容易地计算出d.
4 公开整数r和e,但是不公开d.
5 将明文P(P是一个小于r的整数)加密为密文C,计算方法为C = P^e mod r .
6 将密文C解密为明文P,计算方法为:P = C^d modulo r .
”
我很不理解其中几个含义,一个是步骤3,“d * e = 1 mod(p - 1)*(q - 1”这个式子是怎么计算d的?
另外一个是“C = P^e mod r”和“ P = C^d modulo r”,就是说我不懂这2个式子的含义.是“C=P的e次方的结果,再除以r的余数”嘛?第二个就更不懂了.
有关于RSA算法的问题.我看到RSA加密算法,“1 任意选取两个不同的大质数p和q,计算乘积r=p*q.2 任意选取一个大整数e,e与(p-1)*(q-1)互质,整数e用做加密密钥.注意:e的选取是很容易的,所有大
第一次看公钥的时候也没明白,现在懂了.先解释一下 X = Y mod Z 的含义吧:X = Y+kZ,k是整数.mod Z操作是对等号两边都作用的,不只是对Y作用的.
步骤3算d的方法:
d = (1 + k(p-1)(q-1)) / e , k是整数,使得d也是整数即可.
C=P^e mod r的解释:加密过程.P的e次方除以r的余数为C.
P=C^d mod r的解释:解密过程.把 C=P^e mod r带入此式,用一点数论的知识就能证明其正确性了.建议百度百科RSA,或 http://en.wikipedia.org/wiki/RSA_(algorithm)