信息加密技术【精品-ppt】.ppt
第二章第二章 信息加密技术信息加密技术第二章第二章 信息加密技术信息加密技术信息安全信息安全3/19/20231*第二章第二章 信息加密技术信息加密技术2.12.1密码技术概述密码技术概述2.22.2密码算法密码算法2.32.3对称算法加密模式对称算法加密模式2.42.4信息传输安全信息传输安全本章主要内容本章主要内容3/19/20232*第二章第二章 信息加密技术信息加密技术 本章介绍密码系统的模型,密码与密码体制,常用的本章介绍密码系统的模型,密码与密码体制,常用的密码算法,加密的方式方法,信息加密技术及密码破译方密码算法,加密的方式方法,信息加密技术及密码破译方法。法。掌握以下内容:掌握以下内容:(1)(1)理解密码系统的模型;理解密码系统的模型;(2)(2)理解对称密钥密码体制和非对称密钥密码体制的理解对称密钥密码体制和非对称密钥密码体制的原理;原理;(3)(3)掌握掌握DESDES算法,算法,RSARSA公开密钥密码算法的原理及应公开密钥密码算法的原理及应用;用;(4)(4)了解加密方式和各自的特点;了解加密方式和各自的特点;(5)(5)理解常见的密码破译方法,防止密码破译的措施。理解常见的密码破译方法,防止密码破译的措施。本章学习目标本章学习目标3/19/20233*第二章第二章 信息加密技术信息加密技术2.1 密码技术概述密码技术概述 2.1.1 2.1.1 密码系统密码系统明文密文密文密钥k密钥k不安全信道密钥信道加密变换器解密变换器发送者A接收者B破译分析窃密者E密码系统模型密码系统模型3/19/20234*第二章第二章 信息加密技术信息加密技术q明文空间-信息本来的原始空间;q密文空间-明文经过加密后得到难以理解和辨认的信息空间;q密钥空间-控制算法的实现,由信息通信双方所掌握的专门信息空间;q密码算法-“计算某些量值或某个反复出现的数学问题求解”的公式、法则或程序。它规定了明文和密文之间的变换方式。2.1 密码技术概述密码技术概述 2.1.1 2.1.1 密码系统密码系统3/19/20235*第二章第二章 信息加密技术信息加密技术 明文用或表示,密文用C表示。加密函数作用于得到密文。可用数学公式表示:相反地,解密函数作用于产生:先加密后再解密,原始的明文将恢复,故下面的等式必须成立:2.1 密码技术概述密码技术概述 2.1.1 2.1.1 密码系统密码系统3/19/20236*第二章第二章 信息加密技术信息加密技术2.1 密码技术概述密码技术概述 2.1.1 2.1.1 密码系统密码系统(Cryptography SystemCryptography SystemCryptography SystemCryptography System)q用于转换纯文本到密码的类型用于转换纯文本到密码的类型 替代替代(substitution)移位移位(transposition)密钥的种类密钥的种类对称,单密钥,秘密密钥对称,单密钥,秘密密钥不对称,双密钥不对称,双密钥,公开密钥加密公开密钥加密 q以处理纯文本文件的方法以处理纯文本文件的方法分组密码(分组密码(block cipher)流密码(流密码(stream cipher)3/19/20237*第二章第二章 信息加密技术信息加密技术古老的非密码信息保密古老的非密码信息保密古老的非密码信息保密古老的非密码信息保密qSTEGANOGRAPHY vs.CRYPTOGRAPHYCharacter marking(特征记号)Invisible ink(不可见墨水)Pin punctures(小孔)Typewriter correction ribbon(丝带)qKodak Photo CD format,2048x3072x24bit pixcelscan hide 2.3 Mbytes message in a single digital snapshot 2.1 密码技术概述密码技术概述 2.1.1 2.1.1 密码系统密码系统(Cryptography SystemCryptography SystemCryptography SystemCryptography System)3/19/20238*第二章第二章 信息加密技术信息加密技术2.1 密码技术概述密码技术概述 2.1.1 2.1.1 2.1.1 2.1.1 密码系统密码系统密码系统密码系统(Cryptography SystemCryptography SystemCryptography SystemCryptography System)qq 密密码码编编码码学学是密码体制的设计学,而密密码码分分析析学学则是在未知密钥的情况下从密文推演出明文或密钥的技术。密码编码学与密码分析学合起来即为密码学密码学。q如果不论截取者获得了多少密文,但在密文中都没有足够的信息来惟一地确定出对应的明文,则这一密码体制称为无无条条件件安安全全的的,或称为理理论论上上是是不不可可破破的的。在无任何限制的条件下,目前几乎所有实用的密码体制均是可破的。因此,人们关心的是要研制出在在计计算算上上(而而不不是是在在理理论论上上)是是不不可可破破的的密密码码体体制制。如果一个密码体制中的密码不能被可以使用的计算资源破译,则这一密码体制称为在计算上是安全的在计算上是安全的。3/19/20239*第二章第二章 信息加密技术信息加密技术2.1 密码技术概述密码技术概述 2.1.1 2.1.1 2.1.1 2.1.1 密码系统密码系统密码系统密码系统(Cryptography SystemCryptography SystemCryptography SystemCryptography System)美国:数据加密标准数据加密标准DES(Data Encryption Standard)公开密钥密码体制公开密钥密码体制(public key crypto-system)的出现,成为近代密码学发展史上的两个重要里程碑。近代密码学发展近代密码学发展近代密码学发展近代密码学发展3/19/202310*第二章第二章 信息加密技术信息加密技术2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 2.1.2 2.1.2 密码体制密码体制密码体制密码体制 一个密码系统采用的基本工作方式称为一个密码系统采用的基本工作方式称为密码密码体制体制。密码体制从原理上可分为两大类:密码体制从原理上可分为两大类:对称密钥密码体制(单钥、常规)对称密钥密码体制(单钥、常规)非对称密钥密码体制(双钥、公开)非对称密钥密码体制(双钥、公开)3/19/202311*第二章第二章 信息加密技术信息加密技术2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 2.1.2 2.1.2 密码体制密码体制密码体制密码体制1.1.1.1.对称(常规)密码体制对称(常规)密码体制对称(常规)密码体制对称(常规)密码体制q在发端,明文明文X X用加密算法加密算法E和加密密钥加密密钥K得到密文密文C C C C EK(P)q在传送过程中可能出现密文截取者。截取者截取者又称为攻攻击者击者或入侵者入侵者。P 或 Kq在收端,利用解密算法解密算法D和解密密钥解密密钥K,解出明文为 DK(C)DK(EK(P)P 3/19/202312*第二章第二章 信息加密技术信息加密技术2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 2.1.2 2.1.2 密码体制密码体制密码体制密码体制1.1.1.1.对称密钥密码体制对称密钥密码体制对称密钥密码体制对称密钥密码体制 k k明文密文解密后的明文加密解密密钥产生器加密和解密表示为:加密和解密表示为:()()()()()()()()解密算法是加密算法的逆运算;加密密钥和解密密钥相同;加密算法强度高;密钥传递需专用通道;3/19/202313*第二章第二章 信息加密技术信息加密技术2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 2.1.2 2.1.2 密码体制密码体制密码体制密码体制 1.1.1.1.对称密钥密码体制对称密钥密码体制对称密钥密码体制对称密钥密码体制 对称算法可分为两类:对称算法可分为两类:q 序序列列算算法法(stream stream algorithmalgorithm)或或序序列列密密码码(stream(stream cipher)cipher):明明文文中中的的单单个个位位(有有时时对对字字节节)运算的算法。运算的算法。q 分分组组算算法法(block block algorithmalgorithm)或或分分组组密密码码(block block ciphercipher):把把明明文文信信息息分分割割成成块块结结构构,逐逐块块予以加密和解密;块的长度由算法设计者预先确定。予以加密和解密;块的长度由算法设计者预先确定。3/19/202314*第二章第二章 信息加密技术信息加密技术2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 2.1.2 2.1.2 密码体制密码体制密码体制密码体制 1.1.1.1.对称密钥密码体制对称密钥密码体制对称密钥密码体制对称密钥密码体制 q序列密码序列密码密钥序列k=k0k1k2明文序列m=m0m1m2密文序列C=C0C1C2密文序列C=C0C1C2明文序列m=m0m1m2密钥序列k=k0k1k2序列密码加密解密过程序列密码加密解密过程3/19/202315*第二章第二章 信息加密技术信息加密技术2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 2.1.2 2.1.2 密码体制密码体制密码体制密码体制 1.1.1.1.对称密钥密码体制对称密钥密码体制对称密钥密码体制对称密钥密码体制 例例:设设明明文文M=(M=(01100100110110010011)2 2,密密钥钥K=(K=(01110010010111001001)2 2。在在A A,B B两两方方通通信信前前,A A首首先先通通过过安安全全信信道道(比比如如信信使使)把把密密钥钥K K送送给给B B,现现在在要要把把明明文文M M通通过过公开信道送给公开信道送给B B,加、解密过程如,加、解密过程如图图 。C=EK(m)=MK=(0110010011)2(0111001001)2=(0001011010)2M=DK(C)=CK=(0001011010)2(0111001001)2=(0110010011)23/19/202316*第二章第二章 信息加密技术信息加密技术2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 密码密码体制体制体制体制 1.1.1.1.对称密钥密码体制对称密钥密码体制对称密钥密码体制对称密钥密码体制 q分组密码分组密码密文分组C=C0C1C2明文分组m=m0m1m2密钥k=k0k1k2Ek密钥k=k0k1k2密文分组C=C0C1C2明文分组m=m0m1m2Dk3/19/202317*第二章第二章 信息加密技术信息加密技术2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 2.1.2 2.1.2 密码体制密码体制密码体制密码体制1.1.1.1.对称密钥密码体制对称密钥密码体制对称密钥密码体制对称密钥密码体制 q分组密码分组密码1)1)密文仅与给定的密码算法和密钥有关;密文仅与给定的密码算法和密钥有关;2)2)与与被被处处理理的的明明文文数数据据段段在在整整个个明明文文(或或密密文文)中中所所处处的的位位置无关;置无关;3)3)总总是是以以大大于于等等于于6464比比特特的的数数据据块块作作为为加加密密单单位位,给给定定相相同同的明文数据块加密后得到相同的密文数据块;的明文数据块加密后得到相同的密文数据块;4)4)具有代表性的分组加密算法有具有代表性的分组加密算法有DESDES、IDEA IDEA 等。等。3/19/202318*第二章第二章 信息加密技术信息加密技术2.2.2.2.公开密钥密码体制公开密钥密码体制公开密钥密码体制公开密钥密码体制 k k明文明文 密文密文 密文密文 明文明文 D 解密算法解密算法密钥源密钥源不安全信道不安全信道不安全信道不安全信道密钥信道密钥信道密钥信道密钥信道常规密码系统模型常规密码系统模型E 加密算法加密算法密钥源密钥源 密钥如何密钥如何分配?分配?2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 密码密码体制体制体制体制3/19/202319*第二章第二章 信息加密技术信息加密技术 若有若有n个人要互相进行保密通信的话,每一个人就须个人要互相进行保密通信的话,每一个人就须保存另外保存另外n1的密钥,因而网络中就会有的密钥,因而网络中就会有n(n1)2个个密钥,这给密钥的管理和更换都带来了极大的。密钥,这给密钥的管理和更换都带来了极大的。密钥的管密钥的管理和更换理和更换量大!量大!2.1 2.1 密码技术概述密码技术概述2.2.2.2.公开密钥密码体制公开密钥密码体制公开密钥密码体制公开密钥密码体制 2.1.2 2.1.2 2.1.2 2.1.2 密码体制密码体制密码体制密码体制3/19/202320*第二章第二章 信息加密技术信息加密技术 StanfordStanford大学大学DiffieDiffie和和HellmanHellman于于年在年在“密码学发展新动向密码学发展新动向”一文中,首次提出以一文中,首次提出以公开密钥密码体制为基础的密码算法。公开密钥密码体制为基础的密码算法。公开密钥密码体制的提出解决了常规密钥密公开密钥密码体制的提出解决了常规密钥密码体制的码体制的密钥分配密钥分配及对及对数字签名数字签名需求的问题。需求的问题。2.1 2.1 密码技术概述密码技术概述2.2.2.2.公开密钥密码体制公开密钥密码体制公开密钥密码体制公开密钥密码体制 2.1.2 2.1.2 2.1.2 2.1.2 密码体制密码体制密码体制密码体制3/19/202321*密码破译者密码破译者密码破译者密码破译者信息源信息源信息源信息源目的文件目的文件目的文件目的文件密钥源密钥源密钥源密钥源加密算法加密算法加密算法加密算法解密算法解密算法解密算法解密算法PCPPK密钥通道密钥通道密钥通道密钥通道KC=EK(P)P=DK(C)P estimation of PK estimation of KUnconditionallysecure:computationallysecure:3/19/202322*第二章第二章 信息加密技术信息加密技术基基基基本本本本思思思思想想想想加密密钥加密密钥(即即公开密钥公开密钥)PK 公开公开解密密钥解密密钥(即即私有密钥私有密钥)SK 保密保密加密算法加密算法E E和解密算法和解密算法D D也都是公开也都是公开私有私有密钥密钥SKSK由由公开密钥公开密钥PKPK决定,但决定,但却不能根据却不能根据PKPK计算出计算出SKSK每个用户产生每个用户产生一对一对密钥密钥PK和和SK2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 2.1.2 2.1.2 密码体制密码体制密码体制密码体制2.2.2.2.公开密钥密码体制公开密钥密码体制公开密钥密码体制公开密钥密码体制 3/19/202323*第二章第二章 信息加密技术信息加密技术收方破译者发方解密算法PK公开密钥体制模型公开密钥体制模型公开密钥体制模型公开密钥体制模型加密算法2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 密码密码体制体制体制体制2.2.2.2.公开密钥密码体制公开密钥密码体制公开密钥密码体制公开密钥密码体制 密钥通道密钥通道密钥源3/19/202324*第二章第二章 信息加密技术信息加密技术公公公公开开开开密密密密钥钥钥钥算算算算法法法法描描描描述述述述E EPKPK(D DSKSK(X X)X X不能用不能用不能用不能用PKPK解密解密解密解密在计算机上可以容易地产生成对的在计算机上可以容易地产生成对的在计算机上可以容易地产生成对的在计算机上可以容易地产生成对的PKPKPKPK和和和和SKSKSKSK从已知的从已知的从已知的从已知的PKPKPKPK不可能推导出不可能推导出不可能推导出不可能推导出SKSKSKSK,即从,即从,即从,即从PKPKPKPK到到到到SKSKSKSK是是是是“计算上不可能的计算上不可能的计算上不可能的计算上不可能的”。加密和解密算法都是公开的。加密和解密算法都是公开的。加密和解密算法都是公开的。加密和解密算法都是公开的。D DSKSK(E EPKPK(X X)X X E EPKPK(D DSKSK(X X)X X2.1 2.1 密码技术概述密码技术概述 2.1.2 2.1.2 密码密码体制体制2.2.2.2.公开密钥密码体制公开密钥密码体制公开密钥密码体制公开密钥密码体制 3/19/202325*第二章第二章 信息加密技术信息加密技术2.1 2.1 密码技术概述密码技术概述 2.1.3 2.1.3 2.1.3 2.1.3密码体制的特征密码体制的特征密码体制的特征密码体制的特征 q对密文破译攻击极为困难;q在有效地防破译的前提下,密钥长度应很小;q加密、解密的操作流程简便易行;q错码率及错码的扩散程度低;q加密后原信息的长度不受影响。3/19/202326*第二章第二章 信息加密技术信息加密技术2.1 2.1 密码技术概述密码技术概述 2.1.3 2.1.3 2.1.3 2.1.3密码体制的特征密码体制的特征密码体制的特征密码体制的特征 q对密文破译攻击极为困难;q在有效地防破译的前提下,密钥长度应很小;q加密、解密的操作流程简便易行;q错码率及错码的扩散程度低;q加密后原信息的长度不受影响。3/19/202327*第二章第二章 信息加密技术信息加密技术2.2 2.2 密码算法密码算法 2.2.1 2.2.1 2.2.1 2.2.1 DESDESDESDES算法算法算法算法 q美国美国IBMIBM公司公司W.Tuchman W.Tuchman 和和 C.Meyer 1971-1972 C.Meyer 1971-1972年研年研制成功。制成功。q19671967年美国年美国Horst FeistelHorst Feistel提出的理论提出的理论q美国国家标准局(美国国家标准局(NBS)1973NBS)1973年年5 5月到月到19741974年年8 8月两次发月两次发布通告,公开征求用于电子计算机的加密算法。经评布通告,公开征求用于电子计算机的加密算法。经评选从一大批算法中采纳了选从一大批算法中采纳了IBMIBM的的LUCIFERLUCIFER方案。方案。qDESDES算法算法19751975年年3 3月公开发表,月公开发表,19771977年年1 1月月1515日由美国国日由美国国家标准局颁布为家标准局颁布为联邦联邦数据加密标准(数据加密标准(Data Data Encryption StandardEncryption Standard),于),于19771977年年7 7月月1515日生效。日生效。3/19/202328*第二章第二章 信息加密技术信息加密技术 为二进制编码数据设计的,可以对计算机数据进行为二进制编码数据设计的,可以对计算机数据进行密码保护的数学运算。密码保护的数学运算。DESDES的保密性仅取决于对密钥的保的保密性仅取决于对密钥的保密密,而算法是公开的而算法是公开的。64 64位明文变换到位明文变换到6464位密文,密钥位密文,密钥6464位,实际可用密位,实际可用密钥长度为钥长度为5656位。位。DESDESDESDES算法算法算法算法6464位明文位明文6464位密文位密文6464位密钥(位密钥(5656位有效)位有效)2.2 2.2 密码算法密码算法 2.2.1 2.2.1 2.2.1 2.2.1 DESDESDESDES算法算法算法算法 3/19/202329*2.2 2.2 密码算法密码算法 2.2.1 2.2.1 2.2.1 2.2.1 DESDESDESDES算法算法算法算法 1.DES1.DES1.DES1.DES的结构图的结构图的结构图的结构图 乘积变换明文输入(明文输入(64位码)初始变换IP密文输出(密文输出(64位码)逆初始变换IP-13/19/202330*D D D DE E E ES S S S加加加加密密密密标标标标准准准准3/19/202331*输入(64位)58 50 42 34 26 18 10 260 52 44 36 28 20 12 462 54 46 38 30 22 14 664 56 48 40 32 24 16 857 49 41 33 25 17 9 159 51 43 35 27 19 11 361 53 45 37 29 21 13 563 55 47 39 31 23 15 7输出(64位)L0(32位)R0(32位)初始变换IP3/19/202332*置换码组输入(64位)40 8 48 16 56 24 64 3239 7 47 15 55 23 63 3138 6 46 14 54 22 62 3037 5 45 13 53 21 61 2936 4 44 12 52 20 60 2835 3 43 11 51 19 59 2734 2 42 10 50 18 58 2633 1 41 9 49 17 57 25输出(64位)逆初始变换IP-13/19/202333*左32位右32位Li-1Ri-1选择48位(明文)64位密钥作第i次迭代的计算机子密钥Ki密钥程序表48位(密钥)8组6位码S1S2S8模2加选择函数输入:6位输出:4位+乘积变换3/19/202334*32位置换32位32位LiRi左32位右32位Ri-1Li-1模2加+.+乘积变换中的一次迭代乘积变换3/19/202335*64位密钥置换选择1C0(28位)D0(28位)循环左移循环左移C1(28位)D1(28位)置换选择2K1(48位)(56位)循环左移循环左移Ci(28位)Di(28位)置换选择2Ki(48位)(56位)密钥表的计算逻辑密钥表的计算逻辑密钥表的计算逻辑密钥表的计算逻辑循环左移:1 1 9 12 1 10 23 2 11 24 2 12 25 2 13 26 2 14 27 2 15 28 2 16 13/19/202336*置换选择157 49 41 33 25 17 9 1 58 50 42 34 26 1810 2 59 51 43 35 2719 11 3 60 52 44 3663 55 47 39 31 33 15 7 62 54 46 38 30 2214 6 61 53 45 37 2921 13 5 28 20 12 4密钥(64位)C0(28位)D0(28位)3/19/202337*14 17 11 24 1 5 3 28 15 6 21 1023 19 12 4 26 816 7 27 20 13 241 52 31 37 47 5530 40 51 45 33 4844 49 39 56 34 5346 42 50 36 29 32Ki(48位)置换选择2Ci(28位)Di(28位)3/19/202338*加密函数(A,Ki)A(32位)加密时A=Ri;解密时A=Li;选择运算E48位结果Ki+选择函数组(S1S8)32位结果(A,Ki)置换运算P32位3/19/202339*A32位32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 1312 13 14 15 16 1716 17 18 19 20 2120 21 22 23 24 2524 25 26 27 28 2928 29 30 31 32 1选择运算E选择运算E的结果48位加密函数的选择加密函数的选择加密函数的选择加密函数的选择运算E3/19/202340*选择函数的输出(32位)16 7 20 2129 12 28 17 1 15 23 26 5 18 31 10 2 8 24 1432 27 3 919 13 30 622 11 4 25置换P加密函数的结果(32位)3/19/202341*0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 71 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 82 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 03 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13S11 0 1 1 0 0 1020 0 1 0输入6位输出4位使用选择函数S1的例子3/19/202342*L0R0 IP(明文明文)L1R0 R1 L0(R0,K1)L2R1 R2 L1(R1,K2)L16R15 R16 L15(R15,K16)密文密文 IP-1(R16L16)加密方程:L0R0IP()LnRn-1RnLn-1(Rn-1,Kn)IP-1(R16L16)解密方程:R16L16IP()Rn-1LnLn-1Rn(Ln,Kn)IP-1(L0R0)3/19/202343*第二章第二章 信息加密技术信息加密技术3.对DES的评述qDESDES算法存在的问题与挑战算法存在的问题与挑战强力攻击:强力攻击:255次尝试次尝试 差分密码分析法:差分密码分析法:247次尝试次尝试线性密码分析法:线性密码分析法:243次尝试次尝试2.2 2.2 密码算法密码算法 2.2.1 2.2.1 2.2.1 2.2.1 DESDESDESDES算法算法算法算法 3/19/202344*第二章第二章 信息加密技术信息加密技术3.对DES的评述qq对对DESDES攻击结果及其启示攻击结果及其启示 1997 1997年年1 1月月2828日美国日美国RSARSA数据安全公司悬赏数据安全公司悬赏“秘密秘密密钥挑战密钥挑战”竞赛竞赛4848位的位的RC5 313RC5 313小时小时/3500/3500台计算机台计算机19971997年年3 3月月1313日日Rocke VerserRocke Verser设计一个攻击程序设计一个攻击程序(DESCHALLDESCHALL),参加的志愿者有),参加的志愿者有7851678516个,第个,第9696天天(6 6月月1717日晚日晚1010:3939)Michael SandersMichael Sanders破译成功,破译成功,获获1 1万美圆奖金。搜索量为万美圆奖金。搜索量为24.6%24.6%。2.2 2.2 密码算法密码算法 2.2.1 2.2.1 2.2.1 2.2.1 DESDESDESDES算法算法算法算法 3/19/202345*第二章第二章 信息加密技术信息加密技术3.对DES的评述qqDES DES DES DES 搜索速度估算搜索速度估算搜索速度估算搜索速度估算 密钥长度密钥长度(bit)穷举时间穷举时间 4078秒秒 485 小时小时 5659天天 6441年年 7210,696年年 802,738,199年年 88700,978,948年年 96179,450,610,898年年 11211,760,475,235,863,837年年 128770,734,505,057,572,442,069年年2.2 2.2 密码算法密码算法 2.2.1 2.2.1 2.2.1 2.2.1 DESDESDESDES算法算法算法算法 3/19/202346*第二章第二章 信息加密技术信息加密技术4.4.4.4.三重三重三重三重DESDESDESDES三重三重DES DES(Triple DES)是Tuchman提出的,并在1985年成为美国的一个商用加密标准RFC 2420。三重DES使用两个(或三个)密钥,执行三次DES算法。其做法有许多的方式:其做法有许多的方式:DES-EEE3 DES-EEE3 DES-EDE3 DES-EDE3 DES-EEE2 DES-EEE2 DES-EDE2 DES-EDE2,2.2 2.2 密码算法密码算法 2.2.1 2.2.1 2.2.1 2.2.1 DESDESDESDES算法算法算法算法 3/19/202347*第二章第二章 信息加密技术信息加密技术4.4.4.4.三重三重三重三重DESDESDESDES2.2 2.2 密码算法密码算法 2.2.1 2.2.1 2.2.1 2.2.1 DESDESDESDES算法算法算法算法 例:DES-EDE3,是以三把不同的密钥,以加密-解密-加密的方式依次处理。K1 K2 K3EDEK1 K2 K3MCDEDCM3/19/202348*第二章第二章 信息加密技术信息加密技术2.2 2.2 密码算法密码算法 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA算法算法算法算法 国际数据加密算法(IDEA-International Data Encryption Algorithm),是由瑞士联邦技术学院开发的一种对称密码算法。IDEA使用128位密钥,在64位明文分组进行加密得到64位密文分组。加密算法的函数在每个分组上运行8个回合。每个回合都包含3个不同运算:异或运算、模加运算和模乘运算。加密与解密也相同,只是密钥各异。IDEA算法加密速度快,密钥产生方法简单,硬件、软件都能实现。3/19/202349*第二章第二章 信息加密技术信息加密技术2.2 2.2 密码算法密码算法 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA算法算法算法算法 1.加密 3/19/202350*第二章第二章 信息加密技术信息加密技术2.2 2.2 密码算法密码算法 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA算法算法算法算法 2.2.子密钥产生子密钥产生子密钥共52个。每轮6个,8轮48个,最后输出变换4个。首先先将128比特的密钥分成8个子密钥,每个子密钥16比特。这8个子密钥正好是第1轮的6个及第2轮的前2个。再将密钥左旋转25比特,再将它分成8个子密钥。前4个是第2轮的子密钥,后4个是第3轮的子密钥。将密钥再左旋转25比特,产生后8个子密钥。依此类推,直到算法结束。解密与加密过程一样,只是解密子密钥要求逆且有差别,解密子密钥要么是加密子密钥的加法逆要么是乘法逆。3/19/202351*第二章第二章 信息加密技术信息加密技术2.2 2.2 密码算法密码算法 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA算法算法算法算法 轮次加密子密钥块解密子密钥块12345678输出变换Z-1表示Zmod(216+1)乘法的逆,即ZZ-1=1-Z表示Zmod216加法的逆,即Z(-Z)=03/19/202352*第二章第二章 信息加密技术信息加密技术 2.2 2.2 密码算法密码算法 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA算法算法算法算法 IDEA的加密运算的回合数虽然比DES的16回合少,但其每一回合的运算复杂度相当于两个回合DES的运算,且其密钥长度为128位,为DES的两倍多,在暴力搜寻攻击法下,其安全性较DES高。但已有研究发现IDEA的2128把密钥中存在有251把的弱密钥,虽然对于整个密钥空间而言还属少数,但在运行时必须小心规避。3/19/202353*第二章第二章 信息加密技术信息加密技术 2.2 2.2 密码算法密码算法 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA 2.2.2 IDEA算法算法算法算法 IDEA的加密运算的回合数虽然比DES的16回合少,但其每一回合的运算复杂度相当于两个回合DES的运算,且其密钥长度为128位,为DES的两倍多,在暴力搜寻攻击法下,其安全性较DES高。但已有研究发现IDEA的2128把密钥中存在有251把的弱密钥,虽然对于整个密钥空间而言还属少数,但在运行时必须小心规避。3/19/202354*第二章第二章 信息加密技术信息加密技术2.2 2.2 密码算法密码算法 2.2.2 RSA 2.2.2 RSA 2.2.2 RSA 2.2.2 RSA算法算法算法算法 加密算法加密算法加密算法加密算法 加密:加密:加密:加密:Y Y=X Xe e mod mod n n 设用整数设用整数设用整数设用整数X X表示明文,表示明文,表示明文,表示明文,用整数用整数用整数用整数Y Y表示密文(表示密文(表示密文(表示密文(X X和和和和Y Y均小于均小于均小于均小于n n),),),),解密算法解密算法解密算法解密算法解密:解密:解密:解密:X X=Y Yd d mod mod n n1.1.1.1.算法的描述算法的描述算法的描述算法的描述 (1 1 1 1)RSARSARSARSA公开密钥加、解密算法公开密钥加、解密算法公开密钥加、解密算法公开密钥加、解密算法3/19/202355*第二章第二章 信息加密技术信息加密技术2.2 2.2 密码算法密码算法 2.2.2 RSA 2.2.2 RSA 2.2.2 RSA 2.2.2 RSA算法算法算法算法 1.1.1.1.算法的描述算法的描述算法的描述算法的描述 (2)RSA (2)RSA (2)RSA (2)RSA密钥的产生密钥的产生密钥的产生密钥的产生计算计算计算计算(n n)。计算出。计算出。计算出。计算出n n的欧拉函数的欧拉函数的欧拉函数的欧拉函数(n n)=)=(p-1p-1)(q-1q-1),),),),(n n)定义为不超过定义为不超过定义为不超过定义为不超过n n并与并与并与并与n n互素的数的个数。互素的数的个数。互素的数的个数。互素的数的个数。选择选择选择选择 e e。用户从。用户从。用户从。用户从0,0,(n n)-1)-1中选择一个与中选择一个与中选择一个与中选择一个与(n n)互素互素互素互素的数的数的数的数e e作为公开的加密指数。作为公开的加密指数。作为公开的加密指数。作为公开的加密指数。计算计算计算计算d d。计算出满足下式的。计算出满足下式的。计算出满足下式的。计算出满足下式的d d,ed=ed=1 mod 1 mod(n n)作为解密指数。作为解密指数。作为解密指数。作为解密指数。得出所需要的公开密钥和秘密密钥:得出所需要的公开密钥和秘密密钥:得出所需要的公开密钥和秘密密钥:得出所需要的公开密钥和秘密密钥:公开密钥(即加密密钥)公开密钥(即加密密钥)公开密钥(即加密密钥)公开密钥(即加密密钥)PK PK e e,n n 秘密密钥(即解密密钥)秘密密钥(即解密密钥)秘密密钥(即解密密钥)秘密密钥(即解密密钥)SK SK d d,n n 计算计算计算计算n n。秘密地选择两个大素数。秘密地选择两个大素数。秘密地选择两个大素数。秘密地选择两个大素数p p和和和和q q,n=n=pqpq。n n称为称为称为称为RSARSA算法的模数。算法的模数。算法的模数。算法的模数。3/19/202356*第二章第二章 信息加密技术信息加密技术2.2 2.2 密码算法密码算法 2.2.2 RSA 2.2.2 RSA 2.2.2 RSA 2.2.2 RSA算法算法算法算法 RSARSARSARSA密钥的产生密钥的产生密钥的产生密钥的产生3/19/202357*第二章第二章 信息加密技术信息加密技术2.RSA2.RSA2.RSA2.RSA算法举例算法举例算法举例算法举例设选择了两个素数,设选择了两个素数,p=7p=7,q=17q=17。计算出计算出n=p*q=717=119n=p*q=717=119 计算出计算出=(p-1)*(q-1)=(7-1)(17-1)=96=(p-1)*(q-1)=(7-1)(17-1)=96。从从00,9595中选择一个与中选择一个与9696互素的数互素