分组密码(二)分组密码的运行模式

操作模式

电话本ECB模式

electronic codebook
最简单的运行模式,一次对一个64比特的明文分组加密,每次的加密密钥都相同。密钥取定时,对明文的每一个文组,都有一个唯一确定的密文与之对应。
如果消息长于64比特,将其分为长64比特的分组,若在最后一组不足64比特,则需要填充。
输入:k比特的密钥K;n比特的明文分组x1,x2,…xt
结果:产生密文分组c1,c2,…ct;解密以恢复明文
在这里插入图片描述
特性:用于端树据时非常理想,用于长消息时可能不安全。例如,如果已知消息总是以一个预定义字段开始的,那么分析者就可能得到很多明文密码对。

  • 相同明文(在相同密钥下)得出相同密文。
  • 链接依赖性:各组的加密都独立于其他分组。
  • 错误传播:单个密文分组中有一个或多个比特错误只会影 响该分组的解密结果。

由于密文分组是独立的,因而 恶意替代ECB的分组(如插入一个经常出现的分组 )不会影响相邻分组的解密。而且,分组密码不隐 藏数据模式——相同密文组蕴含相同的明文分组。 因此,当消息长度超出一个组或重复使用密钥加密 多个单组消息时,不建议使用ECB模式。若每个分 组中都含有随机填充的比特,则安全性将稍有提高

密码分组链接CBC模式

Cipher Block Chaining
为了解决ECB的安全缺陷,可以让重复的明文分组产生不同的密文分组。CBC模式一次对一组明文进行加密,每次加密使用同一密钥,加密算法的输入是当前明文分组和前一次密文分组的异或,因此加密算法不会现实出这次输入与这次明文分组之间的关系。
在产生第 1 个密文分组时, 需要有一个初始向量 IV 与第 1 个明文分组异或。解密 时, IV 和解密算法对第 1 个密文分组的输出进行异或以恢复第 1 个明文分组。
解密时,每一个密文分组被解密后,再与前一个密文分组异或。
输入::k比特的密钥K;n比特的 ;n比特的明文组 x1,x2,…xt
概要:产生密文分组c1,c2,…ct;解密以恢复明
在这里插入图片描述
特性:

  • 相同明文:在相同密钥和 cj下,加密相同的明文分组会 得到相同的密文分组。
  • 链接依赖性:链接机制致使密文cj依赖于xj及所有前面 的明文分组。
  • 错误传播:密文分组cj 中一个单比特错误会影响到分组cj和 cj+1的解密(因为xj依赖于 cj和 cj-1)。
  • 错误恢复:CBC模式是自同步或者密文自动密钥。基于此 ,若一个错误(包括丢失一个或多个完整分组)出现在分组cj中,而cj+1中没有错误,则cj+2可正确地解密为xj+2.
  • (加密中的错误传播)虽然CBC模式的解密可从密 文分组中的错误恢复,但在加密时修改一个明文分 组 会改变所有后续的密文分组。在需随机读/写存 取加密数据的应用中,会影响链接模式的可用性。
  • (自同步与结构错误)虽然自同步在某种程度上可 以从比特错误中恢复,但在CBC或其他模式中不可 能从因丢失比特而引起的分组边界错误中恢复(结 构完整性错误)。
  • (CBC中 的完整性)虽然在CBC模式中 无须保 密,但它的完整性却应得到保证,因为恶意的篡改 能使敌手针对恢复的第一个明文分组做可预测的比 特变动。

密码反馈CFB模式

Cipher FeedBack
利用 CFB( cipher feedback)模式 或 OFB 模式可将 DES 转换为流密码。流密码不需要对消息填充, 而且运行是实时的。 因此如果传送字母流, 可使用流密码对每个字母直接加密并传送.
流密码具有密文和明文一样长这一性质, 因此, 如果需要发送的每个字符长为 8 比 特, 就应使用 8 比特密钥来加密每个字符。如果密钥长超过 8 比特,则造成浪费

输入::k比特的密钥K;n比特的IV;r比特的明文组
概要::产生r比特密文分组c1,c2,…ct;解密以恢复明文
在这里插入图片描述
加密时, 加密算法的输入是 64 比特移位寄存器, 其初值为某个初始向量 IV。加密算法输出的最左(最高有效位) j 比特与明文的第一个单元 P1 进行异或, 产生出密文的第 1 个单元 C 1 ,并传送该单元。然后将移位寄存器的内容左移 j 位并将 C1 送入移位寄存器 最右边(最低有效位) j 位。这一过程继续到明文的所有单元都被加密为止。
解密时, 将收到的密文单元与加密函数的输出进行异或。
注意这时仍然使用加密算法而不是解密算法
特性:

  • 相同明文:与按CBC模式加密一样,改变 IV同样会导致 相同的明文输入得到不同的加密输出。
  • 链接依赖性:类似CBC加密,链接机制致使密文分组 依 赖于 和其前面的明文分组;因此,重排密文分组会影 响解密。
  • 错误传播:一个或多个比特错误出现在任一个r比特的密 文分组 cj中会影响该分组和后续 n/r向上取整个密文分组的解密
  • (CFB仅用做加密)由于CFB的加密解密都要用到加密 函数E,所以若分组密码是一种公钥算法,则一定不能 使用CFB模式,而应采用CBC模式。

输出反馈OFB模式

Output FeedBack
OFB(output feedback)模式的结构类似于 CFB,不同之处OFB 模式将加密算法的输出反馈到移位寄存器,而 CFB 模式中是将密文单元反馈到移位寄存器。
在这里插入图片描述
OFB 模式的优点是传输过程中的比特错误不会被传播.
OFB 的缺点是它比 CFB 模式更易受到对消息流的篡改攻击, 比如在密文中取 1 比 特的补, 那么在恢复的明文中相应位置的比特也为原比特的补。因此使得敌手有可能通 过对消息校验部分的篡改和对数据部分的篡改, 而以纠错码不能检测的方式篡改密文.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章