密码学——RSA加密算法
2023-03-30 16:58 作者:Vector永远的神 | 我要投稿
RSA加密算法是一个很典型的非对称加密算法,发送方和接收方有私钥和公钥进行保存。
算法的理论基础就是利用了当前数学上的公理,大数的质因数分解是十分困难的,即使现在最顶尖的计算机也无法做到快速的实现,但是可以很快速的进行大数乘积运算。
具体过程:
首先选择两个质数 P 和 Q
然后计算算法的取余数N = P * Q
利用欧拉函数计算得到T = (P-1)*(Q-1)
选择公钥E 注意是选择而不是计算,在范围内会有多个符合条件的值,选择其一即可,首先得是质数,然后得满足 1 < 公钥 E < T ,最后要求E不能是T的因子。
根据选择的公钥E 计算私钥D 满足(D*E)% T = 1
在实际的加密解密过程中 算法使用
明文 ^ E % N = 密文
密文 ^ D % N = 明文
在运算过程中 ,公钥E和取余数N都是公开的 ,关键是私钥D不能被获悉