2020-11-14

学习小结

2、 已知RSA算法中,素数p=5,q=7,模数n=35,公钥e=5,明文为bed,对明文进行加解密,使用手工完成RSA公开秘钥密码体制算法加密运算。字母数字映射表如下:
在这里插入图片描述
可以参考, https://www.cnblogs.com/jiftle/p/7903762.html
但并不保证网页内容完全正确,请自行判断
令p=5,q=7,得出n=p×q=5×7=35;f(n)=(p-1)(q-1)=4×6=24;取e=5,(5与24互质)则e×d≡1 mod f(n),即5×d≡1 mod 24。
d怎样取值呢?可以用试算的办法来寻找。试算结果见下表:

d E×d=5×d (e×d)mod(p-1)(q-1)=(5×d)mod24
1 5 5
2 10 10
3 15 15
4 20 20
5 25 1
6 30 6
通过试算我们找到,当d=5时,e×d≡1 mod f(n)同余等式成立。因此,可令d=5。从而我们可以设计出一对公私密钥,加密密钥(公钥)为:KU =(e,n)=(5,35解密密钥(私钥)为:KR =(d,n)=(5,35)
2)英文数字化。
将明文信息数字化,并将每块两个数字分组。假定明文英文字母编码表为按字母顺序排列数值,即:
在这里插入图片描述
则得到分组后的bed的明文信息为:02,05,04

(3)明文加密
用户加密密钥(5,35) 将数字化明文分组信息加密成密文。由C≡Me(mod n)得:
C1={M1}e{mod n}=025{mod 35}=32
C2={M2}e{mod n}=055{mod 35}=10
C3={M3}e{mod n}=045{mod 35}=9
因此,得到相应的密文信息为:32,10,9
(4)密文解密。
用户B收到密文,若将其解密,只需要计算 ,即:
M1={C1}e{mod n}=325{mod 35}=02
M2={C2}e{mod n}=105{mod 35}=05
M3={C3}e{mod n}=95{mod 35}=04
用户B得到明文信息为:02,05,04。根据上面的编码表将其转换为英文,我们又得到了恢复后的原文“bed”。
你看,它的原理就可以这么简单地解释!
当然,实际运用要比这复杂得多,由于RSA算法的公钥私钥的长度(模长度)要到1024位甚至2048位才能保证安全,因此,p、q、e的选取、公钥私钥的生成,加密解密模指数运算都有一定的计算程序,需要仰仗计算机高速完成。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值