RSA算法

建立一个RSA密码体制的过程如下:

  1.用户选择一对不同的大素数p,q,将其保密。

  2.令n=p*q,用户公布n(素数乘以素数还是素数).欧拉函数Ψ(n) = (p-1)*(q-1),保密。

  3.选区正整数d,使其满足gcd(d,Ψ(n)) = 1,将d保密。

  4.根据ed≡1modΨ(n),计算e并将其公布。

  则公开钥k1 = (n,e)

    私钥k2 = (p,q,d)

下面看两道例题来加深理解

  问题一:在RSA环境中,某用户的公钥是e=31,n=3599.改用户的私钥是什么?

  问题二:假设p=5,q=11,e=3,M=9,应用RSA算法对其实现加密和解密。 

    解答如下:

        (一) 公钥e=31,n=3599

     N=3599=59X61 Ф(N)=58*60=3480

     ed=1 mod Ф(N) 0≤d≤3599

     ∴d=3031 ∴私钥KR={3031,59,61}

           (二)n=p*q=5*11=55,设m=(q-1)*(p-1)=40

       求d,ed=1 mod m 所以d=27 3

     加密:Y=M^e mod n= 9^3 mod 55=41 4

     解密:X=Y^d mod n= 41^27 mod 55=         

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值