RSA算法计算d的两种方法。

无限制阅读方法:

微信搜一搜公众号:张家的小伙子

回复关键字: 12530

例题:

假设p=5,q=7,e=5,m=2.计算d,公钥,私钥。

方法一:

解:

n=p*q=5*7=35

Φ(n)=(p-1)*(q-1)=4*6=24

由公式:e d mod Φ(n)=== 1   

带入数字得:5 d mod 24 ===1

把上诉公式看成:5x+24y = 1

拆分:

24 = 5*4+4

5 = 4*1+1

4 = 24 - 5*4*1

1 = 5 - (24-5*4)*1 = 5-24+5*4 = 5*4+5-24=5(4+1)-24 = 5*5-24

5*5-24=1 与 5x+24y = 1 格式相等。则 x=d=5

公钥(n,e)=(35,5)    私钥(n,d)=(35,5) 

方法二:

公式:Φ(n) * k  + 1 =ed      k:为系数,且从1开始,例如:(1,2,3,4,5........)

公式推出:(Φ(n) * k  + 1 )/ e = d

假设k=1时:

24*k+1/ 5 = d  

d = 5

若 k=1 时除不尽的话那就将 k =2 带入计算,还是不行则取 k =3,依次类推。直到(Φ(n) * k  + 1 )/ e = d 能除尽没有余数为止

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小张帅三代

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

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

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

打赏作者

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

抵扣说明:

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

余额充值