RSA算法总结

RSA算法逻辑

1 选择一对不同的、足够大的素数p,q。
2 计算n=pq。
3 计算f(n)=(p-1)(q-1)
4 找一个与f(n)互质的数e,且1<e<f(n)。
5 计算d,使得de≡1 mod f(n)。这个公式也可以表达为d ≡ e^{\smash{-1}} mod f(n)
6 公钥KU=(e,n),私钥KR=(d,n)。
7 加密时,先将明文变换成0至n-1的一个整数M。若明文较长,可先分割成适当的组,然后再进行交换。设密文为C,则加密过程为:C \equiv M^e \pmod n
8 解密过程为:M \equiv C^d \pmod n

RSA 参数的选择

安全性方面需注意参数的选取:(建议参考:《应用密码学》2017版 P156-P157)
    1、不同的用户不能用相同的模数 n,即一个模数只能一个人用
    2、p 和 q 的差值要大,一般相差几个 bit ,比如:n 为 1024 bit 时,p 取 508 bit ,q 取

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值