RSA初步了解
一、首先认识rsa是一种非对称加密算法。
对称加密:加密解密使用同一个密钥,加密者接受信息采用密钥加密,而到破译者手中还是使用这份密钥。这种方式的优点是加密效率高、加解密速度快,但是缺点是密钥需要共享,如果密钥被泄漏,则加密无效。
非对称加密:加密解密使用不同的密钥,加密使用的是公钥,解密使用的是私钥,因为公钥可以公开,所以只有私钥知道的加密信息能够被解密,这种方式的优点是安全性高,缺点是相对于对称加密而言,加密速度较慢。
二、RSA所需元素
一对质数p,q
公共模数N = p * q
欧拉函数φ(N) = (p-1) * (q-1) = L
公钥e条件:
1 < e < L
gcd(e,L) = 1
私钥d条件:
1 < d < L
(e * d) mod L = 1
gcd(a,b):取a和b的最大公约数
mod:取余运算。 例:10 mod 3 = 1(也可写成(e * d) % L = 1)
三、加解密过程
四、已知e求d及m明文方法(一般是由e推出d)
求私钥和明文一般利用python