在非对称加密算法RSA中,假设"大"素数p=5.q=11,试给出一对公钥和私钥,给出计算过程
两个素数为5,11,那么
计算n=5*11=55.(RSA的高明之处,大数的分解是计算机的死敌!)
计算欧拉函数:E(n)=(5-1)*(11-1)=4*10=40.
随机选取一个数作为公钥e=3(小于E(n)并且与E(n)互质).
求出密钥d,因为ed ≡ 1modE(n)(d<E(n)),求得d=27.(RSA的高明之处,因为通常选取的两个大素数会很大,符合d的数会很多,又给破解者带来不确定。)
加密过程,给出明文M=20,加密之后是20^3=8000≡25mod55.密文为25.
解密过程,密文为25,25^27≡20mod55.显然是正确的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。