RSA算法,为什么正好B=A^e2modnRSA的算法涉及三-查字典问答网
分类选择

来自唐云岚的问题

  RSA算法,为什么正好B=A^e2modnRSA的算法涉及三个参数,n、e1、e2.其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度.e1和e2是一对相关的值,e1可以任意取,但要求

  RSA算法,为什么正好B=A^e2modn

  RSA的算法涉及三个参数,n、e1、e2.

  其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度.

  e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q-1)互质;再选择e2,要求(e2*e1)mod((p-1)*(q-1))=1.

  (n及e1),(n及e2)就是密钥对.

  RSA加解密的算法完全相同,设A为明文,B为密文,则:

  A=B^e1modn;

  B=A^e2modn;

  e1和e2可以互换使用,即:A=B^e2modn;B=A^e1modn;

  第一个公式好理解A=B^e1modn;但是第二个公式不能理解,

  为什么正好B=A^e2modn

1回答
2020-06-11 14:02
我要回答
请先登录
李红红

  A^e2modn=B^(e1*e2)modn,------1

  因为e1*e2=1mod[(p-1)(q-1)],所以e1*e2=r*[(p-1)(q-1)]+1,为了表达简洁些,把(p-1)(q-1)表示成a,1式就变为B^(a+1)modn-----2

  下面分情况讨论

  当B和n互素的时候,根据欧拉定理(B^a=1modn),显然1式=B

  当B和n不互素的时候,由于n=p*q,B必然能被p或者q整除,假设B=k*p,则B与q互素,再运用欧拉定理,B^(q-1)=1modq,B^[(p-1)(q-1)]=1modq,即B^a=1modq,所以B^a=t*q+1,两边同时乘以B=k*p,得:B^(a+1)=k*t*p*q+1=k*t*n+1,显然B^(a+1)=1modn

2020-06-11 14:06:30

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •