1.RSA密钥生成算法
密钥生成算法为用户生成加解密算法中使用的公私密钥对,分为以下几个步骤:
(1)选取两个安全大素数p和q(“大”指其长度要足够,目前推荐长度至少1024比特长);
(2)计算乘积n=p*q,(n)=(p-1)(q-1),其中(n)为n的欧拉函数;
(3)随机选取整数e(1<e<(n))作为公钥,要求满足gcd(e,(n))=1,即e与(n)互素;
(4)用Euclid扩展算法计算私钥d,以满足d*e≡1(mod(n)),即d≡ (mod(n)),则e和n是公钥,d是私钥;
注意,加解密算法中两个素数p和q不再需要,可销毁但绝不能泄露。
例如:假设p=13,q=17;
计算 n=p*q=13*17=221,则(n)=(p-1)(q-1)=(13-1)*(17-1)=192.
选取公钥e=11(一般为素数),满足1<e<(n),且满足gcd(e,(n))=1.通过Euclid扩展算法求得满足公式d*e≡1(mod192)的d=35.
所以,得到公钥(e,n)为(11,221),私钥d为35.
2.RSA加密算法
1)加密过程文章来源:https://www.toymoban.com/news/detail-449983.html
加密时首先将明文比特串分组,使得每一个分组对应的十进制数小于n,即分组长度小于文章来源地址https://www.toymoban.com/news/detail-449983.html
到了这里,关于RSA公钥加密体制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!