前言

加密, 顾名思义就是把明文数据转换为密文数据。 这样一来,即使第三方截获到了密文数据, 也无法将其恢复为明文。 而解密过程则正好相反,合法的接收者通过正确的解密算法和密钥恢复密文到明文。

加密算法可以分为如下两大类

  • 对称密钥算法
  • 非对称密钥算法

 对称密钥算法

对称密匙算法是加解密双方使用相同的密钥与算法进行加解密。

因此, 使用相同密钥与算法进行加解密运算的箕法就叫做对称密钥算法, 对称密钥算法有如下特点:

 优点:

  • 速度快
  • 安全
  • 紧凑

 缺点:

  • 明文传输共亨密钥,容易出现中途劫持和窃听的问题
  • 随行参与者数重的增加,密钥数量急剧膨胀((nx (n-1)) /2)
  • 因为密钥数量过多,对密钥的管理和存储是一个很大的问题
  • 不支持数字签名和不可否认性

对称密钥加密技术的加解密过程

 对称密钥算法的主流协议

  1. DES
  2. 3DES
  3. AES
  4. RC4

 紧凑型

对称密钥算法紧凑性的特点,DES是一个典型的块加密算法。所谓块加密,顾名思义就是把需要加密的数据包预先切分成为很多个相同大小的块(DES的块大小为64比特),然后使用DES算法逐块进行加密, 如果不够块边界,就添加数据补齐块边界,这些添加的数据就会造成加密后的数据比原始数据略大。

以一个1500个字节大小的数据包为例 , 通过DES块加密后,最多(极限值)会增加8个字节(64个比特)的大小。

所以可以认为对称密钥算法加密后的数据是紧凑的。

如果采用对称加密算法加密数据,因为加密密钥和解密密钥是相同的,如何在发送端和接收端同步密钥是一个问题,这个问题由密钥交换算法来解决。

DH(Deffie-Hellman)密钥交换是最常用的密钥交换算法之一,它使得通信的双方能在Internet这样的非安全信道中安全地交换密钥,用于加密后续的通信。

DH算法的神奇之处在于,交换密钥的双方可以在Internet这样的不安全环境中交换信息,即使这些信息被窃听,也能产生一个只有双方知道的一个密钥。

常用的DH算法有Group1、Group2、Group5等。

DH算法的原理是依赖于计算离散对数的难度。

DH算法原理

 非对称密钥算法

在使用非对称密钥技术之前,所有参与者,不管是用户还是路由器等网络设备,都需要预先使用非对称密钥算法(例如RSA)产生一对密钥,其中包括一个公钥和一个私钥。

公钥可以放在服务器上共享给属于这个密钥系统的所有用户与设备,而私钥需要由持有者严格保护,确保只有持有者才能唯一拥有。

非对称密钥算法的特点是一个密钥加密的信息,必须使用另一个密钥来解密。

也就是说公钥加密私钥解密,私钥加密公钥解密。公钥加密的数据,无法再使用公钥解密,私钥加密的数据,也无法再使用私钥解密。

我们可以使用非对称密钥算法来加密数据和对数据进行数字签名。

非对称密钥加解密过程(用于数字签名)

 非对称密钥算法的特点

 工作特点

  • 用一个密钥加密的数据只能用另一个密钥来解密
  • 仅用于密钥交换(加密密钥)和数字签名(加密散列)

 优点

  • 安全,由于不必担心交换的公钥被劫持, 所以非对称密钥的分发更安全
  • 密钥数目和参与者数目相同
  • 在交换公钥之前不需要预先建立某种信任关系
  • 支持数字签名和不可否认性

 缺点

  • 加密速度很慢
  • 密文会变长

 非对称密钥算法的主流协议

  1. RSA(数字签名和数字证书的主流协议)
  2. DH (IPSec产生密钥资源的主要协议)
  3. ECC(椭圆曲线算法)

 非对称密钥加解密过程(用于数据加密)

对称密匙算法与非对称密匙算法的混合应用

对称密钥算法加密速度快, 但是密钥数员过多不好管理, 并且密钥分发不安全。

非对称密钥算法密钥数量少, 密钥分发方便并且不存在安全隐患, 但是加密速度奇慢, 不可能用于大流量数据的加密。

在实际的操作过程中,通常采用非对称加密算法管理对称加密算法的密钥,然后用对称加密算法加密数据。这样可集成两类加密算法的优点,既实现了快速加密,又可安全、方便地管理密钥。

 小结

  • 发送端使用的加密密钥和接收端使用的解密密钥是相同的,称为对称加密。
  • 加密密钥和解密密钥是不同的,称为非对称加密。
  • 通常采用非对称加密算法管理对称加密算法的密钥,然后用对称加密算法加密数据。

 参考资料

《网络安全与管理》电子工业出版社

《Cisco IPSec VPN实战指南》秦柯

《网络系统建设与运维》人民邮电出版社