《分组密码分组密码的工作模式.ppt》由会员分享,可在线阅读,更多相关《分组密码分组密码的工作模式.ppt(45页珍藏版)》请在三一办公上搜索。
1、1,分组密码:分组密码的工作模式,现代密码学第4章(3),2,本节主要内容,1、分组密码的工作模式2、Block Modes ECB,CBC3、Stream Modes CFB,OFB,3,分组密码在加密时,明文分组的长度是固定的,而实际应用中待加密消息的数据量是不定的,数据格式可能是多种多样的。为了能在各种应用场合使用DES,美国在FIPS PUS 74和81中定义了DES的4种运行模式,如表3.5所示。这些模式也可用于其他分组密码,下面以DES为例来介绍这4种模式。(见49页表3.5),分组密码的运行模式,4,分组密码工作模式,分组密码加密固定长度的年信息,eg.DES加密64-bit,使
2、用 56-bit key 需要一种使用方法,加密任意长度的消息,这种使用方法叫做工作模式Mode of Use 对于DES,定义了4种模式(in ANSI standard ANSI X3.106-1983 Modes of Use)四种模式:Block Modes ECB,CBCStream Modes CFB,OFB,5,ECB(electronic codebook)模式是最简单的运行模式,它一次对一个64比特长的明文分组加密,而且每次的加密密钥都相同,如图4.10所示。当密钥取定时,对明文的每一个分组,都有一个惟一的密文与之对应。因此形象地说,可以认为有一个非常大的电码本,对任意一个可
3、能的明文分组,电码本中都有一项对应于它的密文。,1.电码本(ECB)模式,6,加密,1.电码本(ECB)模式,7,解密,1.电码本(ECB)模式,8,ECB模式示意图,9,如果消息长于64比特,则将其分为长为64比特的分组,最后一个分组如果不够64比特,则需要填充。解密过程也是一次对一个分组解密,而且每次解密都使用同一密钥。图4.10中,明文是由分组长为64比特的分组序列P1,P2,PN构成,相应的密文分组序列是C1,C2,CN。,1.电码本(ECB)模式,10,ECB在用于短数据(如加密密钥)时非常理想,因此如果需要安全地传递DES密钥,ECB是最合适的模式。ECB的最大特性是同一明文分组在
4、消息中重复出现的话,产生的密文分组也相同。,1.电码本(ECB)模式,11,ECB的优势与局限,相同的明文对于相同的密文 结构化明文 消息有重复部分 主要用于发送少数量的分组数据,12,ECB用于长消息时可能不够安全,如果消息有固定结构,密码分析者有可能找出这种关系。例如,如果已知消息总是以某个预定义字段开始,那么分析者就可能得到很多明文密文对。如果消息有重复的元素而重复的周期是64的倍数,那么密码分析者就能够识别这些元素。以上这些特性都有助于密码分析者,有可能为其提供对分组的代换或重排的机会。,1.电码本(ECB)模式,13,为了解决ECB的安全缺陷,可以让重复的明文分组产生不同的密文分组,
5、CBC(cipher block chaining)模式就可满足这一要求。图4.11是CBC模式示意图,它一次对一个明文分组加密,每次加密使用同一密钥,加密算法的输入是当前明文分组和前一次密文分组的异或,因此加密算法的输入不会显示出与这次的明文分组之间的固定关系,所以重复的明文分组不会在密文中暴露出这种重复关系。,2.密码分组链接(CBC)模式,14,2.密码分组链接(CBC)模式,加密,15,CBC模式解密,2.密码分组链接(CBC)模式,16,CBC模式示意图,17,解密时,每一个密文分组被解密后,再与前一个密文分组异或,即(设)因而产生出明文分组。,2.密码分组链接(CBC)模式,18,
6、在产生第1个密文分组时,需要有一个初始向量IV与第1个明文分组异或。解密时,IV和解密算法对第1个密文分组的输出进行异或以恢复第1个明文分组。IV对于收发双方都应是已知的,为使安全性最高,IV应像密钥一样被保护,可使用ECB加密模式来发送IV。保护IV的原因如下:,2.密码分组链接(CBC)模式,19,如果敌手能欺骗接收方使用不同的IV值,敌手就能够在明文的第1个分组中插入自己选择的比特值,这是因为:用X(i)表示64比特分组X的第i个比特,那么,由异或的性质得 其中撇号表示比特补。,2.密码分组链接(CBC)模式,20,上式意味着如果敌手篡改IV中的某些比特,则接收方收到的P1中相应的比特也
7、发生了变化。由于CBC 模式的链接机制,CBC模式对加密长于64比特的消息非常合适。CBC模式除能够获得保密性外,还能用于认证。,2.密码分组链接(CBC)模式,21,消息分成模块 加密是相互联系的 密文与明文联结 利用一个初始向量开始:Ci=DESK1(Pi XOR Ci-1)C-1=IV 适合加密长度大于64比特的消息还可以用来进行用户鉴别(见报文鉴别部分),2.(CBC)模式特点,22,Advantages and Limitations of CBC,each ciphertext block depends on all message blocks thus a change in
8、 the message affects all ciphertext blocks after the change as well as the original block need Initial Value(IV)known to sender&receiver however if IV is sent in the clear,an attacker can change bits of the first block,and change IV to compensate hence either IV must be a fixed value(as in EFTPOS)or
9、 it must be sent encrypted in ECB mode before rest of message at end of message,handle possible last short block by padding either with known non-data value(eg nulls)or pad last block with count of pad size eg.b1 b2 b3 0 0 0 0 5-3 data bytes,then 5 bytes pad+count,23,如上所述,DES是分组长为64比特的分组密码,但利用CFB(ci
10、pher feedback)模式或OFB模式可将DES转换为流密码。流密码不需要对消息填充,而且运行是实时的。因此如果传送字母流,可使用流密码对每个字母直接加密并传送。流密码具有密文和明文一样长这一性质,因此,如果需要发送的每个字符长为8比特,就应使用8比特密钥来加密每个字符。如果密钥长超过8比特,则造成浪费。,3.密码反馈(CFB)模式,24,图4.12是CFB模式示意图,设传送的每个单元(如一个字符)是j比特长,通常取j=8,与CBC模式一样,明文单元被链接在一起,使得密文是前面所有明文的函数。,3.密码反馈(CFB)模式,25,密码反馈(CFB)模式,方法:加密时,加密算法的输入是64比
11、特移位寄存器,其初值为某个初始向量IV。加密算法输出的最左(最高有效位)J比特与明文的第一个单元P1进行异或,产生密文的第一个单元C1,并传送该单元。然后将移位寄存器的内容左移j位并将C1送入送入移位寄存器最右边的j位。这一过程一直进行到明文的所有单元都被加密为止。具体的过程如下:,26,CFB加密模式示意图,27,CFB解密模式示意图,28,CFB模式示意图,29,加密时,加密算法的输入是64比特移位寄存器,其初值为某个初始向量IV。加密算法输出的最左(最高有效位)j比特与明文的第一个单元P1进行异或,产生出密文的第1个单元C1,并传送该单元。然后将移位寄存器的内容左移j位并将C1送入移位寄
12、存器最右边(最低有效位)j位。这一过程继续到明文的所有单元都被加密为止。,3.密码反馈(CFB)模式,30,解密时,将收到的密文单元与加密函数的输出进行异或。注意这时仍然使用加密算法而不是解密算法,原因如下:设Sj(X)是X的j个最高有效位,那么因此;可证明以后各步也有类似的这种关系。CFB模式除能获得保密性外,还能用于认证。,3.密码反馈(CFB)模式,31,消息被看作bit流 被加到分组密文的输出并把结果反馈到下一阶段标准允许反馈任意比特(1,8 or 64 or whatever)记作 CFB-1,CFB-8,CFB-64 etc CFB-64:Ci=Pi XOR DESK1(Ci-1)
13、C-1=IV,(CFB)模式特点,32,CFB特点,适合数据以比特或字节为单位出现错误传播,33,Advantages and Limitations of CFB,appropriate when data arrives in bits/bytes most common stream mode limitation is need to stall while do block encryption after every n-bits note that the block cipher is used in encryption mode at both ends errors pr
14、opogate for several blocks after the error,34,OFB(output feedback)模式的结构类似于CFB,见图4.13。不同之处如下:OFB模式是将加密算法的输出反馈到移位寄存器,而CFB模式中是将密文单元反馈到移位寄存器。,4.输出反馈(OFB)模式,35,OFB模式加密示意图,36,OFB模式解密示意图,37,OFB模式示意图,38,OFB(output feedback)模式的结构类似于CFB,见图4.13。不同之处如下:OFB模式是将加密算法的输出反馈到移位寄存器,而CFB模式中是将密文单元反馈到移位寄存器。,4.输出反馈(OFB)模式
15、,39,OFB模式的优点是传输过程中的比特错误不会被传播。例如C1中出现1比特错误,在解密结果中只有P1受到影响,以后各明文单元则不受影响。而在CFB中,C1也作为移位寄存器的输入,因此它的1比特错误会影响解密结果中各明文单元的值。,4.输出反馈(OFB)模式,40,OFB的缺点是它比CFB模式更易受到对消息流的篡改攻击,比如在密文中取1比特的补,那么在恢复的明文中相应位置的比特也为原比特的补。因此使得敌手有可能通过对消息校验部分的篡改和对数据部分的篡改,而以纠错码不能检测的方式篡改密文。,4.输出反馈(OFB)模式,41,OFB的特点,消息作为比特流分组加密的输出与被加密的消息相加比特差错不
16、容易传播,42,Advantages and Limitations of OFB,used when error feedback a problem or where need to encryptions before message is available superficially similar to CFB but feedback is from the output of cipher and is independent of message a variation of a Vernam cipher hence must never reuse the same se
17、quence(key+IV)sender and receiver must remain in sync,and some recovery method is needed to ensure this occurs originally specified with m-bit feedback in the standards subsequent research has shown that only OFB-64 should ever be used,43,5.计算器模式 Counter(CTR),44,Advantages and Limitations of CTR,效率可并行加密预处理吞吐量仅受可使用并行数量的限制加密数据块的随机访问可证明安全简单性(只要求实现加密算法),45,THE END!,