关于RSA加密算法的介绍

陷门单向函数

在这里插入图片描述


RSA流程

a.示例1

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


b.示例2

rsa加解密公式
设A为明文,B为加密后的密文
加密过程 B=AemodnB=A^e mod nB=Aemodn
解密过程 A=BdmodnA=B^d mod nA=Bdmodn

从公式上可以看出,加解密时数据会modnmod nmodn,那么大于N的数据,都会发生回绕,失去原有属性。

举例
1)生成密钥对
a)选两个素数,为P和QP和QPQ
P=13,Q=7P = 13, Q = 7P=13,Q=7
N=p×q=91N = p\times q = 91N=p×q=91

b)选择E,要求eee 和$ ( p - 1 ) * ( q - 1 )$互质
(p−1)∗(q−1)=12∗6=72(p-1)*(q-1) = 12 * 6 = 72(p1)(q1)=126=72,选择E=7E = 7E=7则可以。
现在$ N = 91, E = 7$

c)选择D,要求(d∗e)mod(p−1)∗(q−1)=1(d*e) mod (p-1)*(q-1) = 1(de)mod(p1)(q1)=1
(p−1)∗(q−1)(p-1)*(q-1)(p1)(q1)的值是72,所以
(d∗e)mod72=1( d * e ) mod 72 = 1(de)mod72=1(d∗e)( d * e )(de)可以是73,145,21773, 145, 21773,145,217
d∗e=217d * e = 217de=217,则d=31d = 31d=31
2)n-d格式加解密过程
a)设A为明文,B为密文,
加密过程 B=AemodnB=A^e mod nB=Aemodn
解密过程 A=BdmodnA=B^d mod nA=Bdmodn
b)加密
设$a = 2 $则 ae=27=128,mod91=37a ^ e = 2 ^ 7 = 128, mod 91 = 37ae=27=128,mod91=37,则 37为密文
b = 37
c)解密
bd=3731=4.1138973036067710421568685993113e+48,mod91=2b ^ d = 37 ^ 31 = 4.1138973036067710421568685993113e+48, mod 91 = 2bd=3731=4.1138973036067710421568685993113e+48,mod91=2
解密结果等于明文,加解密成功
d)若明文 大于 n,假设 a等于93
ae=937=60170087060757,mod91=37a ^ e = 93 ^ 7 = 60170087060757, mod 91 = 37ae=937=60170087060757,mod91=37,则密文还是37
对37进行解密,得到的明文是2,与原始输入数据不一致
所以明文 不能 大于 NNN


https://www.zhihu.com/question/312961692/answer/627480245

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐