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

上传人:无*** 文档编号:146911542 上传时间:2022-09-01 格式:PPT 页数:40 大小:865KB
返回 下载 相关 举报
密码学第10讲分组密码的工作模式_第1页
第1页 / 共40页
密码学第10讲分组密码的工作模式_第2页
第2页 / 共40页
密码学第10讲分组密码的工作模式_第3页
第3页 / 共40页
点击查看更多>>
资源描述
DESDES算法只解决了如何对一个算法只解决了如何对一个6464比特的比特的明文分组进行加密保护的问题明文分组进行加密保护的问题,对于比特数对于比特数不等于不等于6464的明文如何加密的明文如何加密,并不关心。这个并不关心。这个问题问题,就由分组密码的工作模式解决。就由分组密码的工作模式解决。分组密码的分组密码的“工作模式工作模式”是指以某个分组密码算是指以某个分组密码算法为基础法为基础,解决对任意长度的明文的加密问题的方法。解决对任意长度的明文的加密问题的方法。这五种工作模式适用于不同的应用需求这五种工作模式适用于不同的应用需求.分组密码的工作模式主要有:分组密码的工作模式主要有:ECB模式是将明文的各个分组模式是将明文的各个分组独立地独立地使用同一密钥使用同一密钥k加密,如下图所示。加密,如下图所示。ECBECB模式的加、脱密框图模式的加、脱密框图)(xEk)(xEk)(xEk)(xEk4m1m3m2m4c1c3c2c 典型应用:典型应用:(1)用于随机数的加密保护;)用于随机数的加密保护;(2)用于单分组明文的加密。)用于单分组明文的加密。优点优点:(1)实现简单实现简单;(2)不同明文分组的加密可并行实施不同明文分组的加密可并行实施,尤其是尤其是硬件实现时速度很快硬件实现时速度很快.缺点:缺点:不同的明文分组之间的加密独立进行不同的明文分组之间的加密独立进行,故保故保留了单表代替缺点留了单表代替缺点,造成造成相同明文分组对应相同密相同明文分组对应相同密文分组文分组,因而不能隐蔽明文分组的统计规律和结构因而不能隐蔽明文分组的统计规律和结构规律规律,不能抵抗替换攻击不能抵抗替换攻击.敌手敌手C通过截收从通过截收从A到到B的加密消息,只要将第的加密消息,只要将第5至第至第12分组替分组替换为自己的姓名和帐号相对应的密文(因为换为自己的姓名和帐号相对应的密文(因为ECB模式不同的分组加模式不同的分组加密采用相同密钥独立进行),即可将别人的存款存入自己的帐号。密采用相同密钥独立进行),即可将别人的存款存入自己的帐号。例例:假设银行假设银行A和银行和银行B之间的资金转帐系统所使用报之间的资金转帐系统所使用报文模式如下:文模式如下:为了克服为了克服ECB的安全性缺陷,我们希望设计一的安全性缺陷,我们希望设计一个工作模式个工作模式,可以使得当同一个明文分组重复出现时可以使得当同一个明文分组重复出现时产生不同的密文分组。一个简单的方法是密码分组产生不同的密文分组。一个简单的方法是密码分组链接,从而使输出不仅与当前输入有关,而且与以链接,从而使输出不仅与当前输入有关,而且与以前输入和输出有关。前输入和输出有关。2 2密码分组链接密码分组链接(CBC-Cipher Block Chaining)CBC-Cipher Block Chaining)模式模式 在在CBC模式下,加密算法的输入是当前明文组与前一密文组的异或。模式下,加密算法的输入是当前明文组与前一密文组的异或。记记初始初始化向量化向量IV(初始化向量不需要保密,它可以明文形式与密文一(初始化向量不需要保密,它可以明文形式与密文一起传送)为起传送)为c0,则加密过程可表示为则加密过程可表示为CBCCBC模式加密框图模式加密框图1(),1,2,3,ikiicEmci3m)(xEk4m4c)(xEk1m1c)(xEk3c)(xEk2m2c1nm1ncIV)(xEkCBCCBC模式脱密框图模式脱密框图 11(),1,2,3,ikiimEcci1E1E1E IVkkk1m2m3m1c2c3c1E1E1E IVkkk1m2m3m1c2c3c)(xEk4m4c)(xEk1m1c)(xEk3c)(xEk2m2c1nm1ncIV)(xEk3m1.明文块的统计特性得到了隐蔽。明文块的统计特性得到了隐蔽。由于在密文由于在密文CBCCBC模式中,各密文块不仅与当前明文模式中,各密文块不仅与当前明文块有关,而且还与以前的明文块及初始化向量有关,块有关,而且还与以前的明文块及初始化向量有关,从而从而使使明文的统计规律在密文中得到了较好的隐蔽。明文的统计规律在密文中得到了较好的隐蔽。2.具有有限的具有有限的(两步两步)错误传播特性。错误传播特性。一个密文块的错误将导致两个密文块不能正确脱密一个密文块的错误将导致两个密文块不能正确脱密.3.具有自同步功能具有自同步功能 密文出现丢块和错块不影响后续密文块的脱密密文出现丢块和错块不影响后续密文块的脱密.若从若从第第t块起块起密文块正确密文块正确,则第则第t+1个明文块就能正确求出个明文块就能正确求出.典型应用典型应用:(1)数据加密数据加密;(2)完整性认证和身份认证完整性认证和身份认证;完整性认证的含义完整性认证的含义 完整性认证是一个完整性认证是一个“用户用户”检验它收到的文检验它收到的文件是否遭到第三方有意或无意的篡改。件是否遭到第三方有意或无意的篡改。因此,完整性认证:因此,完整性认证:不需检验文件的制造者是否造假;不需检验文件的制造者是否造假;文件的制造者和检验者利益一致,不需互相欺文件的制造者和检验者利益一致,不需互相欺骗和抵赖。骗和抵赖。目的目的:检查文件在检查文件在(直接或加密直接或加密)传输和存储中是否遭传输和存储中是否遭到有意或无意的篡改到有意或无意的篡改.关键技术关键技术:(1)文件的制造者和检验者共享一个密钥文件的制造者和检验者共享一个密钥 (2)文件的明文必须具有检验者预先知道的冗余度文件的明文必须具有检验者预先知道的冗余度 (3)文件的制造者用共享密钥对具有约定冗余度的文件的制造者用共享密钥对具有约定冗余度的明文用明文用CBC模式加密模式加密 (4)文件的检验者用共享密钥对密文脱密文件的检验者用共享密钥对密文脱密,并检验约并检验约定冗余度是否正确定冗余度是否正确.(1)文件的制造者和检验者共享一个密钥;文件的制造者和检验者共享一个密钥;(2)文件的明文文件的明文m产生一个奇偶校验码产生一个奇偶校验码r的分组;的分组;(3)采用分组密码的采用分组密码的CBC模式,对附带校验码的已模式,对附带校验码的已扩充的明文扩充的明文(m,r)进行加密,得到的最后一个密文分组进行加密,得到的最后一个密文分组就是认证码;就是认证码;n分组分组明文明文 ,校验码为校验码为1(,)nmmm11nnrmmmCn+1为认证码。(1)仅需对明文认证仅需对明文认证,而不需加密时而不需加密时,传送明文传送明文m和和认证码认证码Cn+1,此时也可仅保留此时也可仅保留Cn+1的的 t 个比特作为认证码;个比特作为认证码;(2)既需对明文认证既需对明文认证,又需要加密时又需要加密时,传送密文传送密文C和和认证码认证码Cn+1)(xEk)(xEk)(xEk)(xEk)(xEk4c1c3c2c4m1m3m2m1nmr1nc)(xEknmnc()kEx4m4c()kEx1m1c()kEx3m3c()kEx2m2c()kEx1nm1nc (1)仅需对明文认证而不需加密时)仅需对明文认证而不需加密时,此时验证者仅收到明此时验证者仅收到明文文m和和认证码认证码Cn+1,他需要:,他需要:Step2 利用共享密钥使用利用共享密钥使用CBC模式对模式对(m,r)加密,将得到的加密,将得到的最后一个密文分组与接受到的认证码最后一个密文分组与接受到的认证码Cn+1比较,二者一致时比较,二者一致时判定接收的明文无错;二者不一致时判定明文出错。判定接收的明文无错;二者不一致时判定明文出错。11nnrmmm Step1 产生明文产生明文m的校验码的校验码 方法:方法:(1)选择一个分组密码算法和一个认证密钥,将他们存于售票)选择一个分组密码算法和一个认证密钥,将他们存于售票机内;机内;(2)将电脑彩票上的重要信息,如彩票期号、彩票号码、彩票)将电脑彩票上的重要信息,如彩票期号、彩票号码、彩票股量、售票单位代号等重要信息按某个约定的规则作为彩票资料明股量、售票单位代号等重要信息按某个约定的规则作为彩票资料明文;文;(3)对彩票资料明文扩展一个校验码分组后,利用认证密钥和)对彩票资料明文扩展一个校验码分组后,利用认证密钥和分组密码算法对之加密,并将得到的最后一个分组密文作为认证码分组密码算法对之加密,并将得到的最后一个分组密文作为认证码打印于彩票上面;打印于彩票上面;认证过程:认证过程:执行(执行(3),并将计算出的认证码与彩票上的认证码比较,二者一并将计算出的认证码与彩票上的认证码比较,二者一致时判定该彩票是真彩票,否则判定该彩票是假彩票。致时判定该彩票是真彩票,否则判定该彩票是假彩票。是一种将是一种将DESDES转化成流密码的技术,不再要求报文被填充成整个转化成流密码的技术,不再要求报文被填充成整个分组,可以实时运行,如果要传输一个字符流,每个字符都可以使用分组,可以实时运行,如果要传输一个字符流,每个字符都可以使用面向字符的流密码立刻加密和传输。面向字符的流密码立刻加密和传输。加密:加密函数的输入是一个加密:加密函数的输入是一个64位的移位寄存器(在数字电路中,位的移位寄存器(在数字电路中,用来存放二进制数据或代码的电路称为寄存器。寄存器是由具有存储用来存放二进制数据或代码的电路称为寄存器。寄存器是由具有存储功能的触发器组合起来构成的。一个触发器可以存储一位二进制代码功能的触发器组合起来构成的。一个触发器可以存储一位二进制代码,存放存放N位二进制代码的寄存器,需用位二进制代码的寄存器,需用n个触发器来构成。移位寄存器中个触发器来构成。移位寄存器中的数据可以在移位脉冲作用下一次逐位右移或左移的数据可以在移位脉冲作用下一次逐位右移或左移),产生初始向量,产生初始向量IV。加密函数高端。加密函数高端j位与明文位与明文m1的第一个单元异或,产生的第一个单元异或,产生j位密文位密文c1进进入移位寄存器低端,继续加密与入移位寄存器低端,继续加密与m2输入异或,如此重复直到所有明文输入异或,如此重复直到所有明文单元都完成加密。单元都完成加密。解密:采用相同方案,但是使用加密函数而非解密函数。解密:采用相同方案,但是使用加密函数而非解密函数。若待加密消息需按字符、字节或比特处理时,可采用若待加密消息需按字符、字节或比特处理时,可采用CFB模式。并称模式。并称待加密消息按待加密消息按 j 比特处理的比特处理的CFB模式为模式为 j 比特比特CFBCFB模式。模式。适用范围适用范围:适用于每次处理适用于每次处理 j比特明文块的特定需求的加密情形比特明文块的特定需求的加密情形,能灵活适应数据各格式的需要能灵活适应数据各格式的需要.例如例如,数据库加密要求加密时不能改变明文的字节长度数据库加密要求加密时不能改变明文的字节长度,这时就要以明文字节为单位进行加密这时就要以明文字节为单位进行加密.j j比特比特CFBCFB模式加密框图模式加密框图 若记若记IV=c-l+1c-1 c0,|ci|=j,则加密过程可表示为,则加密过程可表示为:1,2,i 注意:进行下一轮加密时,移位寄存器先注意:进行下一轮加密时,移位寄存器先左左移移j位,然后再用上一轮产生的位,然后再用上一轮产生的j位密文补齐。位密文补齐。优点优点:(1)适用于每次处理适用于每次处理 j比特明文块的特定需求的加密情形比特明文块的特定需求的加密情形;(2)具有有限步的错误传播,可用于认证具有有限步的错误传播,可用于认证;(3)可实现自同步功能可实现自同步功能:该工作模式本质上是将分组密码当作序列密码使用的一种方式该工作模式本质上是将分组密码当作序列密码使用的一种方式,但但乱数与明文和密文有关!乱数与明文和密文有关!该模式适应于数据库加密、无线通信加密等对数据格式有特殊要该模式适应于数据库加密、无线通信加密等对数据格式有特殊要求或密文信号容易丢失或出错的应用环境。求或密文信号容易丢失或出错的应用环境。缺点:加密效率低。缺点:加密效率低。加解密两端都需要用到分组加密器。明文发加解密两端都需要用到分组加密器。明文发生错误时,错误会传播。如果有一个字节的密文在传输的时候发生错生错误时,错误会传播。如果有一个字节的密文在传输的时候发生错误(即使是其中的一位),那么它出现在移位寄存器期间解密的误(即使是其中的一位),那么它出现在移位寄存器期间解密的8个字个字节数据都会得不到正确的解密结果,在这节数据都会得不到正确的解密结果,在这8个字节过去之后,依然可以个字节过去之后,依然可以得到正确的解密结果。另外该模式也比较浪费,因为在每轮加解密中得到正确的解密结果。另外该模式也比较浪费,因为在每轮加解密中都丢弃了大部分结果,都丢弃了大部分结果,j通常为一字节。通常为一字节。4 4输出反馈输出反馈(OFB-Output Feedback)OFB-Output Feedback)模式模式 OFB模式在结构上类似于模式在结构上类似于CFB模式,但反馈的内容是模式,但反馈的内容是DES输出的乱数而不是密文!这一点从图中可以看到。输出的乱数而不是密文!这一点从图中可以看到。j j比比特特OFBOFB模模式式加加密密框框图图 优点:优点:(1)这是将分组密码当作序列密码使用的一种方式,)这是将分组密码当作序列密码使用的一种方式,但乱数与明文和密文无关!但乱数与明文和密文无关!(2)不具有错误传播特性!)不具有错误传播特性!只要密文在传输过程中不丢信号,即使信道不好,也能只要密文在传输过程中不丢信号,即使信道不好,也能将明文的大部分信号正常恢复。将明文的大部分信号正常恢复。适用范围:适用范围:(1)明文的冗余度特别大,信道不好但不易丢信号,)明文的冗余度特别大,信道不好但不易丢信号,明文错些信号也不影响效果的情形。如图象加密,语音加密明文错些信号也不影响效果的情形。如图象加密,语音加密等。等。缺点:缺点:(1)不能实现报文的完整性认证。)不能实现报文的完整性认证。(2)乱数序列的周期可能有短周期现象。)乱数序列的周期可能有短周期现象。总总 评:评:(1)ECB模式简单、高速,但最弱,易受重发和替换模式简单、高速,但最弱,易受重发和替换攻击,一般不采用。攻击,一般不采用。(2)CBC,CFC,OFB模式的选用取决于实际的特模式的选用取决于实际的特殊需求。殊需求。(3)明文不易丢信号,对明文的格式没有特殊要求的)明文不易丢信号,对明文的格式没有特殊要求的环境可选用环境可选用CBC模式。需要完整性认证功能时也可选用该模模式。需要完整性认证功能时也可选用该模式。式。(4)容易丢信号的环境,或对明文格式有特殊要求的)容易丢信号的环境,或对明文格式有特殊要求的环境,可选用环境,可选用CFB模式。模式。(2)不易丢信号,但信号特别容易错,但明文冗余特)不易丢信号,但信号特别容易错,但明文冗余特别多,可选用别多,可选用OFB模式。模式。5.计计 数数 器器 模模 式式 利用固定密钥利用固定密钥k对自然数序列对自然数序列1 1,2,3,n,2,3,n,加密加密,将得到的密文分组序列看作乱数序列将得到的密文分组序列看作乱数序列,按加减密码的方式按加减密码的方式与明文分组逐位模与明文分组逐位模2加的一种方式加的一种方式.这也是人们普遍认可的一种方式这也是人们普遍认可的一种方式.利用这种方式可以产生伪随机数序列利用这种方式可以产生伪随机数序列,其伪随机特其伪随机特性远比计算机产生的随机数的性质好性远比计算机产生的随机数的性质好,至少我们对它的产至少我们对它的产生过程是很明了的生过程是很明了的,很放心的很放心的.计数器加密算法 E短块处理方法短块处理方法-1 1直接扩充法直接扩充法 在电码本模式和密文链接模式中在电码本模式和密文链接模式中,都要求明文长度是明都要求明文长度是明文分组规模的整数倍文分组规模的整数倍.否则就会出现最后一个明文分组是短否则就会出现最后一个明文分组是短块的情形块的情形.这时应如何处理呢这时应如何处理呢?方法方法1:1:对明文扩充对明文扩充,使最后一个分组不是短块使最后一个分组不是短块,但需但需在文件头或最后一个明文分组中指明文件所含的字节数在文件头或最后一个明文分组中指明文件所含的字节数.(A)A)添充全添充全0 0比特或其它固定比特比特或其它固定比特,或计算机内存中自或计算机内存中自然存放的数据然存放的数据.(B)B)添充随机数添充随机数.相对而言相对而言,方法方法(A)A)简单简单,易实现易实现,但安全性没有第二种但安全性没有第二种方法好方法好.填充法适于通信加密而不适于文件和数据库加密。填充法适于通信加密而不适于文件和数据库加密。Mn-1aa bMnECnDMnMn-1EDb Mna bb Mn部分资料从网络收集整理而来,供大家参考,感谢您的关注!
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!