对称加密
加密方和解密方都使用了相同的密钥,只要保证密钥不会泄露给第三方, 整个通信过程就是安全的。
(对称加密算法流程)
因为对称加密算法整个过程共享同一个密钥,所以使用特点也比较明显。
优点:算法简单,加密速度快;
缺点:安全性低,如果密钥泄露,密文也被中间人拦截,那么信息很容易就会被破解。
在企业生产环境下,常用的对称加密算法有 AES 算法。
非对称加密
在安全性要求更高的场景下,我们需要使用非对称加密,关于非对称加密算法的流程如下:
(非对称加密算法流程)
首先定义两种密钥:一种是公钥(Public Key),给任何需要和接收方通信的客户端保存;另一种是私钥(Private Key),只给接收方自己保存。
对于要发送的原文文本,发送方通过接收方的公钥对内容加密,加密后的内容只有接收方的私钥可以解密。在整个传输过程中,如果发送方的公钥泄露,加密内容也被窃取,也不会导致传输内容被破解(只要接收方的私钥没有泄露)。
常见的非对称加密算法有 RSA 算法(即一种支持变长密钥的公共密钥算法)