加密和解密使用相同密钥的密码算法叫对称加解密算法,简称对称算法。由于其速度快,对称算法通常在需要加密大量数据时使用。所谓对称,就是采用这种密码方法的双方使用同样的密钥进行加密和解密。
对称算法的优点是算法公开、计算量小、加密速度快、加密效率高。对称算法的缺点是产生的密钥过多和密钥分发困难。
常用的对称算法有DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES以及国家密码局颁布的SM1和SM4算法。这些算法我们不必每个都精通,有些只需了解即可,但国密的两个算法建议详细掌握,因为使用场合较多。
对称算法概念简单,我们用一张图来演示一下,如图3-1所示。
图3-1
图3-1中,发送方也就是加密的一方,接收方也就是解密的一方,双方使用的密钥是相同的,都是图3-1中所示的“密钥1”。发送方用密钥1对明文进行加密后形成密文,然后通过网络传递到接收方,接收方通过密钥1解开密文得到明文。这就是对称算法的一个基本使用过程。
从图3-1中可以发现,双方使用相同的密钥(密钥1),那么这个密钥如何安全高效地传递给对方,这是一个很重要的问题,规模小或许问题不大,一旦规模大了,那对称算法的密钥分发可是一个大问题了。