rsa算法简单例子

1.选择一对素数 p 和 q

2.n = p * q

3.f(n) = (p -1) * (q - 1)

4.找一个与f(n)互质的数加密秘钥e,且1<e<f(n)

5.计算解密秘钥d,d * e ≡ 1 mod f(n), ≡为互余符号,符号左边必须和符号右边同余,也就是两边模运算结果相同,即(d * e) mod f(n) = 1 mod f(n) = 1,     (d * e) mod f(n) = 1,      d*e = k*(f(n) + 1)

6.公钥(e, n),私钥(d, n)

7.设明文m,明文加密,密文c = m^e mod n

8.密文解密,明文m = c^d mod n

假设需要加密的明文信息为m=14,选择:e=3,p=5,q=11,试说明使用RSA算法的加密和解密过程及结果?

n=p*q=55

φ(n)=(p-1)*(q-1)=4*10=40

根据e*d≡1 mod φ(n)

  又3*d mod 40=1

  得出d=27

公钥(n,e)=(55,3)

得到密文c=m^e mod 55=14^3 mod 55=49

私钥(n,d)=(55,27)

得到明文m=c^d mod 55=49^27 mod 55=14

来源:https://www.jianshu.com/p/83d1bf4e7da8

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值