第二章-密码学基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020/4/6网络安全NetworkSecurity2020/4/6访问控制身份认证数字签名消息认证第2章密码学基础密码算法密钥管理2020/4/6访问控制身份认证数字签名消息认证第2章密码学基础密码算法密钥管理2020/4/6密码算法分类密码算法基于密钥保密性基于算法保密性基于保密的内容对称密码算法非对称密码算法分组密码算法流密码算法明文处理方法密码算法对称密码学:DES-》AES非对称密码学:RSA-》ECC5数据加密的概念数据加密技术的概念数据加密(Encryption)是指将明文信息(Plaintext)采取数学方法进行函数转换成密文(Ciphertext),只有特定接受方才能将其解密(Decryption)还原成明文的过程。明文(Plaintext):加密前的原始信息;密文(Ciphertext):明文被加密后的信息;密钥(Key):控制加密算法和解密算法得以实现的关键信息,分为加密密钥和解密密钥;加密(Encryption):将明文通过数学算法转换成密文的过程;解密(Decryption):将密文还原成明文的过程。6数据加密的概念数据加密模型7数据加密的概念数据加密技术的应用数据保密;身份验证;保持数据完整性;确认事件的发生。传统密码学1.置换密码(permutationcipher),又称换位密码(transpositioncipher):将明文字母互相换位,明文的字母不变,但顺序被打乱了。例如:线路加密法明文以固定的宽度水平写出,密文按垂直方向读出。明文:COMPUTERSYSTEMSECURITYCOMPUTERSYSTEMSECURITY密文:CTSETOETCYMREUPSMRUYSI2、代替法:代替密码就是明文中每一个字符被替换成密文中的另外一个字符,代替后的各字母保持原来位置。对密文进行逆替换就可恢复出明文。凯撒密码就是单表代替密码,它的每一个明文字符都由其右边第3个(模26)字符代替(A由D代替,B由E代替,W由Z代替,X由A代替,Y由B代替,Z由C代替)。明文abcdefghijklm密文DEFGHIJKLMNOP明文nopqrstuvwxyz密文QRSTUVWXYZABC若明文m=Casearcipherisashiftsubstitution则密文C=E(m)=FDVHDUFLSHULVDVKLIWVXEVWLWXWLRQCAESAR密码的加法变换c≡(P+k)mod26其中P是明文对应的数据,c是与明文对应的密文数据,k是加密用的参数,叫密钥。例如:明文:datasecurity对应数据序列:4,1,20,1,19,5,3,21,18,9,20,25,当k=5时,密文序列是多少?得密文序列:9,6,25,6,24,10,8,0,23,14,25,4密文:ifyxjhzwnyd缺点:容易破解密码,可以使用统计攻击练习:明文P:Iamanetworkmanager密钥k=413密码的分类密码体制从原理上分为:1)传统密码体制:对称密码体制(单钥体制)2)现代密码体制:非对称密码体制(公钥密码体制、双钥体制)按照对明文的处理方式分为:分组密码算法和序列密码算法(流密码)。分组密码算法:把明文分成等长的组分别加密,例DES序列密码算法:是一个比特一个比特地处理,用已知的密钥随机序列与明文按位异或,例RC414数据加密技术原理对称密钥加密(保密密钥法)加密算法解密算法密钥网络信道明文明文密文加密密钥解密密钥两者相等DES算法概述为了建立适用于计算机系统的商用密码,美国商业部的国家标准局NBS于1973年5月和1974年8月两次发布通告,向社会征求密码算法。在征得的算法中,由IBM公司提出的算法lucifer中选。于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(AmericanNationalStandardInstitute,ANSI)承认。1977年1月以数据加密标准DES(DataEncryptionStandard)的名称正式向社会公布。DES算法概述个人攻击小组攻击院、校网络攻击大公司军事情报机构40(bits)数周数日数小时数毫秒数微秒56数百年数十年数年数小时数秒钟64数千年数百年数十年数日数分钟80不可能不可能不可能数百年数百年128不可能不可能不可能不可能数千年M.Matsui提出的线性分析方法,利用243个已知明文,成功地破译了16圈DES算法,到目前为止,这是最有效的破译方法。从1997年开始,RSA公司发起了一个称作“向DES挑战”的竞技赛。在首届挑战赛上,罗克·维瑟用了96天时间破解了用DES加密的一段信息。1999年12月22日,RSA公司发起“第三届DES挑战赛(DESChallengeIII)”。2000年1月19日,由电子边疆基金会组织研制的25万美元的DES解密机以22.5小时的战绩,成功地破解了DES加密算法。DES已逐渐完成了它的历史使命。明文64bit码初始变换IP16轮乘积变换逆初始变换IP-1密文64bit码输出DES算法数据加密标准-DESDES是一种明文分组为64比特,有效密钥56比特,输出密文64比特的,具有16轮迭代的分组对称密码算法,DES由初始置换,16轮迭代,初始逆置换组成。2020/4/6DESL0R0L1R1L2R2K1f+K2f+R16L16IPIP-1K16f+明文加密密文第1轮第2轮第16轮…64位64位32位32位32位32位32位32位32位32位48位48位48位K111(,)iiiiiiLRRLfkR其中:1.DES的基本运算初始置换IP和初始逆置换IP-12.一轮DES代换算法说明DES结构f函数为:f(R,K)=P(S(K⊕E(R))),如图3-6所示:(1)E-扩展运算E-扩展运算是扩位运算,将32比特扩展为48比特,用方阵形式可以容易地看出其扩位其中粗方框中的为原始输入数据。(2)S-盒运算S-盒运算由8个S-盒函数构成,其中,每一个S-盒函数都是6比特的输入,4比特的输出。的值就是对应表si中(h1h6)2行和(h2h3h4h5)2列上的值。2020/4/6S1:14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,…………S8:13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11,2020/4/6在DES算法中,S盒变换是将每个s盒的6位输入变换为4位输出,假设s盒2的6位输入为111010,写出其输出。S〔2〕1518146113497213120510313471528141201106911501471110413158126932151381013154211671205149假设输入A=a1a2a3a4a5a6则a2a3a4a5=k,a1a6=h,在s盒的h行k列找到一个数B,B在0~15之间,则用二进制表示B=b1b2b3b4,就是s1的输出;根据以上算法,B在S盒的2行13列,顺着表找到数字9,用二进制表示为1001,即输出为10012020/4/6(3)P-置换P-置换是对8个S-盒的输出进行变换,可以扩散单个P-盒的效果,如表3-5所示。3.子密钥生成器密钥(64bit)PC-1K1C0置换选择1(去奇偶校验、置换56bit)D0LS1LS1C1D1LS2LS2C2D2PC-2置换选择228bit28bit56bitK2PC-256bitLS16LS16C16D16K16PC-256bit48bit48bit48bit64比特的密钥K,经过PC-1后,生成56比特的串。其下标如表所示:2020/4/6该比特串分为长度相等的比特串C0和D0。然后C0和D0分别循环左移1位,得到C1和D1。C1和D1合并起来生成C1D1。C1D1经过PC-2变换后即生成48比特的K1。K1的下标列表为:2020/4/6C1、D1分别循环左移LS2位,再合并,经过PC-2,生成子密钥K2……依次类推直至生成子密钥K16。注意:Lsi(I=1,2,….16)的数值是不同的。具体见下表:2020/4/6DES算法的解密过程是一样的,区别仅仅在于第一次迭代时用子密钥K(15),第二次K(14)、......,最后一次用K(0),算法本身并没有任何变化。DES的安全性分析(1)S-盒的设计准则S盒的设计准则还没有完全公开,人们仍然不知道S盒的构造中是否使用了进一步的设计准则。(2)56位有效密钥太短这是最致命的缺陷。(3)弱密钥和半弱密钥(4)代数结构存在互补对称性对称加密的优点:算法效率高,尤其是硬件实现的情况很强的保密性对称加密的缺点:密钥管理麻烦:有N个用户,n(n-1)/2个密钥量。假设n=1000,则需要49995000个密钥。三重DES为了增强DES算法的安全性,人们提出了许多DES的改进方案。其中,称为三重DES的多重加密算法是DES的一个重要的改进算法。DES解密DES加密DES加密DES加密DES解密DES解密明文M密文CK1K2K3加密38数据加密技术原理非对称密钥加密(公开密钥加密)加密算法解密算法公开密钥网络信道明文明文密文私有密钥公钥私钥公钥私钥不可相互推导不相等Q:公钥加密和数字签名的区别RSA密码是由Rivest,Shamir和Adleman三位学者于1977年联合提出的双密钥(公钥)密码系统,RSA是由他们的名字的首字母命名。是迄今理论上最为成熟完善的一种公钥密码体制。RSA密码基于计算复杂性原理获得加密强度,但其缺点是系统的安全取决于所用的两个大素数,如果能找出一种快速方法分解这两个大素数,系统很容易被攻破。RSA密码体制RSA的算法描述(1)密钥的生成1.选择两个大素数p,q,(p,q为互异素数,需要保密),2.计算n=p×q,(n)=(p-1)×(q-1)3.选择整数e使((n),e)=1,1e(n)4.计算d,使d=e-1mod(n),得到:公钥为{e,n};私钥为{d}(2)加密(用e,n):明文:Mn,密文C=Me(modn).(3)解密(用d,n):密文C,明文M=Cd(modn)验证:Cdmodn=(Me)dmodn=Medmodn≡Mmodn(由Euler定理推论)举例取两个质数p=11,q=13试计算它的公钥和私钥p和q的乘积为n=p×q=143,算出另一个数f=(p-1)×(q-1)=120;再选取一个与f=120互质的数,例如e=7则公开密钥=(n,e)=(143,7)。对于这个e值,可以算出其逆:d=103。因为e×d=7×103=721,满足e×dmodf=1;即721mod120=1成立。则秘密密钥=(n,d)=(143,103)。设张小姐需要发送机密信息(明文)m=85给李先生,她已经从公开媒体得到了李先生的公开密钥(n,e)=(143,7),于是她算出加密值:c=memodn=85*7mod143=123并发送给李先生。李先生在收到密文c=123后,利用只有他自己知道的秘密密钥计算:m=cdmodn=123*103mod143=85,所以,李先生可以得到张小姐发给他的真正的信息m=85,实现了解密。练习:1.设P=3,Q=5,请问:(1)公钥和私钥分别是多少?(2)如果要加密的信息为M=7,则密文为多少?2.如果加密信息为“itsallweaktome”,应该如何做?2020/4/6RSA:例2Bob选择p=885320693,q=238855

1 / 158
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功