首页 > 其他 > 详细

分组密码的运行模式

时间:2020-04-30 21:47:19      阅读:61      评论:0      收藏:0      [点我收藏+]

分组密码在加密时,明文分组的长度是固定的,而实际应用中待加密消息的数据量是不定的,数据格式多种多样

1) 为了能在各种应用场合使用DS,美国在FIPS PUS 74和81中定义了DES的4种运行模式ECB,CBC,CFB,OFB

2) FIPS PUB140-2推荐了AES的另外一种运行模式:CTR

 

ECB (electronic codebook)模式

最简单的运行模式,首先将明文分为64比特(调用的分组密码算法的分组长度)的明文块,它一次对一个64比特长的明文分组加密,每次的加密密钥都相同.

技术分享图片

特点:

如果明文长于64比特,首先将其分为长为64比特的分组;若最后一个分组如果不够64比特,则需要填充.

明文加密过程和解密过程分别调用加密算法和解密算法.

不需要额外的初始向量.

密文块可以分别独立解密,无顺序要求.

密钥相同时,明文中相同的64比特分组产生相同的64比特密文块.

不存在错误传播,一块密文传送错误只导致对应明文解密错误.(错误的块不会影响其他正确的块)

主要用于发送少数量的分组数据.(大量数据会被统计攻击)

 

CBC (cipher block chaining)模式

首先对明文分组,它一次对一个明文分组加密,加密算法的输入是当前明文分组和前一次密文分组的异或.(多了个链条)

技术分享图片

 

 

技术分享图片

注:在产生第1个密文分组时,需要有一个初始向量IV与第1个明文分组异或.解密时,V和解密算法对第1个密文分组的输出进行异或以恢复第1个明文分组.IV对于收发双方都应是已知的,为使安全性最高,IV应像密钥一样被保护(可使用ECB加密模式来发送IV)如果敌手能欺骗接收方使用不同的IV值,则接收方收到的P1中相应的比特也发生了变化.

 

特点:

如果消息长于64比特,首先将其分为长为6比特的分组,最后一个分组如果不够64比特,则需要填充.

明文加密过程和解密过程分别调用加密算法和解密算法.

需要额外的初始向量,若初始向量公开,攻击者可以通过纂改,使第1块明文解密错误.

密文块需按顺序逐一解密.

密钥相同时,明文中相同的64比特分组产生不相同的64比特密文块.(不好用统计分析的方法来攻击)

存在错误传播,一块密文传输错误会导致块密文解密失败.

 

CFB (cipher feedback)模式

设传送的每个单元(如一个字符)是j比特,0<j64长,通常取j=8

加密时,设加密算法的输入是64比特移位存器,其初值为某个初始向量IV.加密算法输出的最左(最高有效位)j比特与明文的第一个单元P进行异或,产生出密文的第1个单元C1.传送该单元并将输入寄存器的内容左移j位,用C1补齐最右边(最低有效位)j位.这一过程继续到明文的所有单元都被加密为止.

解密时,将加密算法输出的最左(最高有效位)j比特与密文的相应单元异或,产生明文.反馈到输入寄存器的值为密文单元.

技术分享图片

特点:

消息被看作bit流,无须分组填充;适合数据以比特或字节为单位出现标准允许反馈任意比特(1,8or64 or whatever)记作CFB-1,CFB-8,CFB-64.

只使用DES加密算法,且所有加密都使用同一密钥.

需要额外的初始向量,若初始向量公开,攻击者可以通过篡改,使前几块(与错误比特几次移出寄存器有关)明文解密错误.

密文块需按顺序逐一解密.

密钥相同时,明文中相同的64比特分组产生不相同的64比特密文块.

存在错误传播(只传播后面的几块).

 

OFB (output feedback)模式

类似于CFB,不同之处在于0FB模式是将加密算法的输出反馈到移位寄存器,而CFB模式中是将密文单元反馈到移位寄存器.

技术分享图片

特点:

消息被看作比特流,无须分组填充.

只使用DES加密算法,且所有加密都使用同一密钥.

需要额外的初始向量,若初始向量公开,攻击者可以通过篡改,使所有明文解密错误.

密钥流可以在已知消息之前计算,不需要按顺序解密.

密钥相同时,明文中相同的64比特分组产生不相同的64比特密文块.

不存在比特错误传播.

发送者和接收者必须保持同步.

 

 

块模式:ECB CBC

流模式:CFB OFB CTR

分组密码的运行模式

原文:https://www.cnblogs.com/sjyu/p/12810759.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!