分组码的运行模式 2021/2/21
2021/2/21 2 二、分组码的运行模式
主要工作模式 即使有了安全的分组密码算法,也需要采 用适当的工作模式来隐蔽明文的统计特性、数 据的格式等,以提高整体的安全性,降低删除 重放、插入和伪造成功的机会。 电子码本(ECB) ■密码反馈链接(CBC 密码反馈(CFB) ■输出反馈(OFB)。 2021/2/21
2021/2/21 3 主要工作模式 即使有了安全的分组密码算法,也需要采 用适当的工作模式来隐蔽明文的统计特性、数 据的格式等,以提高整体的安全性,降低删除、 重放、插入和伪造成功的机会。 ◼ 电子码本(ECB) ◼ 密码反馈链接(CBC) ◼ 密码反馈(CFB) ◼ 输出反馈(OFB)
电码本ECB模式 直接利用加密算法分别对分组数据组加密。 在给定的密钥下同一明文组总产生同样的 密文组。这会暴露明文数据的格式和统计 特征。 明文数据都有固定的格式,需要以协议的形式定 义,重要的数据常常在同一位置上出现,使密码 分析者可以对其进行统计分析、重传和代换攻击。 2021/2/21
2021/2/21 4 电码本ECB模式 ◼ 直接利用加密算法分别对分组数据组加密。 ◼ 在给定的密钥下同一明文组总产生同样的 密文组。这会暴露明文数据的格式和统计 特征。 明文数据都有固定的格式,需要以协议的形式定 义,重要的数据常常在同一位置上出现,使密码 分析者可以对其进行统计分析、重传和代换攻击
电码本ECB模式 DES y yEN DES-1 2021/2/21 5
2021/2/21 5 电码本ECB模式 x y k DES y x k DES-1
密码分组链接CBC模式 每个明文组x加密之前,先与反馈至输入 端的前一组密文v;按位模2求和后,再送 至加密算法加密 各密文组y不仅与当前明文组x有关,而 且通过反馈作用还与以前的明文组x1, 29· ,x1,有关 2021/2/21 6
2021/2/21 6 密码分组链接CBC模式 ◼ 每个明文组xi加密之前,先与反馈至输入 端的前一组密文yi-1按位模2求和后,再送 至加密算法加密 ◼ 各密文组yi不仅与当前明文组xi有关,而 且通过反馈作用还与以前的明文组x1 , x2 ,…, xi-1,有关
密码分组链接CBC模式 初始矢量( Initial vector):第一组明文 x加密时尚无反馈密文,为此需要在寄存 器中预先置入一个。收发双方必须选用同 ■实际上,Ⅳ的完整性要比其保密性更为重 要。在CBC模式下,最好是每发一个消息, 都改变IV,比如将其值加 2021/2/21
2021/2/21 7 密码分组链接CBC模式 ◼ 初始矢量IV(Initial Vector):第一组明文 xi加密时尚无反馈密文,为此需要在寄存 器中预先置入一个。收发双方必须选用同 一IV。 ◼ 实际上,IV的完整性要比其保密性更为重 要。在CBC模式下,最好是每发一个消息, 都改变IV,比如将其值加一
密码分组链接CBC模式 64b储 64bit存储 DES yiN DES-I CBC模式 2021/2/21
2021/2/21 8 密码分组链接CBC模式 CBC模式 xi yi k DES yi x’ k DES-1 + + 64 bit存储 64 bit存储 y i-1
填充( Padding) 给定加密消息的长度是随机的,按64b分组时, 最后一组消息长度可能不足64bit可以填充 些数字,通常用最后1字节作为填充指示符 (PⅠ)。它所表示的十进制数字就是填充占有 的字节数。数据尾部、填充字符和填充指示符 一起作为一组进行加密。 2021/2/21 数据—填充
2021/2/21 9 填充(Padding) 给定加密消息的长度是随机的,按64 bit分组时, 最后一组消息长度可能不足64 bit。可以填充一 些数字,通常用最后1字节作为填充指示符 (PI)。它所表示的十进制数字就是填充占有 的字节数。数据尾部、填充字符和填充指示符 一起作为一组进行加密。 数据 填 充 PI
CBC的错误传播 1.明文有一组中有错,会使以后的密文组都受影响, 但经解密后的恢复结果,除原有误的一组外,其 后各组明文都正确地恢复。 2若在传送过程中,某组密文组y出错时,则该组 恢复的明文x和下一组恢复数据x1+1出错。再后 面的组将不会受y中错误比特的影响。 2021/2/21
2021/2/21 10 CBC的错误传播 1. 明文有一组中有错,会使以后的密文组都受影响, 但经解密后的恢复结果,除原有误的一组外,其 后各组明文都正确地恢复。 2.若在传送过程中,某组密文组yi出错时,则该组 恢复的明文x’ i和下一组恢复数据x’ i+1出错。再后 面的组将不会受yi中错误比特的影响
k-比特密码反馈CFB模式 若待加密消息必须按字符(如电传电报)或按比特处 理时,可采用CFB模式。 ■CFB实际上是将加密算法DES作为一个密钥流产 生器,当k=1时就退化为前面讨论的流密码了 ■CFB与CBC的区别是反馈的密文长度为k,且不是 直接与明文相加,而是反馈至密钥产生器。 2021/2/21
2021/2/21 11 k-比特密码反馈CFB模式 ◼ 若待加密消息必须按字符(如电传电报)或按比特处 理时,可采用CFB模式。 ◼ CFB实际上是将加密算法DES作为一个密钥流产 生器,当k=1时就退化为前面讨论的流密码了。 ◼ CFB与CBC的区别是反馈的密文长度为k,且不是 直接与明文相加,而是反馈至密钥产生器