《密码技术基础》课件-第四章 分组密码的模式_第1页
《密码技术基础》课件-第四章 分组密码的模式_第2页
《密码技术基础》课件-第四章 分组密码的模式_第3页
《密码技术基础》课件-第四章 分组密码的模式_第4页
《密码技术基础》课件-第四章 分组密码的模式_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

密码技术基础目录CONTENTS本章内容01分组密码的模式02ECB模式03CBC模式04CFB模式05OFB模式06CTR模式0701本章学习内容对称密码—本章内容简介分组密码模式ECB、CBC、CFB、OFB、CTR几种模式比较02分组密码模式分组密码的模式分组密码与流密码分组密码(blockcipher)是每次只能处理特定长度的一块数据的一类密码算法,这里的“一块”被称为分组。一个分组的比特数称为分组长度。例如DES和3DES的分组长度都是64位。AES、SM4分组长度为128位。分组密码处理完一个分组以后就结束,不需要记录额外的状态。分组密码进行加密前,密文需要先拆分为多个分组不是分组长度整数倍的需要填充以分组为单位,实施加解密操作,密文是分组的整数倍。流密码:是对数据流进行连续处理的一类密码算法。流密码中一般以1比特、8比特或32比特等为单位进行加密和解密。流密码是对一串数据流进行连续处理,因此需要保持内部状态。流密码生成密钥流与明文异或,不需要对明文进行预处理。分组密码的模式什么是模式由于DES和AES一次加密都只能加密固定长度的明文,如果需要加密任意长度的明文,就需要对分组密码进行迭代,而分组密码的迭代方式就称为分组密码的“模式”。分组密码有很多模式,如果模式选择的不恰当就无法充分保障机密性。将明文分割成多个分组并逐个加密的方法称为ECB模式。ECB模式存在安全漏洞。分组密码的模式什么是模式国家标准GB/T17964-2008《信息安全技术

分组密码算法的工作模式》,定义以下七种工作模式。常用工作模式为前面三种ECB电子密码本模式(Electroniccodebook)CBC密文分组链接模式(CiperBlockChaining)CTR计数器模式(Countermode)CFB密文反馈模式OFB输出反馈模式分组密码的模式明文分组与密文分组明文分组:指分组密码算法中作为加密对象的明文。明文分组的长度与分组密码算法的分组长度是相等的。密文分组:指使用分组密码算法将明文分组加密之后所生成的密文。03ECB模式分组密码的模式-ECB模式什么是ECB模式将明文分组直接加密的方式就是ECB模式。ECB模式全称是ElectronicCodeBook模式。分组密码的模式-ECB模式什么是ECB模式使用ECB模式加密时,相同的明文分组会被转换为相同的密文分组。明文分组和密文分组形成对应表,ECB模式也称为电子密码本模式。最后一个明文分组的内容小于分组长度时,需要一些特定的数据进行填充。即padding到指定分组长度。分组密码每次处理的对象时一个分组,但一般情况下,明文的最好一个分组很可能会出现长度不足的情况。普遍的做法是在做一个分组后填充一个固定的值,这个值得大小为填充得字节总数即假设最后还差3个字符,则填充0X03。如下图所示:分组密码的模式填充padding这种padding原则遵循常见的PKCS#5标准加密数据时用来填充数据的一种模式分组密码的模式ECB模式的特点优点

(1)最简单模式

(2)不同明文分组的加密可以并行计算,速度很快。缺点(1)通过操作密文操作明文对某一个分组的加密或解密可独立其分组进行对密文分组的重排将导致明文分组的重排分组加密不能抵抗对分组的重放,嵌入和删除等攻击。

(2)水印攻击由于使用的是同一个密钥,同样的明文块会被加密相同的密文块,不会隐藏明文分组的统计规律。分组密码的模式ECB模式的应用场景用于随机数的加密保护用于单分组明文的加密

为了解决ECB的安全缺陷,可以让重复的明文分组产生不同的密文分组,CBC(CipherBlockChaining)模式就可满足这一要求。04CBC模式分组密码的模式-CBC模式什么是CBC模式将前一个密文分组与当前明文分组的内容混合起来进行加密的,可避免ECB模式的弱点。CBC模式全称CipherBlockChaining模式(密文分组链接模式)。密文分组像链条一样相互连接。在CBC模式中,首先将明文分组与前一个密文分组进行XOR运算,然后再进行加密。分组密码的模式-CBC模式什么是CBC模式将一个分组的加密过程分离出来,比较ECB模式和CBC模式的区别,ECB模式只进行了加密,而CBC模式则再加密之前进行了一次XOR。分组密码的模式-CBC模式初始化向量当加密第一个明文分组时,由于不存在前一个密文分组,需要事先准备一个长度为一个分组的比特序列来代替前一个密文分组,这个比特序列称为初始向量(IV)。每次加密时会随机产生一个不同的比特序列来作为初始化向量。分组密码的模式-CBC模式CBC模式特点明文分组在加密之前与前一个密文分组进行XOR运算。即便明文分组1和2的值相等,密文分组1和2的值不一定相等。解决ECB模式的缺陷在CBC模式中就不存在。CBC模式无法单独对一个中间的明文分组进行加密。分组密码的模式-CBC模式CBC模式特点假设CBC模式的密文分组中一些比特缺失。即便只缺失1比特,也会导致密文分组的长度发送变化,明文分组发生错位。缺失比特的位置之后的密文分组全部无法解密。分组密码的模式-CBC模式CBC模式特点(1)优点密文块不仅和当前密文块相关,而且和前一个密文块或IV相关,隐藏了明文的统计信息。具有有限的两步错误传播性,即密文块中的一位变化只会影响当前密文块和下一密文块。具有自同步性,即第K块起密文正确,则第K+1块就能正常解密。链接操作使得密文分组依赖于当前的和一起的明文分组,因此密文分组的重新编排不会导致对相应明文的重新编排。(加大操纵明文的难度和抵抗水印攻击)加密过程使用了IV进行随机化,每次加密IV都必须重新生成,并且要保证IV的随机性。注意:CBC的IV可以公开,但要保证IV不可预测(随机)(2)缺点加密不能并行,解密可以并行。分组密码的模式-CBC模式对CBC模式的攻击攻击者通过修改密文来操纵解密后的明文。假设攻击者对初始化向量中任意比特进行反转(即将1变为0,将0变为1)则明文分组(解密后得到的明文分组)中相应的比特也将会被进行反转。CBC模式解密过程中,第一个明文分组会和初始化向量进行XOR异或运算。初始化向量攻击密文分组进行同样攻击困难分组密码的模式-CBC模式填充提示攻击填充提示攻击(PaddingOracleAttack)是一种利用分组密码中的填充部分来进行攻击的方法。在分组密码中,当明文长度不为分组长度的整数倍时,需要在最后一个分组中填充一些数据使其凑满一个分组长度。在填充提示攻击中,攻击者会反复发送一段密文,每次发送时都对填充的数据进行少许改变。由于接收者(服务器)在无法正确解密时会返回一个错误消息,攻击者通过这一错误消息就可以获得一部分与明文相关的信息。这一攻击方式并不仅限于CBC模式,而是适用于所有需要进行分组填充的模式。2014年对SSL3.0造成重大影响的POODLE攻击实际上就是一种填充提示攻击(14.4.3节)。要防御这种攻击。分组密码的模式-CBC模式对初始化向量(IV)进行攻击初始化向(IV)必须使用不可预测的随机数。在SSL/TLS的TLS1.0版本协议中,IV并没有使用不可预测的随机数。而是使用了上一次CBC模式加密时的最后一个分组。防御方式:TLS1.1以上的版本中改为了必须显式地传送IV。分组密码的模式-CBC模式CBC模式的应用

常见的数据加密和TLS加密

完整性认证和身份认证

。CBC-MAC(消息鉴别码)CBC模式的分组密码算法的一个重要用途CBC-MAC使用全0的IV进行CBC计算使用最后一个分组的输出结果作为MACMAC附加在消息后,可以提供数据完整性:对消息的任何恶意篡改都会被探测到消息源真实性:只有拥有密钥的人才能生成对应MAC分组密码的模式-CBC模式CBC模式的应用CBC-MAC只能为定长的消息生成MAC如果长度不定,可以伪造改进为CMACCipher-basedMessageAuthentication(MAC)对最后一个消息分块进行了处理。可以为长度不定的消息生成MAC分组密码的模式-CBC模式CBC模式的应用AES-CMAC加密算法使用AES-CMAC加密算法对于大文件的分开加密算法的介绍由于公司项目的需求,需要使用AES-CMAC算法对文件进行加密,将加密后的密文附带到文件的后边,都发送出去,接收方收到文件后,也按照AES-CMAC算法进行加密,将加密得到的密文与发送过来的进行比较,如果一致,说明接收的文件没有被破坏,这样就实现了对文件完整性的检查。M:消息CIPHK(X):使用秘钥K对数据块X进行加密(通过调用相应的加密算法)MSBs(X):取位串X的高s位分组密码的模式-CBC模式CBC模式的应用常见应用-身份认证(可鉴别的加密模式)

分组密码算法用途加密MAC应用功能合并即可鉴别的加密模式(Authenticatedencryption)可同时实现数据机密性,完整性以及对数据源真实性的鉴别。相关国家标准GB/T36624-2018《信息技术安全可鉴别的加密机制》已发布。CCM(CounterwithCBC-MAC),运用802.11协议组GCM(Galois/CounterMode)等模式,在TLS1.2以后算法套件中比较常见05CFB模式分组密码的模式—CFB模式什么是CFB模式CFB模式全称是CipherFeedBack(密文反馈模式)。CFB模式中,前一个密文分组会被送回到密码算法的输入端。反馈:返回输入端的意思。ECB模式和CBC模式中,明文分组都是通过密码算法进行加密,在CFB模式中,明文分组并没有通过密码算法来直接进行加密。明文分组和密文分组之间不直接经过加密。CFB模式中,明文分组和密文分组之间只有一个XOR。分组密码解密:分组密码算法依然执行加密操作,密钥流是通过加密操作来生成的。分组密码的模式—CFB模式什么是CFB模式在CBC模式中,明文分组和密文分组之间有XOR和密码算法两个步骤,在CFB模式中,明文分组和密文分组之间则只有XOR。分组密码的模式—CFB模式初始化向量与CBC模式相同,初始化向量随机比特序列作为初始化向量。CFB模式与流密码CFB模式与一次性密码本相似。一次性密码本是通过将“明文”与“随机比特序列”进行xOR运算来生成“密文”的。而CFB模式则是通过将“明文分组”与“密码算法的输出”进行xOR运算来生成“密文分组”的。在通过XOR来进行加密这一点上,两者是非常相似的。在CFB模式中,密码算法的输出相当于一次性密码本中的随机比特序列。由于密码算法的输出是通过计算得到的,并不是真正的随机数(详见第12章),因此CFB模式不可能像一次性密码本那样具备理论上不可破译的性质。分组密码的模式—CFB模式初始化向量与CBC模式相同,初始化向量随机比特序列作为初始化向量。CFB模式与流密码CFB模式中由密码算法所生成的比特序列称为密钥流(keystream)。在CFB模式中密码算法就相当于用来生成密钥流的伪随机数生成器,而初始化向量就相当于伪随机数生成器的“种子”。在CFB模式中,明文数据可以被逐比特加密,因此我们可以将CFB模式看作是一种使用分组密码来实现流密码的方式。分组密码的模式—CFB模式对CFB模式的攻击Alice向Bob发送了一条消息,这条消息由4个密文分组组成。主动攻击者Mallory将该消息中的后3个密文分组保存了下来。转天,Alice又向Bob发送了内容不同的4个密文分组(假设Alice使用了相同的密钥)。Mallory用昨天保存下来的3个密文分组将今天发送的后3个密文分组进行了替换。当Bob解密时,4个分组中就只有第1个可以解密成正确的明文分组,第2个会出错,而第3个和第4个则变成了被Mallory替换的内容(也就是昨天发送的明文内容)Mallory没有破解密码,就成功地将以前的电文混入了新电文中。而第2个分组出错到底是通信错误呢,还是被人攻击所造成的呢?Bob是无法做出判断的。要做出这样的判断,需要使用第8章将要介绍的消息认证码。分组密码的模式—CFB模式CFB模式特点优点适应于不同数据格式的要求有限错误传播自同步缺点加密不能并行,解密不能并行05OFB模式分组密码的模式—OFB模式什么是OFB模式OFB模式全称是Output-Feedback模式-输出反馈模式。OFB模式并不是通过密码算法对明文直接进行加密,而是通过将明文分组和密码算法的输出进行XOR来产生密文分组。与CFB模式相似。分组密码的模式—OFB模式什么是OFB模式分组密码的模式—OFB模式CFB模式与OFB模式的对比OFB模式和CFB模式的区别仅仅在于密码算法的输入。CFB模式中,密码算法的输入是前一个密文分组,将密文分组反馈到密码算法中,因此为密文反馈模式。OFB模式中,密码算法的输入则是密码算法的前一个输出,将输出反馈给密码算法。因此为输出反馈模式。加密算法的输出被反馈到加密算法的输入因此被称为OFB输出反馈密文分组被反馈到加密算法的输入因此为CFB密文反馈CFB模式是对密文分组进行反馈,必须从第一个明文分组开始按顺序进行加密,无法跳过明文分组1而先对明文分组2进行加密。OFB模式,XOR所需的比特序列(密钥流)可事先通过密码算法生成,和明文分组无关。06CTR模式分组密码的模式—CTRCTR模式的全称是CountTeR模式(计数器模式)。CTR模式是一种通过将逐次累加的计数器进行加密来生成密钥流的流密码。CTR模式中,每个分组对应一个逐次累加的计数器,并通过对计数器进行加密来生成密钥。最终的密文分组是通过将计数器加密得到的比特序列,与明文分组进行XOR而得到的。分组密码的模式—CTR每次加密时会生成一个不同的值(nonce)来作为计数器的初始值。当分组长度为128比特(16字节)时,计数器的初始值可能是像下面这样的形式。计数器的生成方法其中前8个字节为nonce,这个值在每次加密时必须不同。后8个字节为分组序号,这个部分是会逐次累加。在加密过程中,计数器的值会产生如下变化。由于计数器的值每次都不同,每个分组中将计数器进行加密所得到的密钥流是不同的。用分组密码来模拟生成随机的比特序列。分组密码的模式—CTRCTR、OFB模式属于流密码。OFB模式是将加密的输出反馈

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论