chapter2密码学_第1页
chapter2密码学_第2页
chapter2密码学_第3页
chapter2密码学_第4页
chapter2密码学_第5页
已阅读5页,还剩141页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-7-41信息安全技术信息安全技术 22022-7-4第第2 2章章 密码学密码学2.1 2.1 密码学密码学2.1.1 2.1.1 关于密码学关于密码学2.1.2 2.1.2 密码学的发展密码学的发展2.1.3 2.1.3 密码学的基本术语和模型密码学的基本术语和模型2.1.4 2.1.4 古典密码术古典密码术2.1.5 2.1.5 密码算法的安全性2.2 对称密钥密码体制体制2.2.1 对称密钥密码体制体制2.2.2 分组密码2.2.3 DES2.2.4 其它算法2.3 非对称密码系统2.3.1 公钥密码概述2.3.2 数论基础2.3.3 RSA2.3.4 DES与RSA算法比较3

2、2022-7-42.1 密码学2.1.1 关于密码学1. 密码学(Cryptology)(Cryptology)密码学是研究信息及信息系统安全的传统科学,是研究信息及信息系统安全的传统科学,密码学是一门涉及语言学、数学、电子学、信息论、密码学是一门涉及语言学、数学、电子学、信息论、计算机科学等的综合性、交叉学科。计算机科学等的综合性、交叉学科。42022-7-42.1.1 关于密码学密码学分为密码编码学和密码分析学两部分。密码学分为密码编码学和密码分析学两部分。研究如何对信息编码,以及实现信息及通信保密研究如何对信息编码,以及实现信息及通信保密的科学称为密码编码学;的科学称为密码编码学;研究如

3、何破解或攻击加密信息的科学称为密码分研究如何破解或攻击加密信息的科学称为密码分析学。析学。这两部分相互对立,但也相互促进,相辅相成。这两部分相互对立,但也相互促进,相辅相成。52022-7-42.1.1 关于密码学2. 2. 密码学主要为存储和传输中的数字信息提供如密码学主要为存储和传输中的数字信息提供如下个方面的安全保护:下个方面的安全保护:1. 1. 机密性机密性2. 2. 数据完整性数据完整性: :3. 3. 鉴别鉴别4. 4. 抗否认性抗否认性62022-7-4密码技术在信息存储和传输中的安全保护作用密码技术在信息存储和传输中的安全保护作用信息窃取信息窃取信息传递信息传递信息冒充信息冒

4、充信息篡改信息篡改信息抵赖信息抵赖加密技术加密技术完整性技术完整性技术认证技术认证技术数字签名数字签名72022-7-42.1.1 关于密码学机密性 这是只允许特定用户访问和阅读信息,这是只允许特定用户访问和阅读信息,任何非授权用户对信息都不可理解的服务。在密任何非授权用户对信息都不可理解的服务。在密码学中,机密性通过码学中,机密性通过数据加密数据加密得到。得到。数据完整性即用于确保数据在存储和传输过程即用于确保数据在存储和传输过程 中不被未授权修改的服务。未授权修改包括数据中不被未授权修改的服务。未授权修改包括数据的篡改、删除、插入和重放等。的篡改、删除、插入和重放等。密码学通过密码学通过数

5、据加密,数据散列或数字签名,数据加密,数据散列或数字签名,提供这种服务。提供这种服务。82022-7-42.1.1 关于密码学鉴别 与与数据和身份数据和身份识别有关的服务。识别有关的服务。鉴别服务包括对鉴别服务包括对身份的鉴别身份的鉴别和和对数据源对数据源的鉴别:对于一次通信,的鉴别:对于一次通信,必须确信通信的对端是预期的实体,这就涉及必须确信通信的对端是预期的实体,这就涉及身份的鉴别身份的鉴别。对于对于 数据,仍然希望每个数据单元发送到或来源于预期的实体,数据,仍然希望每个数据单元发送到或来源于预期的实体,这就是这就是数据源鉴别数据源鉴别。数据源鉴别隐含地提供。数据源鉴别隐含地提供数据完整

6、性数据完整性服务。服务。密码学通过密码学通过数据加密,数据散列或数据签名数据加密,数据散列或数据签名,提供这种服务。,提供这种服务。抗否认性 这是一种用于阻止用户否认先前的言论或行为的服务。这是一种用于阻止用户否认先前的言论或行为的服务。密码学通过密码学通过对称加密对称加密或或非对称加密,非对称加密,以及以及数字签名等,数字签名等,并且借助并且借助可信任的注册机构或证书机构的辅助可信任的注册机构或证书机构的辅助,提供这种服务。,提供这种服务。92022-7-4明文P解密密钥Kd解密(D)加密密钥Ke加密(E)明文P密文C攻击者密码系统示意图密码系统示意图102022-7-42.1.2 密码学的

7、发展密码学的发展大致可分为密码学的发展大致可分为4 4个阶段:个阶段:第第1 1个阶段,第一次世界大战之前的古典密码术(手工操作个阶段,第一次世界大战之前的古典密码术(手工操作密码)。密码)。古典密码术的特征主要是以纸和笔进行加密与解密操作的,古典密码术的特征主要是以纸和笔进行加密与解密操作的,还没有形成一门科学,准确的说只是一种技艺或技巧。其历史还没有形成一门科学,准确的说只是一种技艺或技巧。其历史最早可最溯到千多年前雕刻在古埃及法老纪念碑上的奇特的最早可最溯到千多年前雕刻在古埃及法老纪念碑上的奇特的象形文字。不过这些奇特的象形文字记录可能不是为了保密信象形文字。不过这些奇特的象形文字记录可

8、能不是为了保密信息使用的,仅是为了神秘的目的。息使用的,仅是为了神秘的目的。据说最早把密码术用于军事目的传递情报的是古罗马的恺据说最早把密码术用于军事目的传递情报的是古罗马的恺撒大帝,恺撒密码出现在公元前撒大帝,恺撒密码出现在公元前100100年的高卢战争期间的通信中。年的高卢战争期间的通信中。112022-7-42.1.2 密码学的发展第第2 2个阶段,第一次世界大战爆发至第二次世界个阶段,第一次世界大战爆发至第二次世界大战结束的机器密码时代。大战结束的机器密码时代。由于工业革命的兴起,密码术进入了机器时代,由于工业革命的兴起,密码术进入了机器时代,加密解密效率得到了很大提高。最有代表性的密

9、码加密解密效率得到了很大提高。最有代表性的密码机是机是ENIGMAENIGMA密码机,由密码机,由Arthur Arthur ScherbiusScherbius在在19231923年年发明投入商用,德国在第二次世界大战中使用。发明投入商用,德国在第二次世界大战中使用。122022-7-42.1.2 密码学的发展第第3 3个阶段,以个阶段,以C.E.ShannonC.E.Shannon在在19491949年发表的文章年发表的文章“The Communication Theory of Secrecy Systems”The Communication Theory of Secrecy Sys

10、tems”(中文译名(中文译名保密系统的信息理论保密系统的信息理论)为起点的传)为起点的传统密码学;统密码学;在文章中对信息源、密钥源、接收和截获的密在文章中对信息源、密钥源、接收和截获的密文,以及密码系统的安全性进行了数学描述和定量文,以及密码系统的安全性进行了数学描述和定量分析,并提出了通用的秘密密钥密码体制模型(即分析,并提出了通用的秘密密钥密码体制模型(即对称密码体制的模型),从而使密码研究真正成为对称密码体制的模型),从而使密码研究真正成为了一门学科。了一门学科。132022-7-42.1.2 密码学的发展19761976年美国国家标准局年美国国家标准局NBSNBS正式颁布实施正式颁

11、布实施DESDES(相应的中文名称(相应的中文名称数据加密标准数据加密标准)。)。从恺撒密码至从恺撒密码至DESDES,所有这些密码系统在加密,所有这些密码系统在加密与解密时所使用的密钥或电报密码均相同,通信各与解密时所使用的密钥或电报密码均相同,通信各方在进行秘密通信前,必须通过安全渠道获得同一方在进行秘密通信前,必须通过安全渠道获得同一密钥。这样的密码体制称为传统密码体制或对称密密钥。这样的密码体制称为传统密码体制或对称密码体制。码体制。142022-7-42.1.2 密码学的发展第个阶段,以第个阶段,以W.DiffieW.Diffie和和M.E.HellmanM.E.Hellman在在1

12、9761976年发表的文章年发表的文章“New Directions in Cryptography” New Directions in Cryptography” (中文译名(中文译名密码学的新方向密码学的新方向)为起点的现代)为起点的现代公钥密码学。公钥密码学。文章提出,在一个密码体制中,不仅加密算法文章提出,在一个密码体制中,不仅加密算法本身可以公开,甚至用于加密的密钥也可以公开。本身可以公开,甚至用于加密的密钥也可以公开。19781978年,麻省理工学院年,麻省理工学院MITMIT的的Ron Ron RivestRivest,AdiAdi和和ShamirLenShamirLen Al

13、dlemanAldleman设计出第一个公钥密码算法,设计出第一个公钥密码算法,即即RSARSA。 152022-7-4消息(消息(MessageMessage):消息是指用语言、文字、数):消息是指用语言、文字、数字、符号、图像、声音,或它们的组合等方式记载字、符号、图像、声音,或它们的组合等方式记载或传递有意义的内容。在密码学里,消息也称为信或传递有意义的内容。在密码学里,消息也称为信息。息。明文(Plain Text)(Plain Text):原来的信息:原来的信息( (报文报文) )、消息,就是、消息,就是网络中所说的报网络中所说的报(Message)(Message)密文(Ciphe

14、r Text)(Cipher Text):经过加密后得到的信息:经过加密后得到的信息加密 (EncryptionEncryption):把信息从一个可理解的明文形:把信息从一个可理解的明文形式变换成一个错乱的、不可理解的密文形式的过程式变换成一个错乱的、不可理解的密文形式的过程解密(DecryptionDecryption) :将密文还原为明文的过程:将密文还原为明文的过程2.1.3 2.1.3 密码学的基本术语和模型密码学的基本术语和模型 162022-7-4n密文密文( (CipherTextCipherText) ):经过加密后得到的信息称为密:经过加密后得到的信息称为密文。文。n解密解

15、密(Decryption) (Decryption) :将密文恢复成原明文的过程:将密文恢复成原明文的过程或操作称为解密。解密也称为脱密。或操作称为解密。解密也称为脱密。n加密算法加密算法(Encryption Algorithm)(Encryption Algorithm):将明文消息加:将明文消息加密成密文所采用的一组规则或数学函数。密成密文所采用的一组规则或数学函数。n解密算法解密算法(Decryption Algorithm)(Decryption Algorithm):将密文消息解:将密文消息解密成明文所采用的一组规则或数学函数。密成明文所采用的一组规则或数学函数。 2.1.3 密码

16、学的基本术语和模型 172022-7-4n密钥密钥(Key)(Key):进行加密或解密操作所需要的秘密参:进行加密或解密操作所需要的秘密参数或关键信息。在密码系统中,密钥分私钥与公钥数或关键信息。在密码系统中,密钥分私钥与公钥两种。私钥指必须保密的密钥,公钥指可以向外界两种。私钥指必须保密的密钥,公钥指可以向外界公开的密钥。公开的密钥。n密码体制(密码体制(CryptosystemCryptosystem):一个密码体制或密码):一个密码体制或密码系统是指由明文、密文、密钥、加密算法以及解密系统是指由明文、密文、密钥、加密算法以及解密算法组成的一个五元集合体。算法组成的一个五元集合体。 2.1

17、.3 密码学的基本术语和模型 182022-7-4n密码学的基本模型如图密码学的基本模型如图2.1所示。所示。2.1.3 密码学的基本术语和模型 192022-7-4加密系统:加密和解密的信息处理系统加密系统:加密和解密的信息处理系统加密过程是通过某种算法并使用密钥来完成的信息加密过程是通过某种算法并使用密钥来完成的信息变换变换2.1.3 密码学的基本术语和模型 202022-7-4加密实际上是要完成某种函数运算加密实际上是要完成某种函数运算C=C=(P(P, K), K), 对于一个确定的加密密钥对于一个确定的加密密钥Ke,加密过程加密过程可看作可看作是只有一个自变量的函数,记作是只有一个自

18、变量的函数,记作E Ek k ,加密变换为:加密变换为: C= Ek (P) ( (加密变换作用于明文加密变换作用于明文P P后得到密文后得到密文C)C)同样,解密也完成某种函数的运算同样,解密也完成某种函数的运算P=P=g(Cg(C, K), K)对于对于确定的解密密钥确定的解密密钥Kd,解密过程为:,解密过程为: P= Dk (C) ( (解密变换作用于密文解密变换作用于密文C C后得到明文后得到明文P)P)2.1.3 2.1.3 密码学的基本术语和模型密码学的基本术语和模型 212022-7-4由此可见,密文由此可见,密文CC经解密后还原成原来的明文,经解密后还原成原来的明文,必须有必须

19、有 P= Dk (Ek (P)= Dk Ek(P) 此处此处“”是复合运算,因此要求是复合运算,因此要求Dk Ek 为恒等变换,即为恒等变换,即D Dk k与与 E Ek k是互逆变换是互逆变换2.1.3 密码学的基本术语和模型 222022-7-42.1.4 古典密码术 1. 1. 数据的表示数据的表示2. 2. 换位换位( (置换置换) )密码密码2. 2. 替代密码替代密码232022-7-41. 数据的表示传统加密方法加密的对象是文字信息。传统加密方法加密的对象是文字信息。n象形文字的加密方法与文化、风俗有关象形文字的加密方法与文化、风俗有关n字母文字与字母替换有关字母文字与字母替换有

20、关2.1.4 古典密码术 242022-7-42.1.4 古典密码术 n象形文字象形文字隐写术隐写术( (steganographysteganography) ) ,及黑帮行话、文字猜谜,及黑帮行话、文字猜谜游戏游戏, ,都是古代加密方法。都是古代加密方法。例如,一副中药方例如,一副中药方: :半夏半夏夜明珠夜明珠莱菔子莱菔子252022-7-4清代票号一例清代票号一例一年十二个月一年十二个月, ,一到十,十个数字,加万千百三个,一到十,十个数字,加万千百三个,共二十五个密字,再加闰月一个密字,零一个密字,共二十五个密字,再加闰月一个密字,零一个密字,银两的两一个密字,共计二十八个字。银两的

21、两一个密字,共计二十八个字。王维的王维的秋夜曲秋夜曲桂魄初生秋露微,轻罗已薄未更衣。桂魄初生秋露微,轻罗已薄未更衣。银筝夜久殷勤弄,心怯空房不忍归银筝夜久殷勤弄,心怯空房不忍归! !五月汇银一千两银票在票后附记五月汇银一千两银票在票后附记: :“秋更空归秋更空归 ” ”不知者以为无关紧要,同号之人则一看便明了,不知者以为无关紧要,同号之人则一看便明了,可以判为真票。可以判为真票。 262022-7-4n字母文字字母文字文字由字母表中的字母组成的文字文字由字母表中的字母组成的文字文字由字母表中的字母组成,在表中字母是按顺文字由字母表中的字母组成,在表中字母是按顺序排列的,赋予它们相应的数字标号,

22、即可用数学序排列的,赋予它们相应的数字标号,即可用数学方法进行运算方法进行运算( (变换变换) )了。将字母表中的字母看作是了。将字母表中的字母看作是循环的,则字母的加减形成的代码可用求模运算来循环的,则字母的加减形成的代码可用求模运算来表示了。表示了。如如 A+4=EA+4=E,X+6=D (mod 26)X+6=D (mod 26)2.1.4 古典密码术 272022-7-42. 换位密码换位法换位法又称又称置换法置换法。 在置换密码中,明文和密文的字母保持相同,在置换密码中,明文和密文的字母保持相同,但顺序被打乱了。即但顺序被打乱了。即它把明文中的字母重新排列,它把明文中的字母重新排列,

23、本身不变,但位置变了。本身不变,但位置变了。2.1.4 古典密码术 282022-7-4例例2.1 2.1 把明文中的字母的顺序倒过来写,然后以把明文中的字母的顺序倒过来写,然后以固定长度的字母组发送或记录。固定长度的字母组发送或记录。密文:密文:smsm etsyetsy sretupmocsretupmoc明文:明文:computer systemscomputer systems2.1.4 古典密码术 292022-7-42.1.4 古典密码术(1 1) 列换位法列换位法: : 明文以固定的宽度水平地写在一张图表纸上,明文以固定的宽度水平地写在一张图表纸上,密文按垂直方向读出;密文按垂直

24、方向读出;解密就是将密文按相同的宽度垂直地写在图表解密就是将密文按相同的宽度垂直地写在图表纸上,然后水平地读出明文。纸上,然后水平地读出明文。302022-7-4例例. .设明文是:设明文是:WHAT YOU CAN LEARN FROM THIS BOOK以宽度为列排列为:以宽度为列排列为:密文则以下面的形式读出:密文则以下面的形式读出:WOFHO HURIK ACOSX WOFHO HURIK ACOSX TAMBX YNTOXTAMBX YNTOX这里的密钥是数字这里的密钥是数字5 5。WHATYOUCANFROMTHISBOOKXXX2.1.4古典密码术312022-7-4(2 2)矩

25、阵换位法)矩阵换位法: : 这种加密是把明文中的字母按给定的顺序安这种加密是把明文中的字母按给定的顺序安排在一个矩阵中,然后用另一种顺序选出矩阵排在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。的字母来产生密文。2.1.4 古典密码术322022-7-4例例2.3 2.3 将明文将明文ENGINEERING按行排在按行排在3 3* *4 4矩阵中,矩阵中,如下所示:如下所示:给定一个置换 :1234ENGINEERINGE24131234f2.1.4 古典密码术332022-7-4现在根据给定的置换,按第现在根据给定的置换,按第2 2列,列,第第4 4列,第列,第1 1列,第列,第3

26、3列的次序排列,列的次序排列,就得到密文:就得到密文:NENIRE ENIGEGNENIRE ENIGEG在这个加密方案中,密钥就是在这个加密方案中,密钥就是矩阵的行数矩阵的行数m m和列数和列数n n,即,即m m* *n n3 3* *4 4,以及给定的置换矩阵。也就,以及给定的置换矩阵。也就是:是:k=k=(m m* *n n,f f) 1234NIEGERNENEIG2.1.4 古典密码术24131234f342022-7-42.1.4 古典密码术其解密过程是将密文根据其解密过程是将密文根据k=k=(3 3* *4 4,f f) 恢复明文为:恢复明文为:ENGINEERINGENGIN

27、EERING1234NIEGERNENEIG1234ENGINEERINGE314212341f352022-7-4例例2.4 2.4 设密钥设密钥k=soap,k=soap,列出各个字母的出现次序,列出各个字母的出现次序,按此输出列的顺序。按此输出列的顺序。则得到密文则得到密文GEGNENIREENIGEGNENIREENI4213ENGINEERINGEsoap362022-7-4又例又例: :密钥密钥 C I P H E RC I P H E R顺序顺序 1 4 5 3 2 61 4 5 3 2 6明文明文 a t t a c ka t t a c k b e g i n s b e g

28、 i n s a t f o u r a t f o u r明文的意思是明文的意思是 四时开始进攻四时开始进攻密文:密文:abacnuaiotettgfksrabacnuaiotettgfksr372022-7-4密码分析密码分析在这个阶段,密码分析主要倚重语言学家。在这个阶段,密码分析主要倚重语言学家。382022-7-4下面一段密文本来是连续的字串,只是为了便于下面一段密文本来是连续的字串,只是为了便于阅读将它分成每五个一组。明文是一般计算机教科阅读将它分成每五个一组。明文是一般计算机教科书中的一段话,因此也许有书中的一段话,因此也许有“computer”computer”这个字出这个字出

29、现。加密采用的是置换密码,明文中无空格,无标现。加密采用的是置换密码,明文中无空格,无标点符号。试破译之。点符号。试破译之。 aauanaauan cvlrecvlre rurnnrurnn dltmedltme aeepbaeepb ytustytust iceaticeat npmeynpmey iicgoiicgo gorchgorch srsocsrsoc nntiinntii imihaimiha oofpaoofpa gsivtgsivt tpsittpsit lbolrlbolr otoexotoex 392022-7-42. 2. 替代密码替代密码替代密码(替代密码(Subst

30、itution CipherSubstitution Cipher)是使用替代法进行)是使用替代法进行加密所产生的密码。明文中每一个字符被替换成密文加密所产生的密码。明文中每一个字符被替换成密文中的另外一个字符。中的另外一个字符。接收者对密文进行逆替换就恢复出明文来。接收者对密文进行逆替换就恢复出明文来。2.4 古典密码术402022-7-42.1.4 古典密码术(1) (1) 凯撒(凯撒(CaesarCaesar)密码)密码凯撒(凯撒(CaesarCaesar)密码又叫循环移位密码。)密码又叫循环移位密码。它的加密方法就是把明文中所有字母都用它它的加密方法就是把明文中所有字母都用它右边的第右

31、边的第k k个字母替代,并认为个字母替代,并认为Z Z后边又是后边又是A A。这。这种映射关系表示为如下函数:种映射关系表示为如下函数:F(aF(a)=()=(a+ka+k) mod n) mod n其中:其中:a a表示明文字母;表示明文字母;n n为字符集中的字母为字符集中的字母个数;个数;k k为密钥。为密钥。412022-7-4凯撒密码是对英文的凯撒密码是对英文的2626个字母一般分别向前移个字母一般分别向前移3 3位位( k k3 3 ),其替代表为:),其替代表为:明文:明文:a b c d e f g h I j k l m n o p q r s t u v w x y z 密

32、文密文: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C422022-7-4例例2.5 2.5 对于明文对于明文P PCOMPUTE SYSTEMSCOMPUTE SYSTEMS则则f f(C C)= =(3+33+3) mod 26=6mod 26=6一一FFf f(O O)= =(15+315+3)mod 26=18mod 26=18一一 R Rf f(MM)= =(13+313+3)mod 26=16mod 26=16一一 P Pf f(S S)= =(19+319+3) mod 26=22mod 26=22一一 V V所以,密文所

33、以,密文C= C= E Ek k(P P)= =FRPSXRWHUVBVWHPVFRPSXRWHUVBVWHPV。 432022-7-4明文:meet me after the to go party密文:PHHW PH DIWHU WKH WR JR SDUWB442022-7-4凯撒(凯撒(CaesarCaesar)密码是一种)密码是一种单表替代密码单表替代密码在替代法加密体制中,使用了密钥字母表。在替代法加密体制中,使用了密钥字母表。如果是由一个字母表构成的替代密码,称如果是由一个字母表构成的替代密码,称为为单表替代密码单表替代密码。其替代过程是在明文和密码。其替代过程是在明文和密码字符

34、之间进行一对一的映射。字符之间进行一对一的映射。2.1.4 古典密码术452022-7-4采用单表替代加密的密文,采用单表替代加密的密文,字母频率分析法字母频率分析法2.1.4 古典密码术462022-7-4字母出现频率统计字母出现频率统计根据在根据在旧约旧约中字母出现概率中字母出现概率472022-7-4试破译下面的密文诗。加密采用替代密码,使试破译下面的密文诗。加密采用替代密码,使得得2626个字母(从个字母(从a a到到 z z)中的每一个用其它某个字母)中的每一个用其它某个字母替代(注意,不是按序替代)。密文中无标点符号,替代(注意,不是按序替代)。密文中无标点符号,空格未加密。空格未

35、加密。KfdKfd ktbdktbd fzmfzm eubdeubd kfdkfd pzyiompzyiom mztxmztx kuku kzygkzyg urur bzhabzha kfthcmkfthcm urur mfudmmfudm zhxzhx mftnmmftnm zhxzhx mdzythcmdzythc pzqpzq urur ezsszcdmezsszcdm zhxzhx gthcmgthcm zhxzhx pfapfa kfdkfd mdzmdz tm tm sutythcsutythc fukfuk zhxzhx pfdkfdipfdkfdi ntcmntcm fzldf

36、zld pthcmpthcm soksok pztkpztk z z stkstk kfdkfd uamkdimuamkdim eitdxeitdx sdruidsdruid pd pd fzldfzld uoiuoi efzkefzk ruirui mubdmubd urur omom zidzid uokuok urur sidzkfsidzkf zhxzhx zyyzyy urur omom zidzid rzkrzk huhu foiiafoiia mztxmztx kfdkfd ezindhkdiezindhkdi kfdakfda kfzhgdxkfzhgdx ftbftb boe

37、fboef ruirui kfzkkfzk482022-7-4(2) (2) 多表替代密码多表替代密码如果是由多个字母表构成的替代密码,称为如果是由多个字母表构成的替代密码,称为多多表替代密码。表替代密码。多表代替密码多表代替密码有有多个单字母密钥多个单字母密钥,每一个密钥每一个密钥被用来加密一个明文字母被用来加密一个明文字母。即:即:第一个密钥加密明文的第一个字母,第二第一个密钥加密明文的第一个字母,第二个密钥加密明文的第二个字母等等。在所有的密钥个密钥加密明文的第二个字母等等。在所有的密钥用完后,密钥又再循环使用,若有用完后,密钥又再循环使用,若有2020个单个字母密个单个字母密钥,那么每

38、隔钥,那么每隔2020个字母的明文都被同一密钥加密,个字母的明文都被同一密钥加密,这叫做密码的周期。这叫做密码的周期。2.1.4 古典密码术492022-7-4法国密码学家法国密码学家VigenereVigenere以自己名字命名了维吉尼以自己名字命名了维吉尼亚密码,关键是维吉尼亚方阵。亚密码,关键是维吉尼亚方阵。参见维吉尼亚方阵。参见维吉尼亚方阵。2.1.4 古典密码术502022-7-4512022-7-42.1.4 古典密码术例例2.62.6,有明文,有明文P=attack begins at four tomorrow morningP=attack begins at four to

39、morrow morningK=victory, K=victory, 周期为周期为7 7对照对照VigenereVigenere方阵可得密文:方阵可得密文:C=VBVTQB ZZOKGG RR AWWK HFKJZTHK C=VBVTQB ZZOKGG RR AWWK HFKJZTHK DMMVKGUDMMVKGU522022-7-42.1.4 古典密码术例例2.7 有明文有明文m=polyalphabetic cipher,k=RADIO, 即周期为5。首先将m分解成长为5的序列: polya lphab eticc ipher每一段用密钥 k=RADIO加密得密文: c=GOOGO CP

40、KTP NTLKQ ZPKMF532022-7-4密码机密码机Enigma Enigma 542022-7-4转轮密码转轮密码由一组转轮或接线编码轮组成,通过多个转轮不由一组转轮或接线编码轮组成,通过多个转轮不同位置的组合,使得密码分析极为困难。同位置的组合,使得密码分析极为困难。德军使用德军使用日本日本 Green,RedGreen,Red和和PurplePurple552022-7-4为了破译ENIGMA,波兰、法国、英国联合进行此项工作。英国倾全国之力,在布莱奇利庄园建立了密码中心,破解德军的密码机。图灵设计建造了ENIGMA 的解密机叫“炸弹”bomb,而这正是后来的电子计算机。562

41、022-7-42.4 古典密码术其它的替代方法:其它的替代方法:(1 1)多名码代替密码:)多名码代替密码:它与简单代替密码系统相似,唯一的不同是单个它与简单代替密码系统相似,唯一的不同是单个字符明文可以映射成密文的几个字符之一,例如:字符明文可以映射成密文的几个字符之一,例如:A A可能对应于可能对应于5 5、1313、2525或或5656,“B”B”可能对应于可能对应于7 7、1919、3131或或4242, 等等。等等。出现于出现于1515世纪初。世纪初。572022-7-42.1.4 古典密码术(2 2) 多字母代替密码:多字母代替密码:字符块被成组加密,例如字符块被成组加密,例如“A

42、BA”ABA”可能对应于可能对应于“RTQ”RTQ”,ABBABB可能对应于可能对应于 “ “SLL”SLL”等。等。1919世纪中期发明的,第一次世界大战中,英国人世纪中期发明的,第一次世界大战中,英国人使用。使用。582022-7-42.1.5 密码算法的安全性n密码分析密码分析n密码破译密码破译n算法的安全性算法的安全性592022-7-42.1.5 密码算法的安全性1. 1. 密码分析密码分析假设破译者假设破译者OscarOscar是在已知密码体制的前提下来是在已知密码体制的前提下来破译破译BobBob使用的密钥。这个假设称为使用的密钥。这个假设称为KerckhoffKerckhoff

43、原则。原则。最常见的破解类型如下:最常见的破解类型如下:(1 1)唯密文攻击唯密文攻击:OscarOscar具有密文串具有密文串y. y.(2 2)已知明文攻击已知明文攻击: Oscar: Oscar具有明文串具有明文串x x和相应和相应的密文的密文y. y.602022-7-42.1.5 密码算法的安全性(3 3)选择)选择明文攻击明文攻击:OscarOscar可获得对加密机的暂可获得对加密机的暂时访问,时访问, 因此他能选择明文串因此他能选择明文串x x并构造出相应的密并构造出相应的密文串文串y y。(4 4)选择)选择密文攻击密文攻击: Oscar: Oscar可暂时接近密码机可暂时接近

44、密码机, ,可可选择密文串选择密文串y y,并构造出相应的明文,并构造出相应的明文x. x. 这一切的目的在于破译出密钥或密文这一切的目的在于破译出密钥或密文612022-7-42.1.5 密码算法的安全性2. 2. 密码算法的安全性密码算法的安全性(1) (1) 无条件安全(无条件安全(Unconditionally secureUnconditionally secure)无论破译者有多少密文无论破译者有多少密文, ,他也无法解出对应的明他也无法解出对应的明文文, ,即使他解出了即使他解出了, ,他也无法验证结果的正确性。他也无法验证结果的正确性。(一般不存在)(一般不存在) One-ti

45、me padOne-time pad(一次一密)是例外;(一次一密)是例外;(2) (2) 计算上安全(计算上安全(Computationally secureComputationally secure)破译的代价超出信息本身的价值破译的代价超出信息本身的价值破译的时间超出了信息的有效期破译的时间超出了信息的有效期. .622022-7-4古典密码的缺陷古典密码的缺陷密码体制的安全性在于保持算法本身的保密性密码体制的安全性在于保持算法本身的保密性受限算法的缺陷受限算法的缺陷不适合大规模生产不适合大规模生产不适合较大的或者人员变动较大的组织不适合较大的或者人员变动较大的组织用户无法了解算法的安

46、全性用户无法了解算法的安全性632022-7-4回顾回顾1. 1. 密码学密码学2. 2. 换位法加密换位法加密3. 3. 替代法加密替代法加密单表替代单表替代 CaeserCaeser密码密码多表替代多表替代 VigenereVigenere密码密码 转轮密码转轮密码 EnigemaEnigema4. 4. 密码安全性密码安全性642022-7-42.2 对称密钥密码体制体制2.2.1. 2.2.1. 对称密钥密码体制体制C.E.Shannon1949C.E.Shannon1949年发表的文章年发表的文章“The The Communication Theory of Secrecy Sys

47、tems”Communication Theory of Secrecy Systems”(中文(中文译名译名保密系统的信息理论保密系统的信息理论)标志密码学的开)标志密码学的开端。端。对称密钥密码体制所谓常规密钥密码体制,即加密密钥与解密密所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。钥是相同的密码体制。这种加密系统又称为这种加密系统又称为对称密钥系统对称密钥系统。652022-7-4对称密钥加密系统对称密钥加密系统密文 C明文输出 P明文输入 P加密算法解密算法对称密钥图图2-1 对称加密体制模型对称加密体制模型662022-7-42.2.2.2.2.2.分组密码分组密码1.

48、 1.序列密码序列密码序列密码总是以明文的位作为加密单位。序列密码总是以明文的位作为加密单位。2. 2.分组密码分组密码信息通常是成块地传输和处理的。它将明文划分成固定的它将明文划分成固定的 n n 比特的数据组,然后比特的数据组,然后以组为单位,在密钥的控制下进行一系列的线性或以组为单位,在密钥的控制下进行一系列的线性或非线性的变化而得到密文。这就是非线性的变化而得到密文。这就是分组密码分组密码。672022-7-4将明文分成m个明文块x=(x1,x2,xm)。每一组明文对应一个密钥ki, i=1,2,tk=(k1,k2,kt)加密后的密文为:y=(y1,y2,yn)682022-7-4分组

49、密码体制分组密码体制输入输出加密算法密钥明文输入输出解密算法密钥明文n bitn bitn bitn bit密文密文692022-7-4分组密码的一个重要优点是不需要同步分组密码的一个重要优点是不需要同步 702022-7-41. DES概述 DES(DataDES(Data Encryption Standard, Encryption Standard,数据加密标准数据加密标准) )算法算法数据加密标准数据加密标准 DES DES 属于常规密钥密码体制,是一属于常规密钥密码体制,是一种分组密码。种分组密码。在加密前,先对整个明文进行分组。每一个组长为在加密前,先对整个明文进行分组。每一个组

50、长为 64 bit64 bit。然后对每一个然后对每一个 64 bit 64 bit 二进制数据进行加密处理,产二进制数据进行加密处理,产生一组生一组 64 bit 64 bit 密文数据。密文数据。最后将各组密文串接起来,即得出整个的密文。最后将各组密文串接起来,即得出整个的密文。2.2.3 DES算法712022-7-41. DES概述在在7070年代初,年代初,DESDES已推出并广泛应用,已推出并广泛应用,19771977年被年被NBSNBS公布为数据加密标准。公布为数据加密标准。DESDES最先用于军事系统,后又推广到民用,应最先用于军事系统,后又推广到民用,应用最多的是在银行和商业

51、系统。用最多的是在银行和商业系统。如在如在POSPOS、ATMATM、磁卡及智能卡(、磁卡及智能卡(ICIC卡)、加卡)、加油站、高速公路收费站等领域被广泛应用,以此来油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的实现关键数据的保密,如信用卡持卡人的PINPIN的加的加密传输,密传输,ICIC卡与卡与POSPOS间的双向认证、金融交易数据间的双向认证、金融交易数据包的包的MACMAC校验等,均用到校验等,均用到DESDES算法。算法。 722022-7-41. DES概述DESDES算法的入口参数有三个:算法的入口参数有三个:KeyKey、DataData、M

52、odeMode。其中其中KeyKey为为8 8个字节共个字节共6464位,是位,是DESDES算法的工作密钥,算法的工作密钥, 6464位密钥中有位密钥中有8 8位作为校验位位作为校验位( (第第8 8、1616、2424、3232、4040、4848、5656和和6464位位) ),因此真正成为密钥的只有,因此真正成为密钥的只有5656位;位;DataData也为也为8 8个字节个字节6464位,是要被加密或被解密的数位,是要被加密或被解密的数据;据;ModeMode为为DESDES的工作方式,有两种:加密或解密。的工作方式,有两种:加密或解密。 732022-7-41. DES概述DESD

53、ES算法是这样工作的:算法是这样工作的:如如ModeMode为加密,则用为加密,则用Key Key 去把数据去把数据DataData进行加密,进行加密, 生成生成DataData的密码形式(的密码形式(6464位)作为位)作为DESDES的输出结果;的输出结果;如如ModeMode为解密,则用为解密,则用KeyKey去把密码形式的数据去把密码形式的数据DataData解密,还原为解密,还原为DataData的明码形式(的明码形式(6464位)作为位)作为DESDES的输出结果、的输出结果、742022-7-41. DES概述在通信网络的两端,双方约定一致的在通信网络的两端,双方约定一致的Key

54、Key,在通信的源点用,在通信的源点用KeyKey对核心数据进行对核心数据进行DESDES加密,然后以密码形式在公共通信网加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的用同样的KeyKey对密码数据进行解密,便再现了明码形式的核心对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如数据。这样,便保证了核心数据(如PINPIN、MACMAC等)在公共通等)在公共通信网中传输的安全性和可靠性。信网中传输的安全性和可靠性。通过定期在通信网络的源端和目的端同时改用新的通过定期在通

55、信网络的源端和目的端同时改用新的KeyKey,便,便能更进一步提高数据的保密性,这正是现在金融交易网络的能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。流行做法。 752022-7-42. DES算法的主要过程(1) 初始置换:(2) 子密钥生成:(3) 乘积变换:(4) 末置换:初始置换(IP)乘积变换子密钥生成输入64位明文(密文)64位密钥组末置换(IP-1)输出64位密文(明文)图2.2 DES 算法流程762022-7-4(1)初始置换IP (Initial Initial permutationpermutation)初始置换按照固定的矩阵进行初始置换按照固定的矩阵进

56、行(移位移位),此部分与密钥无,此部分与密钥无关,如下表。关,如下表。 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7772022-7-4即将输入的第即将输入的第58位换到第一位,第位换到第一位,第50位换到第位换到第2位,位,.,依此类推,最后一位是原来的第,依此类推,最后一位是

57、原来的第7位。位。L0、R0则是换位输出后的两部分,则是换位输出后的两部分,L0是输出的是输出的左左32位,位,R0 是右是右32位,例:设置换前的输入值为位,例:设置换前的输入值为D1D2D2.D64,则经过初始置换后的结果为:,则经过初始置换后的结果为:L0=D58D50.D8;R0=D57D49.D7。 782022-7-4(2) 子密钥生成外部输入的外部输入的56位密钥位密钥(64位中去掉位中去掉8个校验位个校验位)通过置通过置换和移位操作换和移位操作生成加密和解密需要的加密和解密需要的16个个48位的子密位的子密钥。钥。792022-7-4具体步骤如下:具体步骤如下:第一步:第一步:

58、56位密钥通过置换选择位密钥通过置换选择PC-1(见见表表6.5)置置换,然后分为左右各换,然后分为左右各28位;位;第二步:两个第二步:两个28位按其轮数进行不同位数的左移位按其轮数进行不同位数的左移(见见表表6.6) ;第三步:将左右两部分合成第三步:将左右两部分合成56位后,再经过置换位后,再经过置换选择选择PC-2 (见见表表6.7)置换置换(压缩置换压缩置换)为为48位的子密钥。位的子密钥。802022-7-4K156位密钥PC-1C0(28位)LS1LS16C0(28位)LS1LS16PC-2C1(28位)C1(28位)C16(28位)C16(28位)K16PC-2子密钥的生成子密

59、钥的生成812022-7-4(3) 乘积变换此过程与密钥有关,且非常复杂,是加密此过程与密钥有关,且非常复杂,是加密/解密解密过程的关键。该过程包括线性变换和非线性变换。过程的关键。该过程包括线性变换和非线性变换。DES采用的是分组加密。该过程通过多次重复的采用的是分组加密。该过程通过多次重复的替代和置换方法,打乱原输入数据组,加大非规替代和置换方法,打乱原输入数据组,加大非规律性,增加系统分析的难度。律性,增加系统分析的难度。 822022-7-4该过程包括如下步骤:第一步:经过第一步:经过IPIP置换后的置换后的6464位明文分为左右各位明文分为左右各3232位两部分位两部分L Li-1i

60、-1和和R Ri-1i-1 ;第二步:将第二步:将R Ri-1i-1的的3232位进行扩展置换位进行扩展置换(E(E盒子变换,盒子变换,见表见表6.8)6.8)成成4848位位后,与第一组子密钥后,与第一组子密钥K Ki i进行异或运进行异或运算;算;832022-7-4KiLi-1Ri-1RiP盒转换Li扩展变换S盒转换一轮一轮DES变换变换842022-7-4第二步的置换过程改变了位的次序,重复了某些第二步的置换过程改变了位的次序,重复了某些位,使位,使32位变换为位变换为48位。在扩展置换中,对于每个位。在扩展置换中,对于每个输入的输入的4位分组,第位分组,第1和第和第4位分别表示输出分

温馨提示

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

最新文档

评论

0/150

提交评论