- 分组密码的工作模式
- 分类
- 电子码本(electroniccode-book mode,ECB)
- 密码分组链接(cipherblock chaining,CBC)
- 计数器模式(Counter ,CTR)
- 输出反馈(outputfeedback,OFB)
- 密码反馈(cipher feedback,CFB)
- 分组密码填充
- 给定加密消息的长度是随机的,按64bit分组时,最后一组消息长度可能不足64bit。可以填充一些数字,通常用最后1字节作为填充指示符(PI)。它所表示的十进制数字就是填充占有的字节数。数据尾部、填充字符和填充指示符一起作为一组进行加密。
- ECB模式
- ECB模式是最简单的模式,直接利用加密算法分别对分组数据组加密。明文分成64bits的分组进行加密,必要时填充,每个分组用同一密钥加密,同样明文分组得到相同密文。
- 假设输入密钥为K,明文分组为P1,…,PN ,输出为C1,…,CN 。
- ECB操作模式加密: Cj=Ek(Pj)
- ECB操作模式解密: Pj=Dk(Cj)
- 直接利用加密算法分别对分组数据组加密。
- 最大特性:
- 在给定的密钥下,同一明文组总产生同样的密文组。这会暴露明文数据的格式和统计特征。
- 明文数据都有固定的格式,需要以协议的形式定义,重要的数据常常在同一位置上出现,使密码分析者可以对其进行统计分析、重传和代换攻击。
- 错误传播:
- 单个密文分组中有一个或多个比特错误只会影响该分组的解密结果。
- 无链接依赖性,各组的加密独立于其它分组,重排密文分组,将导致相应的明文分组重排。
- 安全性有限,由于同一明文产生同样的密文,这会暴露明文数据的格式和统计特征。特别是若明文数据都有固定的格式(例如图像)或者并需要以协议的形式定义的数据,一些重要的数据常常在同一位置上出现,使密码分析者可以对其进行统计分析、重传和代换攻击。因此当消息长度超过一个组或者重复使用密钥加密多个单组消息,不建议使用ECB模式。
- CBC模式
- 初始矢量IV(InitialVector):第一组明文加密时无反馈密文,为此需要在寄存器中预先置入一个,收发双方必须选用同一IV。
- 每个明文组加密之前,先与反馈至输入端的前一组密文按位模2求和后,再送至加密算法加密
- 实际上,IV 的完整性要比其保密性更为重要。在CBC模式下,最好是每发一个消息,都改变IV,比如将其值加一。
- CBC的错误传播
- 1. 明文有一组中有错,会使以后的密文组都受影响,但经解密后的恢复结果,除原有误的一组外,其后各组明文都正确地恢复。
- 2.若在传送过程中,某组密文组出错时,则该组恢复的明文和下一组恢复数据出错。再后面的组将不会受中错误比特的影响。
- j-比特密码反馈CFB模式
- 加密
- 解密
- 若待加密消息必须按字符(如电传电报)或按比特处理时,可采用CFB模式。
- CFB实际上是将加密算法DES作为一个密钥流产生器。
- CFB与CBC的区别是反馈的密文长度为j,且不是直接与明文相加,而是反馈至密钥产生器。
- 解密:采用相同方案,但是使用加密函数而非解密函数。
- 错误传播
- 1、明文某一组中有错,会使以后的密文组都受影响,但经解密后的恢复结果,除原有误的一组外,其后各组明文都正确地恢复。
- 2、密文里的一位错误会引起明文的一个单独错误,此处,错误进入移位寄存器,导致密文成为无用信息,直到该错误从移位寄存器中移出。
- OFB模式
- 加密
- 解密
- 特点
- 1、将分组密码算法作为一个密钥流产生器,其输出的j-bit密钥直接反馈至分组密码的输入端,同时这j-bit密钥和输入的j-bit明文段进行对应位模2相加。
- 2、克服了CBC和CFB的错误传播所带来的问题。
- 3、对于密文被篡改难以进行检测
- 4、OFB模式属于同步序列密码
- CTR
- 加密
- CTR模式
- 使用与明文分组规则相同的计数器长度
- 加密不同的分组所使用的计数器值必须不同
- 解密:采用相同方案,但是使用加密函数而非解密函数。
- 处理效率:
- 能够对多块报文的加、解进行并行处理
- 预处理:
- 进行异或之前的基本加密处理不依赖明文和密文的输入
- 随机访问:
- 密文分组的处理与其它密文无关实现简单
- 比较和选用
- 分类
应用密码学(张仕斌)第四章续
最新推荐文章于 2023-12-27 10:32:38 发布