2.5 对称密码体制
对称密码体制并不是现代密码学的新生产物,它是古典密码学的进一步延续。古典密码常用的两种技巧—替代和移位,仍然是对称密码体制中最重要的加密技巧。
对称密码体制的保密通信模型如图2-2所示。对称密码体制要求加密与解密使用同一个共享密钥,解密是加密的逆运算,由于通信双方共享同一个密钥,这就要求通信双方必须在通信前商定该密钥,并妥善保存该密钥,该密钥称为秘密密钥。秘密密钥的存在使得对称密码体制开放性变差。
图 2-2 对称密码体制的保密通信模型
对称密码体制分为两种:一种是对明文的单个位(或字节)进行运算,称为流密码,也称为序列密码;另一种是把明文信息划分成不同的组(或块)结构,分别对每个组(或块)进行加密和解密,称为分组密码。
2.5.1 流密码
流密码是军事、外交等机要部门中应用最为广泛的对称密码体制。同时,它也是手机应用平台最常用的加密手段。流密码实现较为简单,加密时将明文按字符(或字节)逐位进行加密,解密时将密文按字符(字节)逐位解密。加密、解密可以是简单的位运算,如模n运算。明文加密后,生成的密文几乎和明文保持同样的长度。流密码加密与解密的流程如图2-3所示。
图 2-3 流密码加密与解密流程
流密码分为同步流(序列)密码和自同步流(序列)密码。
1.同步流密码
信息发送方和接收方在传递信息时,同步进行加密解密操作,明文与密文一一对应。密文的内容如果在传输过程中被篡改、删除或插入,可导致同步失效,以致密文解密失败,必须通过重新同步来实现解密、恢复密文。在密文传输过程中,如果一个密文位发生变化,那么该位的变化只影响该位的恢复,对后续密文位不影响,这是同步流密码的一个重要特点。但是,根据该特性主动攻击者可以有选择地对密文字符进行改动,并准确知道这些改动对明文的影响。因此,同步流密码具有同步性、无错误传递性及主动攻击性三种特性。同步流密码适用于为音频和视频数据提供版权保护。
2.自同步流密码
与同步流密码相比,自同步流密码是一种有记忆变换的密码。每一个密钥与已产生的固定数量的密文位有关,密钥由已生成的密文决定。在密文传输过程中,如果一个密文位发生变化,那么该位的变化会影响到后续有限位(如n位)的密文位的正确解密。所以,自同步流密码有错误传递现象。但是,在接收n位正确密文字符后,密码自身会实现重新同步。基于这一特点,如果主动攻击者对密文做了修改,接收方仍然不能检测出密文的完整性。与同步流密码相比,自同步流密码的密码分析更加困难,安全性更高。因此,自同步流密码具有自同步性、错误传递有限性、主动攻击性及明文统计扩散性四种特性。
流密码实现简单、便于硬件计算、加密与解密处理速度快、错误传播率低等优点。但是,流密码对错误的产生不够敏感,这是流密码的缺点。为了弥补这一缺点,流密码通常配合其他技术验证信息的完整性。流密码涉及大量的理论知识,受限于应用场合(目前主要用于军事和外交等机要部门),许多研究成果并未完全公开。目前使用较多的流密码是自同步流密码。流密码的常用算法有RC4和SEAL等。
流密码的安全强度依赖于密钥流生成器所产生的密钥流序列的特征,关键在于密钥生成器的设计以及信息收发两端密钥流产生的同步技术。