收藏 分销(赏)

密码学第10讲分组密码的工作模式.ppt

上传人:精*** 文档编号:1921477 上传时间:2024-05-11 格式:PPT 页数:40 大小:1.41MB
下载 相关 举报
密码学第10讲分组密码的工作模式.ppt_第1页
第1页 / 共40页
密码学第10讲分组密码的工作模式.ppt_第2页
第2页 / 共40页
密码学第10讲分组密码的工作模式.ppt_第3页
第3页 / 共40页
密码学第10讲分组密码的工作模式.ppt_第4页
第4页 / 共40页
密码学第10讲分组密码的工作模式.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、分组密码的工作模式分组密码的工作模式1 1主要内容分组密码的工作模式分组密码的工作模式短块处理方法短块处理方法2 2 DESDES算法只解决了如何对一个算法只解决了如何对一个6464比特的明比特的明文分组进行加密保护的问题文分组进行加密保护的问题,对于比特数不对于比特数不等于等于6464的明文如何加密的明文如何加密,并不关心。这个问并不关心。这个问题题,就由分组密码的工作模式解决。就由分组密码的工作模式解决。3 3分组密码的工作模式分组密码的工作模式分组密码的分组密码的“工作模式工作模式”是指以某个分组密码算是指以某个分组密码算法为基础法为基础,解决对任意长度的明文的加密问题的方法。解决对任意

2、长度的明文的加密问题的方法。1 1电码本电码本(ECB)ECB)模式模式 2 2密码分组链接密码分组链接(CBC)CBC)模式模式 3 3密码反馈密码反馈(CFB)CFB)模式模式 4 4输出反馈输出反馈(OFB)OFB)模式模式 5.5.计数器计数器模式模式这五种工作模式适用于不同的应用需求这五种工作模式适用于不同的应用需求.分组密码的工作模式主要有:分组密码的工作模式主要有:4 41 1电码本电码本(ECB-Electronic Code Book)ECB-Electronic Code Book)模式模式 ECB模式是将明文的各个分组模式是将明文的各个分组独立地独立地使用同一密钥使用同一

3、密钥k加密,如下图所示。加密,如下图所示。ECBECB模式的加、脱密框图模式的加、脱密框图5 5 典型应用:典型应用:(1)用于随机数的加密保护;)用于随机数的加密保护;(2)用于单分组明文的加密。)用于单分组明文的加密。优点优点:(1)实现简单实现简单;(2)不同明文分组的加密可并行实施不同明文分组的加密可并行实施,尤其是尤其是硬件实现时速度很快硬件实现时速度很快.缺点:缺点:不同的明文分组之间的加密独立进行不同的明文分组之间的加密独立进行,故保故保留了单表代替缺点留了单表代替缺点,造成造成相同明文分组对应相同密相同明文分组对应相同密文分组文分组,因而不能隐蔽明文分组的统计规律和结构因而不能

4、隐蔽明文分组的统计规律和结构规律规律,不能抵抗替换攻击不能抵抗替换攻击.ECBECB模式的优、缺点和应用模式的优、缺点和应用6 6 敌手敌手C通过截收从通过截收从A到到B的加密消息,只要将第的加密消息,只要将第5至第至第12分组替换分组替换为自己的姓名和帐号相对应的密文(因为为自己的姓名和帐号相对应的密文(因为ECB模式不同的分组加密模式不同的分组加密采用相同密钥独立进行),即可将别人的存款存入自己的帐号。采用相同密钥独立进行),即可将别人的存款存入自己的帐号。例例:假设银行假设银行A和银行和银行B之间的资金转帐系统所使用报之间的资金转帐系统所使用报文模式如下:文模式如下:7 7 为了克服为了

5、克服ECB的安全性缺陷,我们希望设计一的安全性缺陷,我们希望设计一个工作模式个工作模式,可以使得当同一个明文分组重复出现时可以使得当同一个明文分组重复出现时产生不同的密文分组。一个简单的方法是密码分组链产生不同的密文分组。一个简单的方法是密码分组链接,从而使输出不仅与当前输入有关,而且与以前输接,从而使输出不仅与当前输入有关,而且与以前输入和输出有关。入和输出有关。8 82 2密码分组链接密码分组链接(CBC-Cipher Block Chaining)CBC-Cipher Block Chaining)模式模式 在在CBC模式下,加密算法的输入是当前明文组与前一密文组的异或。模式下,加密算法

6、的输入是当前明文组与前一密文组的异或。记记初始初始化向量化向量IV(初始化向量不需要保密,它可以明文形式与密文一(初始化向量不需要保密,它可以明文形式与密文一起传送)为起传送)为c0,则加密过程可表示为则加密过程可表示为CBCCBC模式加密框图模式加密框图)(xEk9 9CBCCBC模式脱密框图模式脱密框图 CBC模式的脱密过程为模式的脱密过程为1010)(xEk11111.明文块的统计特性得到了隐蔽。明文块的统计特性得到了隐蔽。CBC模式的特点:模式的特点:由于在密文由于在密文CBCCBC模式中,各密文块不仅与当前明文模式中,各密文块不仅与当前明文块有关,而且还与以前的明文块及初始化向量有关

7、,块有关,而且还与以前的明文块及初始化向量有关,从而从而使使明文的统计规律在密文中得到了较好的隐蔽。明文的统计规律在密文中得到了较好的隐蔽。2.具有有限的具有有限的(两步两步)错误传播特性。错误传播特性。一个密文块的错误将导致两个密文块不能正确脱密一个密文块的错误将导致两个密文块不能正确脱密.3.具有自同步功能具有自同步功能 密文出现丢块和错块不影响后续密文块的脱密密文出现丢块和错块不影响后续密文块的脱密.若若从第从第t块起块起密文块正确密文块正确,则第则第t+1个明文块就能正确求出个明文块就能正确求出.1212 典型应用典型应用:(1)数据加密数据加密;(2)完整性认证和身份认证完整性认证和

8、身份认证;完整性认证的含义完整性认证的含义 完整性认证是一个完整性认证是一个“用户用户”检验它收到的文检验它收到的文件是否遭到第三方有意或无意的篡改。件是否遭到第三方有意或无意的篡改。因此,完整性认证:因此,完整性认证:不需检验文件的制造者是否造假;不需检验文件的制造者是否造假;文件的制造者和检验者利益一致,不需互相欺骗文件的制造者和检验者利益一致,不需互相欺骗和抵赖。和抵赖。1313 利用利用CBC模式可实现报文的完整性认证模式可实现报文的完整性认证 目的目的:检查文件在检查文件在(直接或加密直接或加密)传输和存储中是否传输和存储中是否遭到有意或无意的篡改遭到有意或无意的篡改.关键技术关键技

9、术:(1)文件的制造者和检验者共享一个密钥文件的制造者和检验者共享一个密钥 (2)文件的明文必须具有检验者预先知道的冗余度文件的明文必须具有检验者预先知道的冗余度 (3)文件的制造者用共享密钥对具有约定冗余度的文件的制造者用共享密钥对具有约定冗余度的明文用明文用CBC模式加密模式加密 (4)文件的检验者用共享密钥对密文脱密文件的检验者用共享密钥对密文脱密,并检验约并检验约定冗余度是否正确定冗余度是否正确.1414报文完整性认证的具体实现技术报文完整性认证的具体实现技术 (1)文件的制造者和检验者共享一个密钥;文件的制造者和检验者共享一个密钥;(2)文件的明文文件的明文m产生一个奇偶校验码产生一

10、个奇偶校验码r的分组;的分组;(3)采用分组密码的采用分组密码的CBC模式,对附带校验码的已模式,对附带校验码的已扩充的明文扩充的明文(m,r)进行加密,得到的最后一个密文分组进行加密,得到的最后一个密文分组就是认证码;就是认证码;1515n分组分组明文明文 ,校验码为校验码为Cn+1为认证码。(1)仅需对明文认证仅需对明文认证,而不需加密时而不需加密时,传送明文传送明文m和和认证码认证码Cn+1,此时也可仅保留此时也可仅保留Cn+1的的 t 个比特作为认证码;个比特作为认证码;(2)既需对明文认证既需对明文认证,又需要加密时又需要加密时,传送密文传送密文C和和认证码认证码Cn+1)(xEk)

11、(xEk1616 检验方法:检验方法:(1)仅需对明文认证而不需加密时)仅需对明文认证而不需加密时,此时验证者仅收到明此时验证者仅收到明文文m和和认证码认证码Cn+1,他需要:,他需要:Step2 利用共享密钥使用利用共享密钥使用CBC模式对模式对(m,r)加密,将得到的加密,将得到的最后一个密文分组与接受到的认证码最后一个密文分组与接受到的认证码Cn+1比较,二者一致时比较,二者一致时判定接收的明文无错;二者不一致时判定明文出错。判定接收的明文无错;二者不一致时判定明文出错。Step1 产生明文产生明文m的校验码的校验码1717 例:例:电脑彩票的防伪技术电脑彩票的防伪技术 -彩票中心检查兑

12、奖的电脑彩票是否是自己发行的彩票中心检查兑奖的电脑彩票是否是自己发行的彩票中心检查兑奖的电脑彩票是否是自己发行的彩票中心检查兑奖的电脑彩票是否是自己发行的 问题:如何防止电脑彩票的伪造问题。问题:如何防止电脑彩票的伪造问题。问题:如何防止电脑彩票的伪造问题。问题:如何防止电脑彩票的伪造问题。方法:方法:(1)选择一个分组密码算法和一个认证密钥,将他们存于售票)选择一个分组密码算法和一个认证密钥,将他们存于售票机内;机内;(2)将电脑彩票上的重要信息,如彩票期号、彩票号码、彩票)将电脑彩票上的重要信息,如彩票期号、彩票号码、彩票股量、售票单位代号等重要信息按某个约定的规则作为彩票资料明股量、售票

13、单位代号等重要信息按某个约定的规则作为彩票资料明文;文;(3)对彩票资料明文扩展一个校验码分组后,利用认证密钥和)对彩票资料明文扩展一个校验码分组后,利用认证密钥和分组密码算法对之加密,并将得到的最后一个分组密文作为认证码分组密码算法对之加密,并将得到的最后一个分组密文作为认证码打印于彩票上面;打印于彩票上面;认证过程:认证过程:执行(执行(3),并将计算出的认证码与彩票上的认证码比较,二者一并将计算出的认证码与彩票上的认证码比较,二者一致时判定该彩票是真彩票,否则判定该彩票是假彩票。致时判定该彩票是真彩票,否则判定该彩票是假彩票。18183 3密码反馈密码反馈(CFB-Cipher Feed

14、back)CFB-Cipher Feedback)模式模式 是一种将是一种将DESDES转化成流密码的技术,不再要求报文被填充成整个转化成流密码的技术,不再要求报文被填充成整个分组,可以实时运行,如果要传输一个字符流,每个字符都可以使用分组,可以实时运行,如果要传输一个字符流,每个字符都可以使用面向字符的流密码立刻加密和传输。面向字符的流密码立刻加密和传输。加密:加密函数的输入是一个加密:加密函数的输入是一个64位的移位寄存器(在数字电路中,位的移位寄存器(在数字电路中,用来存放二进制数据或代码的电路称为寄存器。寄存器是由具有存储用来存放二进制数据或代码的电路称为寄存器。寄存器是由具有存储功能

15、的触发器组合起来构成的。一个触发器可以存储一位二进制代码功能的触发器组合起来构成的。一个触发器可以存储一位二进制代码,存放存放N位二进制代码的寄存器,需用位二进制代码的寄存器,需用n个触发器来构成。移位寄存器中个触发器来构成。移位寄存器中的数据可以在移位脉冲作用下一次逐位右移或左移的数据可以在移位脉冲作用下一次逐位右移或左移),产生初始向量,产生初始向量IV。加密函数高端。加密函数高端j位与明文位与明文m1的第一个单元异或,产生的第一个单元异或,产生j位密文位密文c1进进入移位寄存器低端,继续加密与入移位寄存器低端,继续加密与m2输入异或,如此重复直到所有明文输入异或,如此重复直到所有明文单元

16、都完成加密。单元都完成加密。解密:采用相同方案,但是使用加密函数而非解密函数。解密:采用相同方案,但是使用加密函数而非解密函数。1919 若待加密消息需按字符、字节或比特处理时,可采用若待加密消息需按字符、字节或比特处理时,可采用CFB模式。并称模式。并称待加密消息按待加密消息按 j 比特处理的比特处理的CFB模式为模式为 j 比特比特CFBCFB模式。模式。适用范围适用范围:适用于每次处理适用于每次处理 j比特明文块的特定需求的加密情形比特明文块的特定需求的加密情形,能灵活适应数据各格式的需要能灵活适应数据各格式的需要.例如例如,数据库加密要求加密时不能改变明文的字节长度数据库加密要求加密时

17、不能改变明文的字节长度,这时就要以明文字节为单位进行加密这时就要以明文字节为单位进行加密.2020j j比特比特CFBCFB模式加密框图模式加密框图 若记若记IV=c-l+1c-1 c0,|ci|=j,则加密过程可表示为,则加密过程可表示为:注注意意:进进行行下下一一轮轮加加密密时时,移移位位寄寄存存器器先先左左移移j位位,然然后后再再用用上上一一轮轮产产生生的的j位位密密文文补补齐齐。2121密文反馈模式的解密2222 优点优点:(1)适用于每次处理适用于每次处理 j比特明文块的特定需求的加密情形比特明文块的特定需求的加密情形;(2)具有有限步的错误传播,可用于认证具有有限步的错误传播,可用

18、于认证;(3)可实现自同步功能可实现自同步功能:该工作模式本质上是将分组密码当作序列密码使用的一种方式该工作模式本质上是将分组密码当作序列密码使用的一种方式,但但乱数与明文和密文有关!乱数与明文和密文有关!该模式适应于数据库加密、无线通信加密等对数据格式有特殊要该模式适应于数据库加密、无线通信加密等对数据格式有特殊要求或密文信号容易丢失或出错的应用环境。求或密文信号容易丢失或出错的应用环境。缺点:加密效率低。缺点:加密效率低。加解密两端都需要用到分组加密器。明文发加解密两端都需要用到分组加密器。明文发生错误时,错误会传播。如果有一个字节的密文在传输的时候发生错生错误时,错误会传播。如果有一个字

19、节的密文在传输的时候发生错误(即使是其中的一位),那么它出现在移位寄存器期间解密的误(即使是其中的一位),那么它出现在移位寄存器期间解密的8个字个字节数据都会得不到正确的解密结果,在这节数据都会得不到正确的解密结果,在这8个字节过去之后,依然可以个字节过去之后,依然可以得到正确的解密结果。另外该模式也比较浪费,因为在每轮加解密中得到正确的解密结果。另外该模式也比较浪费,因为在每轮加解密中都丢弃了大部分结果,都丢弃了大部分结果,j通常为一字节。通常为一字节。23234 4输出反馈输出反馈(OFB-Output Feedback)OFB-Output Feedback)模式模式 OFB模式在结构上

20、类似于模式在结构上类似于CFB模式,但反馈的内容是模式,但反馈的内容是DES输出的乱数而不是密文!这一点从图中可以看到。输出的乱数而不是密文!这一点从图中可以看到。j j比比特特OFBOFB模模式式加加密密框框图图2424OFB模式加密框图模式加密框图2525 优点:优点:(1)这是将分组密码当作序列密码使用的一种方式,)这是将分组密码当作序列密码使用的一种方式,但乱数与明文和密文无关!但乱数与明文和密文无关!(2)不具有错误传播特性!)不具有错误传播特性!只要密文在传输过程中不丢信号,即使信道不好,也能只要密文在传输过程中不丢信号,即使信道不好,也能将明文的大部分信号正常恢复。将明文的大部分

21、信号正常恢复。适用范围:适用范围:(1)明文的冗余度特别大,信道不好但不易丢信号,)明文的冗余度特别大,信道不好但不易丢信号,明文错些信号也不影响效果的情形。如图象加密,语音加密明文错些信号也不影响效果的情形。如图象加密,语音加密等。等。缺点:缺点:(1)不能实现报文的完整性认证。)不能实现报文的完整性认证。(2)乱数序列的周期可能有短周期现象。)乱数序列的周期可能有短周期现象。2626 总总 评:评:(1)ECB模式简单、高速,但最弱,易受重发和替换模式简单、高速,但最弱,易受重发和替换攻击,一般不采用。攻击,一般不采用。(2)CBC,CFC,OFB模式的选用取决于实际的特殊模式的选用取决于

22、实际的特殊需求。需求。(3)明文不易丢信号,对明文的格式没有特殊要求的)明文不易丢信号,对明文的格式没有特殊要求的环境可选用环境可选用CBC模式。需要完整性认证功能时也可选用该模模式。需要完整性认证功能时也可选用该模式。式。(4)容易丢信号的环境,或对明文格式有特殊要求的)容易丢信号的环境,或对明文格式有特殊要求的环境,可选用环境,可选用CFB模式。模式。(2)不易丢信号,但信号特别容易错,但明文冗余特)不易丢信号,但信号特别容易错,但明文冗余特别多,可选用别多,可选用OFB模式。模式。27275.计计 数数 器器 模模 式式 利用固定密钥利用固定密钥k对自然数序列对自然数序列1 1,2,3,

23、n,2,3,n,加密加密,将得到的密文分组序列看作乱数序列将得到的密文分组序列看作乱数序列,按加减密码的方式按加减密码的方式与明文分组逐位模与明文分组逐位模2加的一种方式加的一种方式.这也是人们普遍认可的一种方式这也是人们普遍认可的一种方式.利用这种方式可以产生伪随机数序列利用这种方式可以产生伪随机数序列,其伪随机特性其伪随机特性远比计算机产生的随机数的性质好远比计算机产生的随机数的性质好,至少我们对它的产生至少我们对它的产生过程是很明了的过程是很明了的,很放心的很放心的.2828 CTR(Counter Mode Encryption)模式)模式 CTR模式是模式是Diffie和和Hellm

24、an于于1979年提出的,年提出的,在征集在征集AES工作模式的活动中由工作模式的活动中由California大学大学的的Phillip Rogaway等人的推荐。等人的推荐。设设T1,T2,Tn-1,Tn 是是一一给给定定的的计计数数序序列列,M1,M2,Mn-1,Mn 是是明明文文,其其中中M1,M2,Mn-1是是标标准准块块,Mn 的的可可能能是是标标准准块块,也也可可能能是是短短块块。设设其其长长度度等等于于u,u小小于于等等于于分分组组长度。长度。2929 CTR的工作模式的加密过程如下:的工作模式的加密过程如下:OiE(Ti,K),i=1,2,n.CiMiOi,i=1,2,n-1.

25、CnMnMSBu(On).其中MSBu(On)表示On 中的高u位。3030计数器加密算法 EMM i iC C i iT T i iO O i iK KT T 1 1时钟脉冲时钟脉冲3131 CTR的工作模式的解密过程如下:的工作模式的解密过程如下:OiE(Ti,K),i=1,2,n.MiCiOi,i=1,2,n-1.MnCnMSBu(On).3232 CTR的工作模式的优点:的工作模式的优点:CTRCTR模模式式的的优优点点是是安安全全、高高效效、可可并并行行、适适合合任任意意长度的数据;长度的数据;O Oi i的计算可预处理高速进行;的计算可预处理高速进行;加加解解密密过过程程仅仅涉涉及

26、及加加密密运运算算,不不涉涉及及解解密密运运算算,因因此不用实现解密算法。此不用实现解密算法。适合随机存储数据的解密。适合随机存储数据的解密。CTR模模式式的的缺缺点点是是没没有有错错误误传传播播,因因此此不不易易确确保数据完整性。保数据完整性。3333三、短块加密三、短块加密分分组组密密码码一一次次只只能能对对一一个个固固定定长长度度的的明明文文(密文)块进行加(解)密。(密文)块进行加(解)密。称长度小于分组长度的数据块为短块。称长度小于分组长度的数据块为短块。必须采用合适的技术解决短块加密问题。必须采用合适的技术解决短块加密问题。短块处理技术:短块处理技术:1、填充技术、填充技术 2、密

27、文挪用技术、密文挪用技术 3、序列加密、序列加密3434短块处理方法短块处理方法-1 1直接扩充法直接扩充法 在电码本模式和密文链接模式中在电码本模式和密文链接模式中,都要求明文长度是明文都要求明文长度是明文分组规模的整数倍分组规模的整数倍.否则就会出现最后一个明文分组是短块的否则就会出现最后一个明文分组是短块的情形情形.这时应如何处理呢这时应如何处理呢?方法方法1:1:对明文扩充对明文扩充,使最后一个分组不是短块使最后一个分组不是短块,但需在但需在文件头或最后一个明文分组中指明文件所含的字节数文件头或最后一个明文分组中指明文件所含的字节数.(A)A)添充全添充全0 0比特或其它固定比特比特或

28、其它固定比特,或计算机内存中自或计算机内存中自然存放的数据然存放的数据.(B)B)添充随机数添充随机数.相对而言相对而言,方法方法(A)A)简单简单,易实现易实现,但安全性没有第二种但安全性没有第二种方法好方法好.填充法适于通信加密而不适于文件和数据库加密。填充法适于通信加密而不适于文件和数据库加密。3535 Mn-1aa bMnECnDMnMn-1加密加密解密解密K KK KK KK KEDb Mna bb MnC Cn-1n-12 2、密文挪用技术、密文挪用技术、密文挪用技术、密文挪用技术3636密文挪用法也需要指示挪用位数的指示符,否则收信者不知道挪用了多少位,从而不能正确解密。密文挪用加密短块的优点是不引起数据扩展。缺点是解密时要先解密Cn、还原挪用后再解密Cn-1,从而使控制复杂。3737三、短块加密三、短块加密3、序列加密、序列加密对于最后一块短块数据,直接使用密钥K与短块数据模2相加。序列加密方法的优点是简单。但是如果短块太短,则加密强度不高。3838下节内容IDEA算法3939此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服