信息安全技术基础第4章_第1页
信息安全技术基础第4章_第2页
信息安全技术基础第4章_第3页
信息安全技术基础第4章_第4页
信息安全技术基础第4章_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

学习目标数据加密标准DES高级加密标准AES其它典型分组密码算法流密码算法分组密码算法工作模式本章以几个典型对称密码算法为例,介绍对称密码算法实现过程、机理及特点,理解密码算法的应用背景。2目录4.1数据加密标准DES4.2 高级加密标准AES4.3其他分组密码算法介绍4.4流密码算法RC44.5分组密码工作模式3如何实现加解密过程相同、

密钥相同的对称密码算法?4SymmetricCryptography?4.1数据加密标准DES数据加密标准DES(DataEncryptionStandard)是一个著名分组加密算法。美国国家标准局1973年5月公开征集用于计算机数据在传输和存储期间实现加密保护的密码算法。1975年美国国家标准局接受了IBM公司提交的一种密码算法并向社会公开征求意见。1997年正式采用该算法作为美国数据加密标准。1980年12月美国国家标准协会正式采用该算法作为美国商用加密算法。54.1.1概述美国国家标准局征求加密算法的要求:(1)提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改。(2)具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又便于理解和掌握。(3)密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础。(4)实现经济,运行有效,并且适用于多种完全不同的应用。64.1.1概述DES是一种分组密码算法,加密和解密使用相同的密钥。DES的分组长度为64比特位使用64比特密钥(其中包括8比特奇偶校验位),密钥通过扩展后经过16轮对明文分组的代换和置换7加/解密密钥相同有何好处?长度为什么选择64比特?为什么要做16轮?4.1.2DES工作过程81.初始置换及其逆置换9IP置换逆IP置换2.f函数102.f函数11f函数中扩展操作S1替换阵列2.f函数12置换P4.1.3密钥调度56比特密钥作为初始输入,经过置换选择操作PC1,输出56比特分作左右两个部分(各28比特),分别做左循环移位,之后左右两部分合并再进行置换选择操作PC2,产生48比特轮密钥。13置换选择PC1置换选择PC24.1.4DES安全性分析S盒是DES的核心,也是DES算法最敏感的部分,所有替换都是固定的,甚显神秘。许多密码学家曾担心NSA设计S盒时隐藏了某些陷门。DES算法具有很好的雪崩效应。1997年互联网利用上万台微机个月成功破译DES。1998年EFF花费大约25万美元定制构造了一个DES解密器,该机器包含1856个定制芯片,可以在2天内强力搜索一个DES密钥。2006年德国Bochum和Kiel大学花费1万美元,构建了一个名为COPACOBANA机器,它包含120个低成本FPGA,平均在9天内能够完成一个DES密钥穷举。144.1.53DESP=EK3(DK2(EK1(M)))标准中定义3种密钥使用方式:(1)3个密钥相互独立,互不相同。这种方式提供最强安全性,相当于提供3×56=168比特长度密钥。(2)K1和K2相互独立,互不相同,而K3=K1。提供2×56=112比特长度密钥,密钥空间为2112=5×1033。实际应用多采用此方法。(3)3个密钥完全相等,即K1=K2=K3。算法退化为标准DES,保证向后兼容。15如何设计数学上可证明安全性的对称密码算法?16ProvableSecurity?目录4.1数据加密标准DES4.2 高级加密标准AES4.3其他分组密码算法介绍4.4流密码算法RC44.5分组密码工作模式174.2.1AES基本操作流程AES也是由多轮操作组成,轮数由分组和密钥长度决定。AES在4×n字节数组(矩阵)上操作,称为状态(State),其中n是密钥字节数除4。184.2.1AES基本操作流程AES允许分组和密钥以128比特为基础,以8字节倍数扩展长度,因此192、256比特分组(或密钥)就被组织成4×6、4×8矩阵。AES标准中使用Nb、Nk分别表示分组矩阵、密钥矩阵列数,如当分组为4×6矩阵,即Nb=6,密钥为4×8矩阵,则Nk=8。AES算法流程中轮数依赖于密钥长度,标准中使用Nr表示轮数。AES包括3个分组密码套件:AES-128、AES-192、AES-265对应Nk分别为4、6、8,即密钥长度对应128、192和256比特,对应轮数Nr等于10、12、14,分组长度都为128比特。194.2.1AES基本操作流程(1)字节替换(Byte):执行一个非线性替换操作,通过查表替换每个字节。(2)行移位:状态(矩阵)的每一行按字节为单位循环移动若干字节。(3)列混合:基于状态列的混合操作。(4)轮密钥叠加:状态的每一个字节混合轮密钥。轮密钥也是由密钥调度算法产生。20214.2.2轮操作221.字节替换4.2.2轮操作232.行移位4.2.2轮操作243.列混合4.2.2轮操作254.轮密钥加4.2.3密钥扩展26对称密码中混乱与替换的不同实现方法?27ProvableSecurity?目录4.1数据加密标准DES4.2 高级加密标准AES4.3其他分组密码算法介绍4.4流密码算法RC44.5分组密码工作模式284.3.1IDEA算法国际数据加密算法IDEA是1991年由JamesMassey和我国学者来学嘉共同设计的,在协议PGP中广泛应用。IDEA算法采用64比特分组和128比特密钥,包括相同的8轮转换和1个输出转换(半轮)。IDEA通过交叉使用不同群-模加和乘运算,以及比特位异或,这些运算在代数上是“不协调的”。轮变换输入将64比特分为4个16比特子分组,经过变换输出4个16比特子分组,作为下一轮输入。每轮变换中,在模乘或模加运算中混合6个16比特密钥,最后一轮4个运算,混合K1到K4密钥,4个16比特输出,合并后作为IDEA加密产生的64比特密文。2930IDEA加密轮变换4.3.2Blowfish算法BruceSchneier在1993设计的分组加密算法,速度快。依赖密钥的S盒和复杂密钥调度。使用64比特分组,从32比特到448比特可变长度密钥,采用16轮Feistel结构。314.3.2Blowfish算法324.3.3RC5/RC6算法33RC5算法:可变分组长度(32、64或128比特)、密钥长度(0到2040比特)以及轮数(0到255),原始建议选择参数64比特分组、128比特密钥和12轮。用于研究和评估作为密码原语相关操作。RC5包括一系列模加和异或运算,采用类Feistel网络结构。其密钥调度本质上单向函数扩展密钥。每一轮变换有相同的2个半轮构成。如何实现“无限”长度密钥的对称密码算法?34StreamCipher?目录4.1数据加密标准DES4.2 高级加密标准AES4.3其他分组密码算法介绍4.4流密码算法RC44.5分组密码工作模式354.4流密码算法RC4RC4算法由主密钥(通信双方共享的一定长度密钥)按一定密钥调度算法产生任意长度伪随机密钥字节流(以字节为单位),与明文流按字节异或生成密文流,解密时密文流与相同的密钥流按字节异或恢复出明文字节流。364.4流密码算法RC4RC4算法首先使用1到256字节(8到2048比特)的可变长度密钥初始化一个256个字节的状态矢量,记为S,S的元素记为S[0]、S[1]、S[2]……S[255],类似于数组表示。至始至终S向量始终包含0~255(十进制)所有的8比特数。加密和解密过程中,密钥流每个字节由S中的256个元素按一定方式依次选出一个元素生成,每生成一个密钥字节,S中的元素就被重新置换一次。374.4流密码算法RC4S最初被初始化时,从低到高字节顺序放置0至255这256个数。同时设置一个临时向量T,将密钥K按字节赋值给T,也称使用密钥调度算法KSA。使用T产生S的初始置换。下标i从0到255,依次当前根据T[i]和S[i]的值,确定将S[i]中元素与S中另一个元素交换。通过初始置换,原先顺序排列数值0~255的S向量根据T(主密钥)被重新乱序,不同的主密钥,乱序结果不同。384.4流密码算法RC4以初始化后的矢量S为基础,依次产生密钥流的每一个字节,每选择一个密钥字节,还有再完成一次置换,密钥字节产生算法(也称伪随机发生算法PRGA)如下,其中使用2个8比特指针,表示为i和j。39生成密钥流如何应用有限密钥长度分组密码安全加密长消息?40Working

Mode?目录4.1数据加密标准DES4.2 高级加密标准AES4.3其他分组密码算法介绍4.4流密码算法RC44.5分组密码工作模式414.5.1电子密码本424.5.2密文分组链接43CBC加密CBC解密4.5.3密文反馈44CFB加密CFB解密4.5.4输出反馈45OFB加密OFB解密4.5.5计数模式46小结本章介绍了典型分组密钥算法,重点介绍了DES和AES实现过程和工作原理,简单介绍了

温馨提示

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

评论

0/150

提交评论