第十讲公开密钥密码_第1页
第十讲公开密钥密码_第2页
第十讲公开密钥密码_第3页
第十讲公开密钥密码_第4页
第十讲公开密钥密码_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

1、密码学教案张焕国,唐明,伍前红武汉大学计算机学院一、 教学目的本课程是计算机科学与技术、信息安全专业的专业选修课。开设本课程的目的是使学生了解并掌握计算机安全保密所涉及的基本理论和方法,具备保障信息安全的基本能力。二、 教学要求通过讲授、讨论、实践,使学生了解计算机安全的威胁、密码学算法、安全技术的发展,熟悉计算机安全保密的基本概念、操作系统安全和网络安全,掌握计算机密码学的基本理论、基本方法、常见加密算法及其实现技术、应用方法,重点掌握传统加密算法、DES算法、AES算法、背包算法、RSA算法、ECC算法、DSA算法等。第一讲 密码学的基本概念一、信息安全学科概论1、信息安全学科建设2001

2、年经教育部批准武汉大学创建了全国第一个信息安全本科专业;2007年全国信息安全本科专业已达70多所高校;2003年经国务院学位办批准武汉大学建立信息安全硕士点、博士点、博士后流动站2007年1月成立国家信息安全教指委2006年武汉大学信息安全专业获湖北省“品牌专业”武汉大学成为我国信息安全科学研究和人才培养的重要基地。2、信息安全学科特点l 信息安全学科是交叉学科:计算机、通信、数学、物理、生物、管理、法律等;l 具有理论与实际相结合的特点;l 信息安全技术强调整体性、系统性、底层性;l 对信息安全来说,法律、管理、教育的作用很大,必须高度重视。l 人才是关键,人的综合素质是关键的关键!3、武

3、汉大学的办专业思路 以学信息安全为主,兼学计算机、通信,同时加强数学、物理、法律等基础,掌握信息安全的基本理论与技能,培养良好的品德素质。二、信息安全的基本概念1、信息安全事关国家安全 信息成为社会发展的重要战略资源,信息技术改变着人们的生活和工作方式。信息产业成为新的经济增长点。社会的信息化已成为当今世界发展的潮流。 信息获取、处理和安全保障能力成为综合国力的重要组成部分。 信息安全事关国家安全,事关社会稳定。2、信息系统安全的概念能源、材料、信息是支撑现代社会大厦的三根支柱。 信息是逻辑的、抽象的,不能脱离系统而独立存在! 信息系统安全包括四个层面信息系统安全设备安全数据安全内容安全行为安

4、全简称信息系统安全为信息安全! 中文词安全Security + Safety中文安全的含义等于英文Security 加上Safety的含义。Security是指阻止人为的对安全的危害。Safety是指阻止非人为的对安全的危害。信息系统设备安全的概念l 信息系统设备的安全是信息系统安全的首要问题和基础之一。l 三个侧面:设备的稳定性(Stability ),设备的可靠性(Reliability),设备的可用性(Availabity)。l 设备:硬设备,软设备数据安全的概念IBM公司的定义:采取措施确保数据免受未授权的泄露、篡改和毁坏。说明:这个定义明确了信息安全的三个侧面:数据的秘密性(Secr

5、ecy),数据的真实性(Authenticity),数据的完整性(Integrity)。这个定义还说明了,为了信息安全必须采取措施,必须付出代价,代价就是资源(时间和空间)。内容安全的概念l 内容安全是信息安全在法律、政治、道德层次上的要求。 政治上健康 符合国家法律、法规 符合中华民族道德规范行为安全的概念l 行为安全是信息安全的终极目的。 符合哲学上,实践是检验真理的唯一标准的原理。 从过去的仅看身份,发展为既看身份更看行为。 三个侧面: 行为的秘密性; 行为的完整性; 行为的可控性。3、信息安全措施 信息安全措施法律措施,教育措施,管理措施,技术措施, 注意:决不能低估法律、教育、管理的

6、作用,许多时候它们的作用大于技术。 信息安全的技术措施 信息安全技术措施硬件系统安全、操作系统安全、密码技术、通信安全、网络安全、数据库安全、病毒防治技术,防电磁辐射技术,信息隐藏技术,数字资源保护技术,电子对抗技术,。 注意:硬件结构的安全和操作系统安全是基础,密码、网络安全等是关键技术。信息安全的管理措施 信息安全管理措施既包括信息设备、机房的安全管理,又包括对人的安全管理,其中对人的管理是最主要的。 目前,计算机网络系统安全的最大威胁之一是缺少有效的计算机网络安全监管。信息安全的法律措施 信息安全措施包括各级政府关于信息安全的各种法律、法规。 商用密码管理条例; 计算机安全管理条例; 因

7、特网安全管理条例等。信息安全的教育措施 对人的思想品德教育、安全意识教育、安全法律法规的教育等。国内外的计算机犯罪事件都是人的思想品德出问题造成的。 信息安全是一个系统工程必须综合采取各种措施才能奏效。4、计算机系统的安全服务功能:l身份认证服务,l访问控制服务,l数据加密服务,l数据完整性服务,l不可否认服务,l安全审计。三、密码学的基本概念密码技术是一门古老的技术。世界各国都视密码为武器。战争的刺激和科学技术的发展推动了密码学的发展。信息技术的发展和广泛应用为密码学开辟了广阔的天地。我国的密码分级:核心密码:用于保护党、政、军的核心机密。普通密码: 用于保护国家和事企业单位的低于核心机密而

8、高于商用的机密信息。商用密码: 用于保护国家和事企业单位的非机密的敏感信息。 个人密码: 用于保护个人的隐私信息。前三种密码均由国家密码管理局统一管理!我国商用密码政策:统一领导:国家密码管理局统一领导。集中管理: 国家密码管理局办公室集中管理。定点研制:只允许定点单位进行研制。专控经营: 经许可的单位才能经营。满足使用: 国内各单位都可申请使用。1、密码的基本思想伪装信息,使未授权者不能理解它的真实含义。所谓伪装就是对信息进行一组可逆的数学变换。伪装前的原始信息称为明文, 伪装后的信息称为密文,伪装的过程称为加密。去掉伪装还原明文的过程成为解密。加密在加密密钥的控制下进行。解密在解密密钥的控

9、制下进行。用于加密的一组数学变换称为加密算法。用于解密的一组数学变换称为解密算法。2、密码体制(Cryptosystem)的构成密码体制由以下五部分组成:明文空间M:全体明文的集合密文空间C:全体密文的集合密钥空间K:全体密钥的集合,K加密算法E:一族由MC的加密变换解密算法D:一族由CM的解密变换。解密变换是加密变换的逆。对于一个确定的密钥,加密算法将确定出一个具体的加密变换,解密算法将确定出一个具体的解密变换,而且解密变换就是加密变换的逆变换。对于明文空间的每一个明文M,加密算法E在密钥Ke的控制下将明文M加密成密文C:CE(M, Ke )。而解密算法D在密钥Kd的控制下将密文解出同一明文

10、M。MD(C, Kd)= D(E(M, Ke), Kd)3、密码体制的分类从加密钥与解密钥是否相等划分: 传统密码: 公开密钥密码: 从密钥的使用方式划分: 序列密码: 明文、密文、密钥以位(字符)为单位加解密; 核心密码的主流; 分组密码: 明文、密文、密钥以分组为单位加解密; 商用密码的主流:传统密码: 分组:DES IDEA EES AES MS4 序列:RC4 公开密钥密码: RSA ELGamal ECC新型密码:(1)演化密码 密码算法不断演化变化,越来越强的密码。 密码设计自动化的一种方法。 借鉴生物进化,将密码学与演化计算结合(2)量子密码 在唯密文攻击下绝对安全的密码。 逐步

11、走向实用。 2007年我国宣布,国际上首个量子密码通信网络由我国科学家在北京测试运行成功。这是迄今为止国际公开报道的唯一无中转、可同时、任意互通的量子密码通信网络,标志着量子保密通信技术从点对点方式向网络化迈出了关键一步。 (3)DNA密码l DNA密码基于生物学中的某种困难问题。 l 由于DNA密码的安全不依赖于计算困难问题,所以不管未来的电子计算机、量子计算机和DNA计算机具有多么强大的计算能力,DNA密码对于它们的计算攻击都是免疫的 。4、密码学的组成研究密码编制的科学称为密码编制学(Cryptography),研究密码破译的科学称为密码分析学(Cryptanalysis),而密码编制学

12、和密码分析学共同组成 密码学(Cryptology)。5、密码分析如果能够根据密文系统地确定出明文或密钥,或者能够根据明文-密文对系统地确定出密钥,则我们说这个密码是可破译的。一个密码,如果无论密码分析者截获了多少密文和用什么方法进行攻击都不能被攻破,则称为是绝对不可破译的。绝对不可破译的密码学在理论上是存在的 “一次一密”1)穷举攻击 密码分析者采用依次试遍所有可能的密钥对所获密文进行解密,直至得到正确的明文;或者依次用一个确定的密钥对所有可能的明文进行加密,直至得到所获得的密文。显然,理论上,对于任何实用密码只要有足够的资源,都可以用穷举攻击将其改破。实例:1997年美国一个密码分析小组宣

13、布:1万多人参加,通过INTERNET网络,利用数万台微机,历时4个多月,通过穷举攻破了DES的一个密文。美国现在已有DES穷举机,多CPU并行处理,24小时穷举出一个密钥。2)统计分析攻击 所谓统计分析攻击就是指密码分析者通过分析密文和明文的统计规律来破译密码。统计分析攻击在历史上为破译密码作出过极大的贡献。许多古典密码都可以通过统计分析而破译。3)数学分析攻击 所谓数学分析攻击是指密码分析者针对加密算法的数学依据通过数学求解的方法来破译密码。为了对抗这种数学分析攻击,应当选用具有坚实数学基础和足够复杂的加密算法。根据占有的数据资源分类:A)仅知密文攻击(Ciphertext-only at

14、tack) 所谓仅知密文攻击是指密码分析者仅根据截获的密文来破译密码。因为密码分析者所能利用的数据资源仅为密文,因此这是对密码分析者最不利的情况。 密码学的基本假设:攻击者总能获得密文。 攻击者总能知道密码算法。 攻击者不知道密钥。根据占有的数据资源分类:B)已知明文攻击(Known-plaintext attack) 所谓已知明文攻击是指密码分析者根据已经知道的某些明文-密文对来破译密码。 攻击者总是能获得密文,并猜出部分明文。 计算机程序文件加密特别容易受到这种攻击。 根据占有的数据资源分类:C)选择明文攻击(Chosen-plaintext attack) 所谓选择明文攻击是指密码分析者

15、能够选择明文并获得相应的密文。 计算机文件加密和数据库加密特别容易受到这种攻击。 这是对攻击者最有利的情况!6、密码学的理论基础 商农信息论 从信息在信道传输中可能受到攻击,引入密码理论; 提出以扩散和混淆两种基本方法设计密码; 阐明了密码系统,完善保密,理论保密和实际保密等概念。 计算复杂性理论 密码的安全性以计算复杂度来度量; 现代密码往往建立在一个数学难题之上,而难是计算复杂度的概念; 计算复杂度只能为密码提供一个必要条件。7、密码设计的基本方法 公开设计原则 密码的安全应仅依赖于对密钥的保密,不依赖于对算法的保密。 扩散和混淆扩散(diffusion):将明文和密钥的每一位的影响散布到

16、尽量多的密文位中;理想情况下达到完备性。混淆(confusion):使明文、密钥和密文之间的关系复杂化。 迭代与乘积迭代:设计一个轮函数,然后迭代。乘积:将几种密码联合应用。8、密码学的一些结论: 公开设计原则:密码的安全只依赖于密钥的保密,不依赖于算法的保密; 理论上绝对安全的密码是存在的:一次一密; 理论上,任何实用的密码都是可破的; 我们追求的是计算上的安全。计算上的安全:使用可利用的计算资源不能破译。 复习题 解释信息安全的含义。 密码的基本思想是什么? 密码体制分哪些类型?各有什么优缺点? 什么是密码分析?密码分析有哪些类型? 为什么说理论上,任何实用的密码都是可破的? 计算机的程序

17、文件和数据库文件加密容易受到什么攻击?为什么?第二讲 古典密码一、主要古典密码C. D. Shannon:采用混淆、扩散和乘积的方法来设计密码混淆:使密文和明文、密钥之间的关系复杂化扩散:将每一位明文和密钥的影响扩大到尽可能多的密文位中。乘积和迭代:多种加密方法混合使用对一个加密函数多次迭代古典密码编码方法:置换,代替,加法1、置换密码把明文中的字母重新排列,字母本身不变,但其位置改变了,这样编成的密码称为置换密码。最简单的置换密码是把明文中的字母顺序倒过来,然后截成固定长度的字母组作为密文。明文:明晨5点发动反攻。 MING CHEN WU DIAN FA DONG FAN GONG密文:G

18、NOGN AFGNO DAFNA IDUWN EHCGN IM理论上:、置换密码的加密钥是置换矩阵 p,解密钥是置换矩阵 p-1 。、置换密码经不起已知明文攻击。 单表代替密码、加法密码A和B是有 n个字母的字母表。定义一个由A到B的映射:f:AB f(ai )= bi=aj j=i+k mod n加法密码是用明文字母在字母表中后面第 k个字母来代替。K=3 时是著名的凯撒密码。、乘法密码A和B是有n个字母的字母表。定义一个由A到B的映射:f:AB f(ai )= bi= aj j=ik mod n 其中,(n,k)=1。注意:只有(n,k)=1,才能正确解密。密钥词组代替密码:随机选一个词语

19、,去掉其中的重复字母,写到矩阵的第一行,从明文字母表中去掉这第一行的字母,其余字母顺序写入矩阵。然后按列取出字母构成密文字母表。举例:密钥: HONG YE 矩阵: HONGYE 选出顺序:按列 ABCDFI JKLMPQ 改变密钥、矩阵大小 RSTUVW 和取出序列,得到不同的 XZ 密文字母表。密文字母表 : B= HAJRXOBKSZNCLTGDMUYFPVEIQW 、多表代替密码单表代替密码的安全性不高,一个原因是一个明文字母只由一个密文字母代替。构造多个密文字母表,在密钥的控制下用相应密文字母表中的一个字母来代替明文字母表中的一个字母。一个明文字母有多种代替。Vigenere密码:著

20、名的多表代替密码3、代数密码: Vernam密码 明文、密文、密钥都表示为二进制位: M=m1,m2, ,mn K =k1,k2, ,kn C =c1,c2, ,cn 加密 : c1= mi ki ,i=1,2, ,n 解密 : m1= ci ki ,i=1,2, ,n因为加解密算法是模2加,所以称为代数密码。对合运算:f=f-1,模 2加运算是对合运算。 密码算法是对和运算,则加密算法解密算法,工程实现工作量减半。 Vernam密码经不起已知明文攻击。 如果密钥序列有重复,则Vernam密码是不安全的。一种极端情况:一次一密 密钥是随机序列。 密钥至少和明文一样长。 一个密钥只用一次。一次一

21、密是绝对不可破译的,但它是不实用的。 一次一密给密码设计指出一个方向,人们用序列密码逼近一次一密。二、古典密码的穷举分析1、单表代替密码分析加法密码因为f(ai )= bi=aj j=i+k mod n所以k=1,2,. ,n-1,共n-1种可能,密钥空间太小。以英文为例,只有25种密钥。经不起穷举攻击。乘法密码因为f(ai )= bi=aj j=ik mod n,且(k,n)=1。所以k共有f(n)种可能,密钥空间更小。对于英文字母表,n=26,k=1,3,5,7,9,11,15,17,19,21,23,25 取掉1,共11种,比加法密码更弱。经不起穷举攻击。密钥词语代替密码因为密钥词语的选

22、取是随机的,所以密文字母表完全可能穷尽明文字母表的全排列。 以英文字母表为例,n=26,所以共有26!种可能的密文字母表。 26!41026用计算机也不可能穷举攻击。注意:穷举不是攻击密钥词语代替密码的唯一方法。三、古典密码的统计分析1、密钥词组单表代替密码的统计分析 任何自然语言都有自己的统计规律。如果密文中保留了明文的统计特征,就可用统计方法攻击密码。由于单表代替密码只使用一个密文字母表,一个明文字母固定的用一个密文字母来代替,所以密文的统计规律与明文相同。因此,单表代替密码可用统计分析攻破。2、英语的统计规律 每个单字母出现的频率稳定。 最高频率字母 E 次高频率字母 T A O I N

23、 S H R 中高频率字母 D L 低频率字母 C U M W F G Y P B 最低频率字母 V K J X Q Z 频率最高的双字母组: TH HE IN ER AN RE ED ON ES ST EN AT TO NT HA ND OU EA NG AS OR TI IS ET IT AR TE SE HI OF频率最高的三字母组: THE ING AND HER ERE ENT THA WAS ETH FOR DHT HAT SHE ION HIS ERS VER 其中THE的频率是ING的3倍!英文单词以E,S,D,T为结尾的超过一半。英文单词以T,A,S,W为起始字母的约占一半。

24、还有其它统计规律!教科书上有一个完整的统计分析例子。经得起统计分析是对近代密码的基本要求!复习题 已知置换如下:1 2 3 4 5 6 3 5 1 6 4 2明文642135 ,密文?密文214365 ,明文?使加法密码算法称为对合运算的密钥k称为对合密钥,以英文为例求出其对合密钥。 已知一个加法密码的密文如下:BEEAKFYDJXUQYHYJIQRYHTYJIQFBQDUYJIIKFUHCQD 用穷举法求出明文。以英文为例,用加法密码,取密钥常数 k= 7,对明文 INFORMATION SECURITY,进行加密,求出密文。证明,在置换密码中,置换p是对合的,当且仅当对任意的i和j(i,

25、j=1,2,3,n),若p(i)=j,则必有p(j)=i 。编程实现Vigenre密码。 分析仿射密码的安全性。第三讲数据加密标准DES一、DES的概况1、重要时间:1973年美国国家标准局(NBS)向社会公开征集加密算法,以制定加密算法标准;1974年第二次征集;1975年选中IBM的算法,公布征求意见;1977年1月15日正式颁布;1998年底以后停用。1999年颁布3DES为新标准。2、标准加密算法的目标 用于加密保护政府机构和商业部门的非机密的敏感数据。 用于加密保护静态存储和传输信道中的数据。 安全使用10 15年。3、整体特点 分组密码:明文、密文和密钥的分组长度都是64位。 面向

26、二进制的密码算法:因而能够加解密任何形式的计算机数据。 对合运算:因而加密和解密共用同一算法,使工程实现的工作量减半。 综合运用了置换、代替、代数等多种密码技术。4、应用 许多国际组织采用为标准。 在全世界范围得到广泛应用。 产品形式:软件(嵌入式,应用软件);硬件(芯片,插卡)5、结论用于其设计目标是安全的。设计精巧、实现容易、使用方便,堪称典范。二、算法1、DES加密过程的数学描述: Li = Ri-1 Ri =Li-1f (Ri-1,Ki) i =1,2,3,162、置换选择1:、作用去掉密钥中的8个奇偶校验位。打乱重排,形成C0 (左28位),D0 (右28位) 。3、循环移位:、作用

27、对C0 ,D0 分别循环移位。4、置换选择2:、作用从Ci 和 Di(56位)中选择出一个48位的子密钥Ki。5、初始置换IP、作用把64位明文打乱重排。左一半为L0 (左32位) ,右一半为R0 (右32位) 。例:把输入的第1位置换到第40位,把输入的第58位置换到第1位。6、逆初始置换IP1、作用把64位中间密文打乱重排。形成最终的64位密文。7、加密函数f作用DES的核心。加密数据。数据处理宽度32位。选择运算E把32位输入扩充为48位中间数据;重复使用数据实现扩充。选择替换S(S盒)S盒是DES唯一的非线性变换。S盒是DES安全的关键。共有8个S盒。每个S盒有6个输入,4个输出,是一

28、种非线性压缩变换。设输入为b1b2b3b4b5b6 ,则以b1b6组成的二进制数为行号,b2b3b4b5组成的二进制数为列号。行列交点处的数(二进制)为输出。置换运算P把数据打乱重排。8、DES的解密过程DES的运算是对和运算,解密和加密可共用同一个运算。不同点:子密钥使用的顺序不同。第一次解密迭代使用子密钥 K16 ,第二次解密迭代使用子密钥 K15 ,第十六次解密迭代使用子密钥 K1 。DES解密过程的数学描述: Ri-1= Li Li-1= Ri f (Li,Ki) i =16,15,14,.,19、DES的对和性证明1、可逆性证明定义 T是把64位数据的左右两半交换位置: T(L,R)

29、(R,L)因为,T2 (L,R)(L,R)I ,其中 I为恒等变换,于是, T =T 1 ,所以 T 变换是对合运算。 记DES第 i轮中的主要运算为,即 Fi(Li 1,Ri -1)(Li -1f(Ri -1, Ki),R i -1)Fi 2Fi(Li -1f(Ri -1, Ki),R i -1) (Li -1f(Ri -1, Ki)f(Ri -1, Ki),R i -1) (Li 1,Ri -1) I 所以,Fi Fi 1 。 所以 Fi变换也是对合运算。结合、,便构成DES的轮运算Hi FiT 因为(FiT)(TFi)=(Fi(TT)Fi)=FiFi =I ,所以 (FiT)1(TFi)

30、 (FiT)(TFi)1加解密表示 DES(M) IP-1 (F16) (T F15) (TF2) (TF1)IP(M)C DES-1(C)IP -1(F1) (T F2) (T F3) (T F15) (T F16)IP(C)把 式代入式可证: DES-1 (DES (M)M 所以,DES是可逆的。 2、对合性证明DES IP -1(F16) (TF15) (TF14)(TF3) (TF2) (TF1)IP DES-1IP -1(F1) (TF2) (TF3)(TF14) (TF15) (TF16)IP DES和DES-1 除了子密钥的使用顺序相反之外是相同的, 所以DES的运算是对合运算。

31、10、DES的安全性攻击穷举攻击。目前最有效的方法。差分攻击。线性攻击。11、3重DES美国NIST在1999年发布了一个新版本的DES标准(FIPS PUB46-3):DES只用于遗留系统。3DES将取代DES成为新的标准。国际组织和我国银行都接受3DES。 3DES的优势:3密钥的3DES:密钥长度是168位。2密钥的3DES:密钥长度是112位。安全:密钥足够长; 经过最充分的分析和实践检验。兼容性好。12、DES的历史回顾DES的出现标志着商业密码需求的增加。DES体现商农的密码设计理论。体现了公开设计原则,开创公开算法的先例。DES代表当时商业密码的最高水平。大作业1 以3DES作为

32、加密算法开发出文件加密软件系统: 具有文件加密和解密功能;具有加解密速度统计功能;采用密文反馈链接和密文挪用短块处理技术;具有较好的人机界面。复习题 1、分析DES的弱密钥。 2、证明DES具有互补对称性。 3、画出3密钥 3DES的框图。 第四讲 高级数据加密标准一、AES的概况1、历史时间:1997年美国政府向社会公开征集高级数据加密标准(AES);1998年8月20日从应征的21个算法中选出15个。1999年8月又选中其中5个算法。2000年10月2日再选出1个算法。2001年11月26日接受其作为标准。2001年12月4日正式公布:FIPS197。2、AES产生的背景 1984年12月

33、里根总统下令由国家保密局研制新密码标准,以取代DES。 1991年新密码开始试用并征求意见。 民众要求公开算法,并去掉法律监督。 1994年颁布新密码标准(EES)。 1995年5月贝尔实验室的博士生M.Blaze在PC 机上用45分钟攻击法律监督字段获得成功。 1995年7月美国政府放弃用EES加密数据。 1997年美国政府向社会公开征AES。美国商用密码政策的变化 公开征集 秘密设计 公开征集 成功 不成功 预计成功 3、AES的设计要求 安全性:抵抗所有已知攻击; 实用性:适应各种环境,速度快; 扩展性:分组长度和密钥长度可扩展。4、整体特点 分组密码:明文长度128,密文长度、密钥长度

34、可变(128/192/256等,现在一般取 128 ) 。 面向二进制的密码算法:能够加解密任何形式的计算机数据。 不是对合运算:加、解密使用不同的算法。 综合运用置换、代替、代数等多种密码技术 整体结构:基本轮函数加迭代。圈数可变,105、应用 许多国际组织采用为标准。 尚未大范围应用。 产品形式:软件(嵌入式,应用软件);硬件(芯片,插卡)6、结论只有通过实际应用的检验才能证明其安全。我们相信:经过全世界广泛分析的AES是不负众望的。二、AES的基本变换1、AES的数据处理方式 字节 字 状态2、状态 加解密过程中的中间数据。 以字节为元素的矩阵,或二维数组。符号:Nb明密文所含的数据的字

35、数。 Nk密钥所含的数据的字数。 Nr迭代圈数。 例:Nb4时的状态 Nk4时的密钥数组 a0,0 a0,1 a0,2 a0,3 k0,0 k0,1 k0,2 k0,3 a1,0 a1,1 a1,2 a1,3 k1,0 k1,1 k1,2 k1,3 a2,0 a2,1 a2,2 a2,3 k2,0 k2,1 k2,2 k2,3 a3,0 a3,1 a3,2 a3,3 k3,0 k3,1 k3,2 k3,3 Nb、Nk、Nr之间的关系: Nr Nb=4 Nb=6 Nb=8 Nk=4 10 12 14 Nk=6 12 12 14 Nk=8 14 14 143、圈变换加密轮函数 标准圈变换: Rou

36、nd(State,RoundKey) ByteSub(State); S盒变换 ShiftRow(State); 行移位变换 MixColumn(State); 列混合变换 AddRoundKey(State,RoundKey) 圈密钥加变换最后一圈的圈变换: Round(State,RounKey) ByteSub(State); S盒变换 ShiftRow(State);行移位变换 AddRoundKey(State,RoundKey) 圈密钥加变换注:最后一圈的圈变换中没有列混合变换。4、S盒变换 ByteSub(State) S盒变换是AES的唯一的非线性变换,是AES安全的关键。AE

37、S使用16个相同的S盒,DES使用8个不相同的S盒。AES的S盒有8位输入8位输出,DES的S盒有6位输入4位输出。 S盒变换: a)将输入字节用其GF(28)上的逆来代替; b)对a)的结果作如下的仿射变换: (以x0 x7作输入,以y0 y7作输出。) y0 1 0 0 0 1 1 1 1 x0 1 y1 1 1 0 0 0 1 1 1 x1 1 y2 1 1 1 0 0 0 1 1 x2 0 y3 = 1 1 1 1 0 0 0 1 x3 + 0 y4 1 1 1 1 1 0 0 0 x4 0 y5 0 1 1 1 1 1 0 0 x5 1 y6 0 0 1 1 1 1 1 0 x6 1

38、 y7 0 0 0 1 1 1 1 1 x7 1注意:S盒变换的第一步是把字节的值用它的乘法逆来代替,是一种非线性变换。由于系数矩阵中每列都含有 5个1,这说明改变输入中的任意一位,将影响输出中的 5位发生变化。由于系数矩阵中每行都含有 5个1,这说明输出中的每一位,都与输入中的 5位相关。三、圈密钥生成 W0 W1 W2 WNk-1 WNk WNk+1 用户密钥 当 j 不是Nk的整数倍时: WjWj-Nk Wj-1当 j 是Nk的整数倍时:WjWj-Nk ByteSub (Rotl ( Wj-1) ) Rconj/Nk; 四、AES的解密算法加密算法不是对合运算: (AES)-1AES解密

39、算法的结构与加密算法的结构相同解密中的变换为加密算法变换的逆变换,且密钥扩展策略稍有不同。Decryption(State,CipherKey) Inv_KeyExpansion(CipherKey,Inv_ RoundKey); AddRoundKey(State,Inv_ RoundKey); For(I=1;INr;I+) Inv_Round(State, Inv_ RoundKey); Inv_ByteSub(State); Inv_ShiftRow(State); Inv_MixColumn(State); AddRoundKey(State, Inv_ RoundKey ; Inv

40、_FinalRound(State,Inv_RoundKey) InvByteSub(State); InvShiftRow(State); AddRoundKey(State, Inv_ RoundKey );五、AES的实现适应多种环境,高效,方便是AES的突出优点。由于AES的基本运算由ByteSub、MixColumn、ShiftRow和AddRoundKey变换构成,因此AES的实现主要是这些变换的实现。其中ShiftRow和AddRoundKey的实现比较容易,因此主要是ByteSub和MixColumn变换的实现问题。有了这些基本运算的实现,便可以有效地实现整个AES。实现方法:

41、软件 硬件软件方法:基于算法描述;基于查表 1、基于算法描述的软件实现AES的算法描述是一种程序化的描述,便于实现。AES的四种基本变换都比较简单,便于实现。用 C语言仿照算法描述,可方便地实现。这种实现的速度不是最快的!2、基于查表的软件实现用查表实现算法是一种高效的软件设计方法。时空折换是信息科学的基本策略。用查表实现算法,就是用空间换取时间。目前计算机系统的存储空间大、而且便宜,为查表实现算法提供了物资基础。S盒的实现 实现S盒变换的最快方法是,直接计算出S盒的变换的结果,并存储造表,使用时时直接查表。因为ByteSub变换是字节函数,所以表的规模不大,只含256个元素。注意:解密时用的

42、是逆S盒,因此共需要造两个S盒表。六、AES的安全性能够抵抗目前所有的已知攻击:穷举攻击。差分攻击。线性攻击。Square攻击。七、AES的评说AES体现商农的密码设计理论。体现了公开设计原则:公开算法AES代表当今商业密码的最高水平。大作业 以AES作为加密算法开发出文件加密软件系统: l 具有文件加密和解密功能;l 具有加解密速度统计功能;l 采用密文反馈链接和密文挪用短块处理技术;l 具有较好的人机界面。复习题1、对比AES和DES有什么不同?2、AES的解密算法与加密算法有什么不同?3、在GF(28)中,01的逆元素是什么?4、对于字节“ 00”和“ 01”计算S盒的输出。5、证明c(

43、x)与d(x)互逆,模x4+1。 6、证明:xi mod (x4+1)=xi mod 4 第五讲 中国商用密码SMS4一、我国的密码分级:核心密码:用于保护党、政、军的核心机密。普通密码: 用于保护国家和事企业单位的低于核心机密而高于商业机密的密码信息。商用密码: 用于保护国家和事企业单位的非机密的敏感信息。 个人密码: 用于保护个人的隐私信息。前三种密码均由国家密码管理局统一管理。二、我国商的业密码政策统一领导:国家密码管理局统一领导。集中管理: 国家密码管理局办公室集中管理。定点研制: 研制只允许定点单位进行。专控经营: 经许可的单位才能经营。满足使用: 国内各单位都可申请使用。三、我国商

44、用密码概况 密码的公开设计原则 密码的安全应仅依赖于对密钥的保密,不依赖于对算法的保密。 公开设计原则并不要求使用时公开所有的密码算法核心密码不能公布算法; 核心密码的设计也要遵循公开设计原则。 商用密码应当公开算法美国DES开创了公开商用密码算法的先例;美国经历DES(公开)EES(保密)AES(公开)。欧洲也公布商用密码算法我国的商用 密码概况 我国在密码技术方面具有优势: 密码理论、密码分析 长期以来不公开密码算法,只提供密码芯片 少数专家设计,难免有疏漏; 难于标准化,不利于推广应用。 2006年2月我国公布了部分商用密码算法; 商用密码管理更科学化、与国际接轨; 将促进我国商用密码的

45、发展。四、我国商用密码SMS4 分组密码: 数据分组长度=128位、密钥长度=128位 数据处理单位:字节( 8位),字(32位) 密码算法结构: 基本轮函数加迭代 对合运算:解密算法与加密算法相同 五、SMS4 密码算法1、基本运算: 模2加:,32 比特异或运算 循环移位: i ,把32位字循环左移i 位2、基本密码部件: 非线性字节变换部件S盒: 8位输入、8位输出。 本质上, 8位的非线性置换。 设输入位a,输出位b,表示为: b=S_Box(a) S盒中数据为16进制数S盒的置换规则:以输入的前半字节为行号,后半字节为列号,行列交叉点处的数据即为输出。 举例:设输入为“ef ”,则行

46、号为e,列号为f ,于是S 盒的输出值为表中第e 行和第f 列交叉点的值, Sbox(ef)= 84。非线性字变换t:32位字的非线性变换 4个S盒并行置换;设输入字A=(a0,a1,a2,a3),输出字B=(b0,b1,b2,b3),B= t(A)=(S_box(a0), S_box(a1), S_box(a2), S_box(a3) 字线性部件L变换: 32位输入、32位输出。 设输入位B,输出位C,表为:C=L(B) 运算规则:C=L(B) =B(B2)(B10)(B18) (B24)字合成变换T: 由非线性变换 和线性变换L 复合而成; T(X)=L(X)。先S盒变换,再L变换。3、轮函数F:输入数据:(X0,X1,X2,X3),128位,四个32位字。输入轮密钥:rk ,32位字。输出数据:32位字。轮函数F :F(X0,X1,X2,X3,rk)= X0 T( X1 X2 X3rk) 4、加密算法:输入明文:(X0,X1,X2,X3),128位,四个字。输入轮密钥:rki ,i=0,1,31,32个字。输出密文:(Y0,Y1,Y2,Y3),128位,四个字。算法结构:轮函数的32轮迭代,每轮使

温馨提示

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

评论

0/150

提交评论