# 加密算法

# 是否了解公钥加密和私钥加密

  • 一般情况下是指私钥用于对数据进行签名,公钥用于对签名进行验证;
  • HTTP 网站在浏览器端用公钥加密敏感数据,然后在服务器端再用私钥解密

# 1. 对称加密

对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。

其加密过程如下:明文 + 加密算法 + 私钥 => 密文
解密过程如下:密文 + 解密算法 + 私钥 => 明文

对称加密中用到的密钥叫做私钥,私钥表示个人私有的密钥,即该密钥不能被泄露。

其加密过程中的私钥与解密过程中用到的私钥是同一个密钥,这也是称加密之所以称之为“对称”的原因。由于对称加密的算法是公开的,所以一旦私钥被泄露,那么密文就很容易被破解,所以对称加密的缺点是密钥安全管理困难。

  • 优点:运算速度快;
  • 缺点:无法安全地将密钥传输给通信方。

# 2. 非对称加密

非对称加密也叫做公钥加密。非对称加密与对称加密相比,其安全性更好。非对称加密使用一对密钥,即公钥和私钥,且二者成对出现。私钥被自己保存,不能对外泄露。公钥指的是公共的密钥,任何人都可以获得该密钥。用公钥或私钥中的任何一个进行加密,用另一个进行解密。

  • 被公钥加密过的密文只能被私钥解密
  • 被私钥加密过的密文只能被公钥解密

由于加密和解密使用了两个不同的密钥,这就是非对称加密“非对称”的原因。非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

  • 优点:可以更安全地将公开密钥传输给通信发送方;
  • 缺点:运算速度慢。