现代密码学学到的RSA(2)

接上一篇,也是网易公开课学到的。

**

RSA加密

**

①Bob有一个数m(m需要被加密)
②计算机me,(e为一个随机公开的数)
③me mod N = c (N为随机数)(c是密文)

如果提供c、N、e求m:(解密)
cd mod N = m
me*d mod N =m

**
**

*N的加密:N是随机的但也有加密

**

①Alice随机一个超150位的质数P1
②随机生成一个P1的位数,相当于第二个质数P2
P1、P2均要为质数
③合数N=P1*P2(超过300位)
④将P1、P2隐藏起来,将N告诉所有人

因此要解密N的话,关键就要分解N,获得P1和P2
①引入一个欧拉函数f(n)=f(P1)*f(P2)(因为P1和P2都是质数)

**
**

**再回到me*d mod N =m,要解密知道了N,接下来就要知道d:

**

引入欧拉定理:mf(n) = 1 mod n
∵1k = 1
∴mk*f(n) = 1 mod n
∵1 * m = m
∴(m * m)k*f(n) = m mod n
综上,mk*f(n)+1 = m mod n

所以med mod N =m中的 ed = k f(n)+1
d = (k*f(n)+1)/e

**

k值存在的意义:

调整d为整数,即【(f(n)*k) + 1】 % e == 0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值