第四章分组密码课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第四章分组密码课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 分组 密码 课件
- 资源描述:
-
1、2023-4-271 第四章第四章 分组密码分组密码一、分组密码概述一、分组密码概述二、分组密码运行模式二、分组密码运行模式三、三、DESDES四、四、AESAES五、分组密码的分析五、分组密码的分析2023-4-272一、分组密码概述一、分组密码概述2023-4-273分组密码概述分组密码概述n分组密码是许多系统安全的一个重要组成部分。分组密码是许多系统安全的一个重要组成部分。可用于构造可用于构造n拟随机数生成器拟随机数生成器n流密码流密码n消息认证码消息认证码(MAC)MAC)和杂凑函数和杂凑函数n消息认证技术、数据完整性机构、实体认证协议以消息认证技术、数据完整性机构、实体认证协议以及单
2、钥数字签字体制的核心组成部分及单钥数字签字体制的核心组成部分。2023-4-274应用中对于分组码的要求应用中对于分组码的要求n安全性安全性n运行速度运行速度n存储量存储量(程序的长度、数据分组长度、高速缓程序的长度、数据分组长度、高速缓存大小存大小)n实现平台实现平台(硬、软件、芯片硬、软件、芯片)n运行模式运行模式2023-4-275分组密码概述分组密码概述 明文序列明文序列 x1,x2,xi,加密函数加密函数E:VnKVn 这种密码实质上是字长为这种密码实质上是字长为m的数字序列的代换密码的数字序列的代换密码。解密算法加密算法密钥k=(k0,k1,kt-1)密钥k=(k0,k1,kt-1
3、)明文明文x=(x0,x1,xm-1)明文明文x=(x0,x1,xm-1)密文密文x=(y0,y1,ym-1)2023-4-276分组密码概述分组密码概述n通常取通常取n=m。n若若nm,则为有数据扩展的分组密码。则为有数据扩展的分组密码。n若若n0,L(i)=L(i-1)1 if the first bit of L(i-1)is 0 L(i)=(L(i-1)1 if the last bit of L is 0,L(-1)=L1 xor 0 x80000000000000000000000000000043 otherwise.2023-4-2743比较和选用比较和选用nECB模式,简单、
4、高速,但最弱、易受重发攻击,模式,简单、高速,但最弱、易受重发攻击,一般不推荐。一般不推荐。nCBC适用于文件加密,但较适用于文件加密,但较ECB慢。安全性加强。慢。安全性加强。当有少量错误时,也不会造成同步错误。当有少量错误时,也不会造成同步错误。nOFB和和CFB较较CBC慢许多。每次迭代只有少数慢许多。每次迭代只有少数bit完成加密。若可以容忍少量错误扩展,则可换来完成加密。若可以容忍少量错误扩展,则可换来恢复同步能力,此时用恢复同步能力,此时用CFB。在字符为单元的流在字符为单元的流密码中多选密码中多选CFB模式。模式。nOFB用于高速同步系统,不容忍差错传播。用于高速同步系统,不容忍
5、差错传播。2023-4-2744三、三、美国数据加密标准美国数据加密标准DES(Data Encryption Standard)2023-4-2745美国制定数据加密标准简况美国制定数据加密标准简况n目的目的 通信与计算机相结合是人类步入信息社会的一个阶梯,通信与计算机相结合是人类步入信息社会的一个阶梯,它始于六十年代末,完成于它始于六十年代末,完成于90年代初。计算机通信网的形年代初。计算机通信网的形成与发展,要求信息作业标准化,安全保密亦不例外。只成与发展,要求信息作业标准化,安全保密亦不例外。只有标准化,才能真正实现网的安全,才能推广使用加密手有标准化,才能真正实现网的安全,才能推广使
6、用加密手段,以便于训练、生产和降低成本。段,以便于训练、生产和降低成本。2023-4-2746美国制定数据加密标准简况美国制定数据加密标准简况n美国美国NBS在在1973年年5月月15公布了征求建议。公布了征求建议。1974年年8月月27日日NBS再次出公告征求建议,对建议方案提出如下再次出公告征求建议,对建议方案提出如下要求:要求:n算法必须完全确定而无含糊之处;算法必须完全确定而无含糊之处;n算法必须有足够高的保护水准,即可以检测到威胁,算法必须有足够高的保护水准,即可以检测到威胁,恢复密钥所必须的运算时间或运算次数足够大;恢复密钥所必须的运算时间或运算次数足够大;n保护方法必须只依赖于密
7、钥的保密;保护方法必须只依赖于密钥的保密;n对任何用户或产品供应者必须是不加区分的。对任何用户或产品供应者必须是不加区分的。2023-4-2747美国制定数据加密标准简况美国制定数据加密标准简况nIBM公司在公司在1971年完成的年完成的LUCIFER密码密码(64 bit分组,代分组,代换换-置换,置换,128 bit密钥密钥)的基础上,改进成为建议的的基础上,改进成为建议的DES体体制制n1975年年3月月17日日NBS公布了这个算法,并说明要以它作为公布了这个算法,并说明要以它作为联邦信息处理标准,征求各方意见。联邦信息处理标准,征求各方意见。n1977年年1月月15日建议被批准为联邦标
8、准日建议被批准为联邦标准FIPS PUB 46,并并设计推出设计推出DES芯片。芯片。n1981年美国年美国ANSI 将其作为标准,称之为将其作为标准,称之为DEAANSI X3.92n1983年国际标准化组织年国际标准化组织(ISO)采用它作为标准,称作采用它作为标准,称作DEA-1 2023-4-2748美国制定数据加密标准简况美国制定数据加密标准简况nNSA宣布每隔宣布每隔5年重新审议年重新审议DES是否继续作为联邦标准,是否继续作为联邦标准,1988年(年(FIPS46-1)、)、1993年年(FIPS46-2),1998年不再重年不再重新批准新批准DES为联邦标准。为联邦标准。n虽然
9、虽然DES已有替代的数据加密标准算法,但它仍是迄今为止已有替代的数据加密标准算法,但它仍是迄今为止得到最广泛应用的一种算法,也是一种最有代表性的分组加得到最广泛应用的一种算法,也是一种最有代表性的分组加密体制。密体制。n1993年年4月,月,Clinton政府公布了一项建议的加密技术标准,政府公布了一项建议的加密技术标准,称作密钥托管加密技术标准称作密钥托管加密技术标准EES(Escrowed Encryption Standard)。算法属美国政府。算法属美国政府SECRET密级。密级。2023-4-2749美国制定数据加密标准简况美国制定数据加密标准简况nDES发展史确定了发展公用标准算法
10、模式,而发展史确定了发展公用标准算法模式,而EES的制定的制定路线与路线与DES的背道而驰。人们怀疑有陷门和政府部门肆意的背道而驰。人们怀疑有陷门和政府部门肆意侵犯公民权利。此举遭到广为反对。侵犯公民权利。此举遭到广为反对。n1995年年5月月AT&T Bell Lab的的M.Blaze博士在博士在PC机上用机上用45分分钟时间使钟时间使SKIPJACK的的 LEAF协议失败,伪造协议失败,伪造ID码获得成码获得成功。功。1995年年7月美国政府宣布放弃用月美国政府宣布放弃用EES来加密数据,只将来加密数据,只将它用于语音通信。它用于语音通信。n1997年年1月美国月美国NIST着手进行着手进
11、行AES(Advanced Encryption Standard)的研究,成立了标准工作室。的研究,成立了标准工作室。2001年年Rijndael被批准为被批准为AES标准。标准。2023-4-2750DES 算法算法n分组长度为分组长度为64 bits(8 bytes)n密文分组长度也是密文分组长度也是64 bits。n密钥长度为密钥长度为64 bits,有有8 bits奇偶校验,有效密钥长奇偶校验,有效密钥长度为度为56 bits。n算法主要包括:初始置换算法主要包括:初始置换IP、16轮迭代的乘积变换、轮迭代的乘积变换、逆初始置换逆初始置换IP-1以及以及16个子密钥产生器。个子密钥产
12、生器。2023-4-2751DES算法框图算法框图 输入 64 bit明文数据 初始置换IP 乘积变换 (16轮迭代)逆初始置换IP-1 64 bit密文数据 输出 标准数据加密算法2023-4-2752初始置换初始置换IPIPn将将64 bit明文的位置进行置换,得到一个乱序的明文的位置进行置换,得到一个乱序的64 bit明文组,而后分成左右两段,每段为明文组,而后分成左右两段,每段为32 bit,以以L0和和R0表示,表示,IP中各列元素位置号数相差为中各列元素位置号数相差为8,相当于将原明,相当于将原明文各字节按列写出,各列比特经过偶采样和奇采样置文各字节按列写出,各列比特经过偶采样和奇
13、采样置换后,再对各行进行逆序。将阵中元素按行读出构成换后,再对各行进行逆序。将阵中元素按行读出构成置换输出。置换输出。n逆初始置换逆初始置换IPIP-1-1。将将16轮迭代后给出的轮迭代后给出的64 bit组进行置组进行置换,得到输出的密文组。输出为阵中元素按行读得的换,得到输出的密文组。输出为阵中元素按行读得的结果。结果。nIP和和IPIP-1-1在密码意义上作用不大,它们的作用在于打乱在密码意义上作用不大,它们的作用在于打乱原来输入原来输入x x的的ASCII码字划分的关系,并将原来明文的码字划分的关系,并将原来明文的校验位校验位x8,x16,x64变成为变成为IP输出的一个字节。输出的一
14、个字节。2023-4-2753 Li-1(32bit)Ri-1(32bit)选择扩展运算 E 48 bit寄存器 按bit模2加密 48 bit寄存器 选择压缩运算 S 32 bit寄存器 置换运算 P 按bit模2和 Li(32bit)Ri(32bit)乘积变换框图乘积变换框图密钥产生器2023-4-2754乘积变换乘积变换n它是它是DES算法的核心部分。将经过算法的核心部分。将经过IP置换后的数据分成置换后的数据分成32 bit的左右两组,在迭代过程中彼此左右交换位置。的左右两组,在迭代过程中彼此左右交换位置。n每次迭代时只对右边的每次迭代时只对右边的32 bit进行一系列的加密变换,在此
15、进行一系列的加密变换,在此轮迭代即将结束时,把左边的轮迭代即将结束时,把左边的32 bit与右边得到的与右边得到的32 bit逐位逐位模模2相加,作为下一轮迭代时右边的段,并将原来右边未经相加,作为下一轮迭代时右边的段,并将原来右边未经变换的段直接送到左边的寄存器中作为下一轮迭代时左边变换的段直接送到左边的寄存器中作为下一轮迭代时左边的段。的段。n在每一轮迭代时,右边的段要经过在每一轮迭代时,右边的段要经过选择扩展运算选择扩展运算E E、密钥加密钥加密运算、选择压缩运算密运算、选择压缩运算S S、置换运算置换运算P P和左右混合运算和左右混合运算。2023-4-2755乘积变换乘积变换 选择扩
16、展运算选择扩展运算E E。将输入的将输入的32 bit Ri-1扩展成扩展成48 bit的输出,令的输出,令s表示表示E原输入数据比特的原下标,则原输入数据比特的原下标,则E的输出是将原下标的输出是将原下标s 0或或1(mod 4)的各比特重复一次得到的,即对原第的各比特重复一次得到的,即对原第32,1,4,5,8,9,12,13,16,17,20,21,24,25,28,29各位都重复一次各位都重复一次,实现数据扩实现数据扩展。将表中数据按行读出得到展。将表中数据按行读出得到48 bit输出。输出。密钥加密运算密钥加密运算。将子密钥产生器输出的。将子密钥产生器输出的48 bit子密钥子密钥k
17、i与选择与选择扩展运算扩展运算E输出的输出的48 bits数据按位模数据按位模2相加。相加。选择压缩运算选择压缩运算S S。将前面送来的将前面送来的48 bit数据自左至右分成数据自左至右分成8组,组,每组为每组为6 bit。而后并行送入而后并行送入8个个S一盒,每个一盒,每个S盒为一非线性代盒为一非线性代换网络,有换网络,有4个输出,运算个输出,运算S的框图在图的框图在图4-4-6中给出。中给出。p.186 图图4-4-6 选择压缩运算选择压缩运算S 置换运算置换运算P P。对对S1至至S8盒输出的盒输出的32 bit数据进行坐标置换,如图数据进行坐标置换,如图4-4-7所示。置换所示。置换
18、P输出的输出的32 bit数据与左边数据与左边32 bit即即Ri-1逐位模逐位模2相加,所得到的相加,所得到的32 bit作为下一轮迭代用的右边的数字段。并作为下一轮迭代用的右边的数字段。并将将Ri-1并行送到左边的寄存器,作为下一轮迭代用的左边的数并行送到左边的寄存器,作为下一轮迭代用的左边的数字段。字段。子密钥产生器。将子密钥产生器。将64 bit初始密钥经过初始密钥经过置换选择置换选择PC1PC1、循环移位循环移位置换、置换选择置换、置换选择PC2PC2给出每次迭代加密用的子密钥给出每次迭代加密用的子密钥ki,参看图参看图4-4-8。在。在64 bit初始密钥中有初始密钥中有8位为校验
19、位,其位置号为位为校验位,其位置号为8、16、32、48、56和和64。其余。其余56位为有效位,用于子密钥计算。将位为有效位,用于子密钥计算。将这这56位送入置换选择位送入置换选择PC1,参看图参看图4-4-9。经过坐标置换后分。经过坐标置换后分成两组,每级为成两组,每级为28 bit,分别送入分别送入C寄存器和寄存器和D寄存器中。在各寄存器中。在各次迭代中,次迭代中,C和和D寄存器分别将存数进行左循环移位置换,移寄存器分别将存数进行左循环移位置换,移位次数在表位次数在表4-4-2中给出。每次移位后,将中给出。每次移位后,将C和和D寄存器原存数寄存器原存数送给置换选择送给置换选择PC2,见图
20、见图4-4-10。置换选择。置换选择PC2将将C中第中第9、18、22、25位和位和D中第中第7、9、15、26位删去,并将其余数字置换位位删去,并将其余数字置换位置后送出置后送出48 bit数字作为第数字作为第i次迭代时所用的子密钥次迭代时所用的子密钥ki。p.186 p.186 图图4-4-7 置换运算置换运算P 图图4-4-8 子密钥产生器框图子密钥产生器框图 表表4-4-2 移位次数表移位次数表 第第i次迭代次迭代 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 循环左移次数循环左移次数 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 p.
展开阅读全文