1.大数质因子分解难题
RSA加密算法采用了大数质因子分解的难题,从而可以防止泄密。大数质因子分解是指,给你一个很大的数(几千位的数甚至更大),需要你将这个数分解成两个质数的乘积。
我们很容易可以把两个质数的乘积乘积得到大数,但是从大数分解出来两个质数的乘积却很困难。
比如:
上图中给你一个大数,你很难将它分解成两个质数的乘积。
2.RSA算法是非对称加密算法
非对称加密算法
是指加密和解密过程用的是不同的密钥,加密用公钥,解密用私钥。
对称加密算法
是指加密和解密过程用的是相同的密钥。
3.RSA加密解密过程图解
A需要发送文件给B,则可以分为5个过程:
(1)B用某种方式合成一组公钥和私钥(公钥类似于大数,私钥类似于大数的质因子)
(2)B将公钥发送给A
(3)A用公钥对文件进行加密
(4)A将加密之后的文件发送给B
(5)B用私钥对加密文件进行解密,得到原文件。
在该过程中,窃密者只能得到公钥和加密之后的文件,由于窃密者很难从公钥分解出私钥,所以窃密者也很难得到原文件。