收藏 分享(赏)

第十讲公开密钥密码.doc

上传人:dzzj200808 文档编号:2354128 上传时间:2018-09-12 格式:DOC 页数:72 大小:408KB
下载 相关 举报
第十讲公开密钥密码.doc_第1页
第1页 / 共72页
第十讲公开密钥密码.doc_第2页
第2页 / 共72页
第十讲公开密钥密码.doc_第3页
第3页 / 共72页
第十讲公开密钥密码.doc_第4页
第4页 / 共72页
第十讲公开密钥密码.doc_第5页
第5页 / 共72页
点击查看更多>>
资源描述

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

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

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

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

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

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

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

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

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

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

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

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

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

14、ertext-only attack)所谓仅知密文攻击是指密码分析者仅根据截获的密文来破译密码。因为密码分析者所能利用的数据资源仅为密文,因此这是对密码分析者最不利的情况。 密码学的基本假设:攻击者总能获得密文。攻击者总能知道密码算法。攻击者不知道密钥。根据占有的数据资源分类: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:ABf(ai )= bi=aj j=i+k mod n加法密码是用明文字母在字母表中后面第 k 个字母来代替。K=3 时是著名的凯撒密码。、乘法密码A 和 B 是有 n 个字母的字母表。定义一个由 A 到 B 的映射:f:ABf(ai )= bi= aj j=ik mod n其中,(n,k)=1。注意:只有(n,k)=1,才能正确解密。密

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

20、igenere 密码:著名的多表代替密码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 共有(n)种可能,密钥空间更小。对于英文字母表,n=26,k=1,3,5,7,9,11,15,17,19,21,23,25 取掉 1,共 11 种,比加法密

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

23、稳定。最高频率字母 E次高频率字母 T A O I N 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 ONES ST EN AT TO NT HA NDOU EA NG AS OR TI IS ETIT AR TE SE HI OF频率最高的三字母组:THE ING AND HER ERE ENT THA WASETH FOR DHT HAT SHE ION HIS ERSVER其中 THE 的频率是 ING 的 3 倍!英文单词以 E,S,D,T 为结尾的超过一半

24、。英文单词以 T,A,S,W 为起始字母的约占一半。还有其它统计规律!教科书上有一个完整的统计分析例子。经得起统计分析是对近代密码的基本要求!复习题 已知置换如下: 1 2 3 4 5 63 5 1 6 4 2明文642135 ,密文?密文214365 ,明文?使加法密码算法称为对合运算的密钥 k 称为对合密钥,以英文为例求出其对合密钥。 已知一个加法密码的密文如下:BEEAKFYDJXUQYHYJIQRYHTYJIQFBQDUYJIIKFUHCQD用穷举法求出明文。以英文为例,用加法密码,取密钥常数 k= 7,对明文 INFORMATION SECURITY,进行加密,求出密文。证明,在置换

25、密码中,置换 p 是对合的,当且仅当对任意的 i 和 j(i, 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、标准加密算法的目标用于加密保护政府机构和商业部门的非机密的敏感数据。用于加密保护静态存储和传输信道中

26、的数据。安全使用 10 15 年。3、整体特点分组密码:明文、密文和密钥的分组长度都是 64 位。面向二进制的密码算法:因而能够加解密任何形式的计算机数据。对合运算:因而加密和解密共用同一算法,使工程实现的工作量减半。综合运用了置换、代替、代数等多种密码技术。4、应用许多国际组织采用为标准。在全世界范围得到广泛应用。产品形式:软件(嵌入式,应用软件) ;硬件(芯片,插卡)5、结论用于其设计目标是安全的。设计精巧、实现容易、使用方便,堪称典范。二、算法1、DES 加密过程的数学描述:Li = Ri-1Ri =Li-1f ( Ri-1,Ki) i =1,2,3,162、置换选择 1:、作用去掉密钥

27、中的 8 个奇偶校验位。打乱重排,形成 C0 (左 28 位),D 0 (右 28 位) 。3、循环移位:、作用对 C0 ,D 0 分别循环移位。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 位。选择运

28、算 E把 32 位输入扩充为 48 位中间数据;重复使用数据实现扩充。选择替换 S(S 盒)S 盒是 DES 唯一的非线性变换。S 盒是 DES 安全的关键。共有 8 个 S 盒。每个 S 盒有 6 个输入,4 个输出,是一种非线性压缩变换。设输入为 b1b2b3b4b5b6 ,则以 b1b6 组成的二进制数为行号,b 2b3b4b5 组成的二进制数为列号。行列交点处的数(二进制)为输出。置换运算 P把数据打乱重排。8、DES 的解密过程DES 的运算是对和运算,解密和加密可共用同一个运算。不同点:子密钥使用的顺序不同。第一次解密迭代使用子密钥 K16 ,第二次解密迭代使用子密钥 K15 ,第

29、十六次解密迭代使用子密钥 K1 。DES 解密过程的数学描述:Ri-1= LiLi-1= Ri f (L i,Ki) i =16,15,14,.,19、DES 的对和性证明1、可逆性证明定义 T 是把 64 位数据的左右两半交换位置:T(L,R )(R,L)因为,T 2 (L ,R)(L,R)I ,其中 I 为恒等变换,于是,T =T 1 ,所以 T 变换是对合运算。 记 DES 第 i 轮中的主要运算为,即Fi(L i 1,R i -1)(L i -1f(R i -1, Ki) ,R i -1)Fi 2F i(L i -1 f(R i -1, Ki) ,R i -1)(L i -1f (R

30、i -1, Ki)f(R i -1, Ki) ,R i -1)(L i 1,R i -1)I所以,F i F i 1 。 所以 F i 变换也是对合运算。结合、,便构成 DES 的轮运算Hi F iT 因为(F iT) (TF i)=(F i(TT )F i)=F iFi =I ,所以(F iT) 1 (TF i) (F iT)(TF i) 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)

31、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 的运算是对合运算。10、DES 的安全性攻击穷举攻击。目前最有效的方法。差分攻击。线性攻击。11、3 重 DES美国 NIST 在 1999 年发布了一个新版本的 DES 标准(FIPS PUB46-3):DES 只用于遗留系统。3DES 将取代 DES 成为新的标准 。国际组织和我国银

32、行都接受 3DES。 3DES 的优势:3 密钥的 3DES:密钥长度是 168 位。2 密钥的 3DES:密钥长度是 112 位。安全:密钥足够长;经过最充分的分析和实践检验。兼容性好。12、DES 的历史回顾DES 的出现标志着商业密码需求的增加。DES 体现商农的密码设计理论。体现了公开设计原则,开创公开算法的先例。DES 代表当时商业密码的最高水平。大作业 1以 3DES 作为加密算法开发出文件加密软件系统: 具有文件加密和解密功能;具有加解密速度统计功能;采用密文反馈链接和密文挪用短块处理技术;具有较好的人机界面。复习题1、分析 DES 的弱密钥。2、证明 DES 具有互补对称性。3

33、、画出 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 月里根总统下令由国家保密局研制新密码标准,以取代 DES。1991 年新密码开始试用并征求意见。民众要求公开算法,并去掉法律监督。

34、1994 年颁布新密码标准(EES ) 。1995 年 5 月贝尔实验室的博士生 M.Blaze 在 PC 机上用 45 分钟攻击法律监督字段获得成功。1995 年 7 月美国政府放弃用 EES 加密数据。1997 年美国政府向社会公开征 AES。美国商用密码政策的变化公开征集 秘密设计 公开征集成功 不成功 预计成功 3、AES 的设计要求安全性:抵抗所有已知攻击;实用性:适应各种环境,速度快;扩展性:分组长度和密钥长度可扩展。4、整体特点分组密码:明文长度 128,密文长度、密钥长度可变(128/192/256 等,现在一般取 128 ) 。面向二进制的密码算法:能够加解密任何形式的计算机

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

36、2 a0,3 k0,0 k0,1 k0,2 k0,3a1,0 a1,1 a1,2 a1,3 k1,0 k1,1 k1,2 k1,3a2,0 a2,1 a2,2 a2,3 k2,0 k2,1 k2,2 k2,3a3,0 a3,1 a3,2 a3,3 k3,0 k3,1 k3,2 k3,3 Nb、Nk、Nr 之间的关系:Nr Nb=4 Nb=6 Nb=8Nk=4 10 12 14 Nk=6 12 12 14Nk=8 14 14 143、圈变换加密轮函数 标准圈变换:Round(State,RoundKey)ByteSub(State); S 盒变换ShiftRow(State); 行移位变换Mix

37、Column(State); 列混合变换AddRoundKey(State,RoundKey) 圈密钥加变换最后一圈的圈变换:Round(State,RounKey)ByteSub(State); S 盒变换ShiftRow(State);行移位变换AddRoundKey(State,RoundKey) 圈密钥加变换注:最后一圈的圈变换中没有列混合变换。4、S 盒变换 ByteSub(State) S 盒变换是 AES 的唯一的非线性变换,是 AES 安全的关键。AES 使用 16 个相同的 S 盒,DES 使用 8 个不相同的 S 盒。AES 的 S 盒有 8 位输入 8 位输出,DES 的

38、 S 盒有 6 位输入 4 位输出。S 盒变换:a)将输入字节用其 GF(28)上的逆来代替;b)对 a)的结果作如下的仿射变换:(以 x0 x7 作输入,以 y0 y7 作输出。 )y0 1 0 0 0 1 1 1 1 x0 1y1 1 1 0 0 0 1 1 1 x1 1y2 1 1 1 0 0 0 1 1 x2 0y3 = 1 1 1 1 0 0 0 1 x3 + 0 y4 1 1 1 1 1 0 0 0 x4 0y5 0 1 1 1 1 1 0 0 x5 1y6 0 0 1 1 1 1 1 0 x6 1y7 0 0 0 1 1 1 1 1 x7 1注意:S 盒变换的第一步是把字节的值用

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

40、变换,且密钥扩展策略稍有不同。Decryption(State,CipherKey) Inv_KeyExpansion(CipherKey,Inv_ RoundKey);AddRoundKey(State,Inv_ RoundKey);For(I=1;I2 时,游程分布如下(1in-2):长为 i 的 1 游程有 N/2 i+1 个;长为 i 的 0 游程有 N/2 i+1 个;长为 n-1 的 0 游程有 1 个;长为 n 的 1 游程有 1 个.自相关函数反映一个周期内平均每位的相同程度。 2、线性移位寄存器序列密码m 序列具有良好的随机性;50 年代开始用作密钥序列,并用于军用。60 年代发现其是不安全的。设 m 序列线性移位寄存器的状态为 S=(s 0,s1 ,.,sn-1) T,下一状态为 S=(s 0,s1 ,.,sn-1) T , 其中s0 = s1s1 = s2. sn-2= sn-1sn-1= g0s0+g1s1+,.,+gn-1sn-1写成矩阵形式:S=HS mod 20 1 0 .0 s0 s00 0 1 .0 s1 s10 0 0 .0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报