《信息安全技术基础第4章40209.pptx》由会员分享,可在线阅读,更多相关《信息安全技术基础第4章40209.pptx(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、对称密码技术4信息安全技术基础信息安全技术基础信息安全技术基础信息安全技术基础2011201220112012第一学期第一学期第一学期第一学期2信息安全技术基础制作:张浩军制作:张浩军学习目标数据加密标准DES高级加密标准AES其它典型分组密码算法流密码算法分组密码算法工作模式本章以几个典型对称密码算法为例,介本章以几个典型对称密码算法为例,介绍对称密码算法实现过程、机理及特点,理绍对称密码算法实现过程、机理及特点,理解密码算法的应用背景。解密码算法的应用背景。2 23信息安全技术基础制作:张浩军制作:张浩军目 录4.1 数据加密标准DES4.2 高级加密标准AES4.3 其他分组密码算法介绍
2、4.4 流密码算法RC44.5 分组密码工作模式3 34信息安全技术基础制作:张浩军制作:张浩军如何实现加解密过程相同、密钥相同的对称密码算法?4SymmetricCryptography?5信息安全技术基础制作:张浩军制作:张浩军4.1 数据加密标准DES数据加密标准DES(Data Encryption Standard)是一个著名分组加密算法。美国国家标准局1973年5月公开征集用于计算机数据在传输和存储期间实现加密保护的密码算法。1975年美国国家标准局接受了IBM公司提交的一种密码算法并向社会公开征求意见。1997年正式采用该算法作为美国数据加密标准。1980年12月美国国家标准协会
3、正式采用该算法作为美国商用加密算法。5 56信息安全技术基础制作:张浩军制作:张浩军4.1.1 概述美国国家标准局征求加密算法的要求:(1)提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改。(2)具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又便于理解和掌握。(3)密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础。(4)实现经济,运行有效,并且适用于多种完全不同的应用。6 67信息安全技术基础制作:张浩军制作:张浩军4.1.1 概述DES是一种分组密码算法,加密和解密使用相同的密钥。DES的分组长度为64比特位使用64比特密钥(其中包括8比特奇偶
4、校验位),密钥通过扩展后经过16轮对明文分组的代换和置换7 7加加加加/解密密钥相同有何好处?解密密钥相同有何好处?解密密钥相同有何好处?解密密钥相同有何好处?长度为什么选择长度为什么选择长度为什么选择长度为什么选择64646464比特?比特?比特?比特?为什么要做为什么要做为什么要做为什么要做16161616轮?轮?轮?轮?8信息安全技术基础制作:张浩军制作:张浩军4.1.2 DES工作过程8 89信息安全技术基础制作:张浩军制作:张浩军1.初始置换及其逆置换9 9 IP置换逆IP置换10信息安全技术基础制作:张浩军制作:张浩军2.f函数101011信息安全技术基础制作:张浩军制作:张浩军2
5、.f函数1111f f函数中扩展操作函数中扩展操作 S1 S1替换阵列替换阵列12信息安全技术基础制作:张浩军制作:张浩军2.f函数1212置换置换P P13信息安全技术基础制作:张浩军制作:张浩军4.1.3 密钥调度56比特密钥作为初始输入,经过置换选择操作PC1,输出56比特分作左右两个部分(各28比特),分别做左循环移位,之后左右两部分合并再进行置换选择操作PC2,产生48比特轮密钥。1313置换选择PC1置换选择PC214信息安全技术基础制作:张浩军制作:张浩军4.1.4 DES安全性分析S盒是DES的核心,也是DES算法最敏感的部分,所有替换都是固定的,甚显神秘。许多密码学家曾担心N
6、SA设计S盒时隐藏了某些陷门。DES算法具有很好的雪崩效应。1997年互联网利用上万台微机个月成功破译DES。1998年EFF花费大约25万美元定制构造了一个DES解密器,该机器包含1856个定制芯片,可以在2天内强力搜索一个DES密钥。2006年德国Bochum和Kiel大学花费1万美元,构建了一个名为COPACOBANA机器,它包含120个低成本FPGA,平均在9天内能够完成一个DES密钥穷举。141415信息安全技术基础制作:张浩军制作:张浩军4.1.5 3DESP=EK3(DK2(EK1(M)标准中定义3种密钥使用方式:(1)3个密钥相互独立,互不相同。这种方式提供最强安全性,相当于提
7、供356=168比特长度密钥。(2)K1和K2相互独立,互不相同,而K3=K1。提供256=112比特长度密钥,密钥空间为2112=51033。实际应用多采用此方法。(3)3个密钥完全相等,即K1=K2=K3。算法退化为标准DES,保证向后兼容。151516信息安全技术基础制作:张浩军制作:张浩军如何设计数学上可证明安全性的对称密码算法?16Provable Security?17信息安全技术基础制作:张浩军制作:张浩军目 录4.1 数据加密标准DES4.2 高级加密标准AES4.3 其他分组密码算法介绍4.4 流密码算法RC44.5 分组密码工作模式171718信息安全技术基础制作:张浩军制
8、作:张浩军4.2.1 AES基本操作流程AES也是由多轮操作组成,轮数由分组和密钥长度决定。AES在4n字节数组(矩阵)上操作,称为状态(State),其中n是密钥字节数除4。181819信息安全技术基础制作:张浩军制作:张浩军4.2.1 AES基本操作流程AES允许分组和密钥以128比特为基础,以8字节倍数扩展长度,因此192、256比特分组(或密钥)就被组织成46、48矩阵。AES标准中使用Nb、Nk分别表示分组矩阵、密钥矩阵列数,如当分组为46矩阵,即Nb=6,密钥为48矩阵,则Nk=8。AES算法流程中轮数依赖于密钥长度,标准中使用Nr表示轮数。AES包括3个分组密码套件:AES-12
9、8、AES-192、AES-265对应Nk分别为4、6、8,即密钥长度对应128、192和256比特,对应轮数Nr等于10、12、14,分组长度都为128比特。191920信息安全技术基础制作:张浩军制作:张浩军4.2.1 AES基本操作流程(1)字节替换(Byte):执行一个非线性替换操作,通过查表替换每个字节。(2)行移位:状态(矩阵)的每一行按字节为单位循环移动若干字节。(3)列混合:基于状态列的混合操作。(4)轮密钥叠加:状态的每一个字节混合轮密钥。轮密钥也是由密钥调度算法产生。202021信息安全技术基础制作:张浩军制作:张浩军212122信息安全技术基础制作:张浩军制作:张浩军4.
10、2.2 轮操作22221.1.字节替换字节替换23信息安全技术基础制作:张浩军制作:张浩军4.2.2 轮操作23232.2.行移位行移位24信息安全技术基础制作:张浩军制作:张浩军4.2.2 轮操作24243.3.列混合列混合25信息安全技术基础制作:张浩军制作:张浩军4.2.2 轮操作25254.4.轮密钥加轮密钥加26信息安全技术基础制作:张浩军制作:张浩军4.2.3 密钥扩展262627信息安全技术基础制作:张浩军制作:张浩军对称密码中混乱与替换的不同实现方法?27Provable Security?28信息安全技术基础制作:张浩军制作:张浩军目 录4.1 数据加密标准DES4.2 高级
11、加密标准AES4.3 其他分组密码算法介绍4.4 流密码算法RC44.5 分组密码工作模式282829信息安全技术基础制作:张浩军制作:张浩军4.3.1 IDEA算法国际数据加密算法IDEA是1991年由James Massey和我国学者来学嘉共同设计的,在协议PGP中广泛应用。IDEA算法采用64比特分组和128比特密钥,包括相同的8轮转换和1个输出转换(半轮)。IDEA通过交叉使用不同群-模加和乘运算,以及比特位异或,这些运算在代数上是“不协调的”。轮变换输入将64比特分为4个16比特子分组,经过变换输出4个16比特子分组,作为下一轮输入。每轮变换中,在模乘或模加运算中混合6个16比特密钥
12、,最后一轮4个运算,混合K1到K4密钥,4个16比特输出,合并后作为IDEA加密产生的64比特密文。292930信息安全技术基础制作:张浩军制作:张浩军3030IDEA加密轮变换31信息安全技术基础制作:张浩军制作:张浩军4.3.2 Blowfish算法Bruce Schneier在1993设计的分组加密算法,速度快。依赖密钥的S盒和复杂密钥调度。使用64比特分组,从32比特到448比特可变长度密钥,采用16轮Feistel结构。313132信息安全技术基础制作:张浩军制作:张浩军4.3.2 Blowfish算法323233信息安全技术基础制作:张浩军制作:张浩军4.3.3 RC5/RC6算法
13、3333RC5算法:可变分组长度(32、64或128比特)、密钥长度(0到2040比特)以及轮数(0到255),原始建议选择参数64比特分组、128比特密钥和12轮。用于研究和评估作为密码原语相关操作。RC5包括一系列模加和异或运算,采用类Feistel网络结构。其密钥调度本质上单向函数扩展密钥。每一轮变换有相同的2个半轮构成。34信息安全技术基础制作:张浩军制作:张浩军如何实现“无限”长度密钥的对称密码算法?34StreamCipher?35信息安全技术基础制作:张浩军制作:张浩军目 录4.1 数据加密标准DES4.2 高级加密标准AES4.3 其他分组密码算法介绍4.4 流密码算法RC44
14、.5 分组密码工作模式353536信息安全技术基础制作:张浩军制作:张浩军4.4 流密码算法RC4RC4算法由主密钥(通信双方共享的一定长度密钥)按一定密钥调度算法产生任意长度伪随机密钥字节流(以字节为单位),与明文流按字节异或生成密文流,解密时密文流与相同的密钥流按字节异或恢复出明文字节流。363637信息安全技术基础制作:张浩军制作:张浩军4.4 流密码算法RC4RC4算法首先使用1到256字节(8到2048比特)的可变长度密钥初始化一个256个字节的状态矢量,记为S,S的元素记为S0、S1、S2 S255,类似于数组表示。至始至终S向量始终包含0255(十进制)所有的8比特数。加密和解密
15、过程中,密钥流每个字节由S中的256个元素按一定方式依次选出一个元素生成,每生成一个密钥字节,S中的元素就被重新置换一次。373738信息安全技术基础制作:张浩军制作:张浩军4.4 流密码算法RC4S最初被初始化时,从低到高字节顺序放置0至255这256个数。同时设置一个临时向量T,将密钥K按字节赋值给T,也称使用密钥调度算法KSA。使用T产生S的初始置换。下标i从0到255,依次当前根据Ti和Si的值,确定将Si中元素与S中另一个元素交换。通过初始置换,原先顺序排列数值0255的S向量根据T(主密钥)被重新乱序,不同的主密钥,乱序结果不同。383839信息安全技术基础制作:张浩军制作:张浩军
16、4.4 流密码算法RC4以初始化后的矢量S为基础,依次产生密钥流的每一个字节,每选择一个密钥字节,还有再完成一次置换,密钥字节产生算法(也称伪随机发生算法PRGA)如下,其中使用2个8比特指针,表示为i和j。3939生成密钥流40信息安全技术基础制作:张浩军制作:张浩军如何应用有限密钥长度分组密码安全加密长消息?40WorkingMode?41信息安全技术基础制作:张浩军制作:张浩军目 录4.1 数据加密标准DES4.2 高级加密标准AES4.3 其他分组密码算法介绍4.4 流密码算法RC44.5 分组密码工作模式414142信息安全技术基础制作:张浩军制作:张浩军4.5.1 电子密码本424
17、243信息安全技术基础制作:张浩军制作:张浩军4.5.2 密文分组链接4343CBC加密加密CBC解密解密44信息安全技术基础制作:张浩军制作:张浩军4.5.3 密文反馈4444CFB加密加密CFB解密解密45信息安全技术基础制作:张浩军制作:张浩军4.5.4 输出反馈4545OFB加密加密OFB解密解密46信息安全技术基础制作:张浩军制作:张浩军4.5.5 计数模式464647信息安全技术基础制作:张浩军制作:张浩军小 结本章介绍了典型分组密钥算法,重点介绍了DES和AES实现过程和工作原理,简单介绍了IDEA、Blowfish和RC5/RC6等密码算法的核心实现机理。同时介绍了典型流密码算法RC4的加密过程及实现机理。最后介绍了分组密码的工作模式。474748信息安全技术基础制作:张浩军制作:张浩军Q&A4849信息安全技术基础制作:张浩军制作:张浩军作业与思考1.什么是Feistel网络结构,有何特点?2.编写DES的实现程序,能够对任意长度的字符串或文件进行加密和对应的解密。3.请说明分组密码算法和流密码算法的区别?4.分组密码的工作模式有哪几种?各自特点是什么?5.分析RC4是如何产生伪随机序列?4949