一、什么是RSA加密

RSA加密是一种非对称加密算法

对称加密:

对称加密是一种加密方式,加密和解密使用同一个密钥,被加密的信息在传输前用预先协商好的密钥进行加密,接收方再用同样的密钥进行解密。这种方式的优点是加密效率高、加解密速度快,但是缺点是密钥需要事先共享,如果密钥被泄漏,则加密无效。

常见的对称加密算法包括DES、3DES、AES等。

非对称加密:

非对称加密是一种加密方式,加密和解密使用不同的密钥。发送方使用公钥进行加密,接收方使用私钥进行解密。因为公钥可以公开,所以只有私钥知道的加密信息能够被解密,这种方式的优点是安全性高,缺点是相对于对称加密而言,加密速度较慢

二、RSA加密原理

是不是有点懵,没关系,接下来让我为你展示更加详细的加密过程

1.选择一对不相等且足够大的质数,我们将它描述为p和q。

2.计算p,q乘积  n=p*q

3.计算n的欧拉函数 

φ(n)=(p1)(q1)

特别解释

欧拉函数:欧拉函数是小于n的正整数中与n互质的数的数目。例如,与6互质且小于6的正整数有两个,分别是1和5,则φ ( 6 ) = 2 。如果n为质数,那么φ ( n ) = n − 1 ,因为质数在大于1的自然数中,除了1和它本身以外不会再有其他因数的自然数。

4.选择一个与φ ( n ) 互质的整数e

1<e<φ ( n ) 

5.计算出e对于φ ( n ) 的模反元素d

de mod φ ( n )  =1

此时,公钥私钥都已得到

6.加密

假设明文为M,密文为C,则加密过程为  M^e mod n =C

7.解密

C^dmodn=M