密码学RSA计算求密钥d

在RSA密码体制中,取 p=61,q=53,e=17 请找出密钥d。
解:φ(n)=(p-1)(q-1)=60*52=3120
ed mod(φ(n))= 1
17
d mod(3120)= 1
17d-3120k=1
17d-9k=1
8d-9k=1
8d-k=1
令d=1,代入8
d-k=1,得k=7;
将k=7,代入8d-9k=1,得d=8;
将d=8,代入17d-9k=1,得k=15;
将k=15,代入17d-3120k=1,得d=2753
所以,密钥d=2753

解题方法:大的除小的取余

1.最后取余到d=1
就令k =0 再一直往回带
2.或者最后取余到k =1
就令d =1 再一直往回带
再返回带

n=3599=5961
取p=59,q=61
Φn=(p-1)
(q-1)=5860=3480
e
d mod(φn)=1
31d mod(3480)=1
31
d-3480k=1
31
d-8k=1
7
d-8k=1
7
d-k=1
令d=1,代入7d-k=1,得k=6;
将k=6,代入7
d-8k=1,得d=7;
将d=7,代入31
d-8k=1,得k=27;
将k=27,代入31
d-3480*k=1,得d=3031
所以,私钥d=3031

n=21,e=5,m=8
取p=3,q=7
Φn=(p-1)(q-1)=26=12
ed mod(φn)=1
5
d mod(12)=1
得:d=5
c=m^e mod n=8^5 mod 21=8

(1)n=pq=4359=2537
φn=(p-1)(q-1)=4258=2436
ed mod(φn)=1
13
d mod(2436)=1
13d-2436k=1
13d-5k=1
3d-5k=1
3d-2k=1
d-2k=1
令k=0,代入d-2
k=1,得d=1;
将d=1,代入3d-2k=1,得k=1;
将k=1,代入3d-5k=1,得d=2;
将d=2,代入13d-5k=1,得k=5;
将k=5,代入13d-2436k=1,得d=937
所以,私钥d=937
(2)m=public key encryptions
M=152 011 182 104 244 132 172 415 198 141 318
C=m^e mod n=0095 1648 1410 1299 1365 1379 2333 2132 1751 1324

2、取 p=17,q=11,计算出相应的密钥并利用公钥对明文88加密,利用私钥对密文进行解密
n= pq =1711=187
φn=(p-1)(q-1)=1610=160
取e=3
ed mod(φn)=1
3
d mod(160)=1
3d -160k=1
3d-k=1
令d=1,代入3
d-k=1,得k=2
将k=2,代入3d -160k=1,得d=107
所以,私钥d=107
c=m^e mod n = 88^3 mod 187=44
m=c^d mod n = 44^107 mod 187=88

3d - 160k=1

  • 10
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月清风~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值