[精选]计算机安全技术第5章15077.pptx

上传人:muj****520 文档编号:87160217 上传时间:2023-04-16 格式:PPTX 页数:26 大小:401.05KB
返回 下载 相关 举报
[精选]计算机安全技术第5章15077.pptx_第1页
第1页 / 共26页
[精选]计算机安全技术第5章15077.pptx_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《[精选]计算机安全技术第5章15077.pptx》由会员分享,可在线阅读,更多相关《[精选]计算机安全技术第5章15077.pptx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第五章第五章密 码 技 术 5.1 密码技术概述密码技术概述 密码学(密码学(密码学(密码学(CryptologyCryptology)是一门古老而深奥的学科,有着悠久、灿烂是一门古老而深奥的学科,有着悠久、灿烂是一门古老而深奥的学科,有着悠久、灿烂是一门古老而深奥的学科,有着悠久、灿烂的历史。密码技术是研究数据加密、解密及变换的科学,涉及数学、计的历史。密码技术是研究数据加密、解密及变换的科学,涉及数学、计的历史。密码技术是研究数据加密、解密及变换的科学,涉及数学、计的历史。密码技术是研究数据加密、解密及变换的科学,涉及数学、计算机科学、电子与通讯等诸多学科。虽然其理论相当高深,但概念却十算

2、机科学、电子与通讯等诸多学科。虽然其理论相当高深,但概念却十算机科学、电子与通讯等诸多学科。虽然其理论相当高深,但概念却十算机科学、电子与通讯等诸多学科。虽然其理论相当高深,但概念却十分简单。密码技术包含两方面密切相关的内容,即加密和解密。加密就分简单。密码技术包含两方面密切相关的内容,即加密和解密。加密就分简单。密码技术包含两方面密切相关的内容,即加密和解密。加密就分简单。密码技术包含两方面密切相关的内容,即加密和解密。加密就是研究、编写密码系统,把数据和信息转换为不可识别的密文的过程,是研究、编写密码系统,把数据和信息转换为不可识别的密文的过程,是研究、编写密码系统,把数据和信息转换为不可

3、识别的密文的过程,是研究、编写密码系统,把数据和信息转换为不可识别的密文的过程,而解密就是研究密码系统的加密途径,恢复数据和信息本来面目的过程。而解密就是研究密码系统的加密途径,恢复数据和信息本来面目的过程。而解密就是研究密码系统的加密途径,恢复数据和信息本来面目的过程。而解密就是研究密码系统的加密途径,恢复数据和信息本来面目的过程。加密和解密过程共同组成了加密系统。加密和解密过程共同组成了加密系统。加密和解密过程共同组成了加密系统。加密和解密过程共同组成了加密系统。在加密系统中,要加密的信息称为明文(在加密系统中,要加密的信息称为明文(在加密系统中,要加密的信息称为明文(在加密系统中,要加密

4、的信息称为明文(PlaintextPlaintext),),),),明文经过变明文经过变明文经过变明文经过变换加密后的形式称为密文(换加密后的形式称为密文(换加密后的形式称为密文(换加密后的形式称为密文(CiphertextCiphertext)。)。)。)。由明文变为密文的过程称为加由明文变为密文的过程称为加由明文变为密文的过程称为加由明文变为密文的过程称为加密(密(密(密(EncipheringEnciphering),),),),通常由加密算法来实现。由密文还原成明文的过程通常由加密算法来实现。由密文还原成明文的过程通常由加密算法来实现。由密文还原成明文的过程通常由加密算法来实现。由密文

5、还原成明文的过程称为解密(称为解密(称为解密(称为解密(DecipheringDeciphering),),),),通常由解密算法来实现。通常由解密算法来实现。通常由解密算法来实现。通常由解密算法来实现。对于较为成熟的密码体系,其算法是公开的,而密钥是保密的。这对于较为成熟的密码体系,其算法是公开的,而密钥是保密的。这对于较为成熟的密码体系,其算法是公开的,而密钥是保密的。这对于较为成熟的密码体系,其算法是公开的,而密钥是保密的。这样使用者简单地修改密钥,就可以达到改变加密过程和加密结果的目的。样使用者简单地修改密钥,就可以达到改变加密过程和加密结果的目的。样使用者简单地修改密钥,就可以达到改

6、变加密过程和加密结果的目的。样使用者简单地修改密钥,就可以达到改变加密过程和加密结果的目的。密钥越长,加密系统被破译的几率就越低。密钥越长,加密系统被破译的几率就越低。密钥越长,加密系统被破译的几率就越低。密钥越长,加密系统被破译的几率就越低。根据加密和解密过程是否使根据加密和解密过程是否使根据加密和解密过程是否使根据加密和解密过程是否使用相同的密钥,加密算法可以分为对称密钥加密算法(简称对称算法)用相同的密钥,加密算法可以分为对称密钥加密算法(简称对称算法)用相同的密钥,加密算法可以分为对称密钥加密算法(简称对称算法)用相同的密钥,加密算法可以分为对称密钥加密算法(简称对称算法)和非对称密钥

7、加密算法(简称非对称算法)两种。和非对称密钥加密算法(简称非对称算法)两种。和非对称密钥加密算法(简称非对称算法)两种。和非对称密钥加密算法(简称非对称算法)两种。通通通通过过过过对对对对传传传传输输输输的的的的数数数数据据据据进进进进行行行行加加加加密密密密来来来来保保保保障障障障其其其其安安安安全全全全性性性性,已已已已经经经经成成成成为为为为了了了了一一一一项项项项计计计计算算算算机机机机系系系系统统统统安安安安全全全全的的的的基基基基本本本本技技技技术术术术,它它它它可可可可以以以以用用用用很很很很小小小小的的的的代代代代价价价价为为为为数数数数据据据据信信信信息息息息提提提提供供供供

8、相相相相当当当当大大大大的的的的安全保护,是一种主动的安全防御策略。安全保护,是一种主动的安全防御策略。安全保护,是一种主动的安全防御策略。安全保护,是一种主动的安全防御策略。5.2 传统的加密方法传统的加密方法 传统的加密方法有三种:替换密码、变位密码以及一次性加密。传统的加密方法有三种:替换密码、变位密码以及一次性加密。传统的加密方法有三种:替换密码、变位密码以及一次性加密。传统的加密方法有三种:替换密码、变位密码以及一次性加密。5.2.1 替换密码替换密码 替代密码是用一组密文字母来代替一组明文字母以隐藏明文,同时保持明文替代密码是用一组密文字母来代替一组明文字母以隐藏明文,同时保持明文

9、替代密码是用一组密文字母来代替一组明文字母以隐藏明文,同时保持明文替代密码是用一组密文字母来代替一组明文字母以隐藏明文,同时保持明文字母的位置不变。字母的位置不变。字母的位置不变。字母的位置不变。最古老的一种替换密码是恺撒密码,恺撒密码又被称为循环移位密码。最古老的一种替换密码是恺撒密码,恺撒密码又被称为循环移位密码。最古老的一种替换密码是恺撒密码,恺撒密码又被称为循环移位密码。最古老的一种替换密码是恺撒密码,恺撒密码又被称为循环移位密码。其优其优其优其优点是密钥简单易记,但由于明文和密文的对应关系过于简单,所以安全性较差。点是密钥简单易记,但由于明文和密文的对应关系过于简单,所以安全性较差。

10、点是密钥简单易记,但由于明文和密文的对应关系过于简单,所以安全性较差。点是密钥简单易记,但由于明文和密文的对应关系过于简单,所以安全性较差。对于恺撒密码的另一种改进办法是,使明文字母和密文字母之间的映射关系对于恺撒密码的另一种改进办法是,使明文字母和密文字母之间的映射关系对于恺撒密码的另一种改进办法是,使明文字母和密文字母之间的映射关系对于恺撒密码的另一种改进办法是,使明文字母和密文字母之间的映射关系没有规律可循。如将没有规律可循。如将没有规律可循。如将没有规律可循。如将2626个字母中的每一个都映射成另一个字母,这种方法称为单个字母中的每一个都映射成另一个字母,这种方法称为单个字母中的每一个

11、都映射成另一个字母,这种方法称为单个字母中的每一个都映射成另一个字母,这种方法称为单字母表替换,其密钥是对应于整个字母表的字母表替换,其密钥是对应于整个字母表的字母表替换,其密钥是对应于整个字母表的字母表替换,其密钥是对应于整个字母表的2626个字母串。个字母串。个字母串。个字母串。由由由由于于于于替替替替换换换换密密密密码码码码是是是是明明明明文文文文字字字字母母母母与与与与密密密密文文文文字字字字母母母母之之之之间间间间的的的的一一一一一一一一映映映映射射射射,所所所所以以以以在在在在密密密密文文文文中中中中仍仍仍仍然然然然保保保保存存存存了了了了明文中字母的分布频率,这使得其安全性大大降

12、低。明文中字母的分布频率,这使得其安全性大大降低。明文中字母的分布频率,这使得其安全性大大降低。明文中字母的分布频率,这使得其安全性大大降低。小小小小知知知知识识识识:在在在在英英英英文文文文中中中中,e e是是是是最最最最常常常常用用用用的的的的字字字字母母母母,接接接接下下下下来来来来是是是是t t,o o,a a,n n,i i 等等等等。最最最最常常常常用用用用的的的的两两两两个个个个字字字字母母母母的的的的组组组组合合合合是是是是thth,inin,erer,rere和和和和an an。最最最最常常常常见见见见的的的的三三三三个个个个字字字字母母母母的的的的组组组组合合合合是是是是t

13、hethe,inging和和和和ion ion。5.2 传统的加密方法传统的加密方法5.2.2 变位密码变位密码 在在在在替替替替换换换换密密密密码码码码中中中中保保保保持持持持了了了了明明明明文文文文的的的的符符符符号号号号顺顺顺顺序序序序,只只只只是是是是将将将将它它它它们们们们隐隐隐隐藏藏藏藏起起起起来来来来,而而而而变变变变位位位位密密密密码码码码却却却却是是是是要要要要对对对对明明明明文文文文字字字字母母母母作作作作重重重重新新新新排排排排序序序序,但但但但不不不不隐隐隐隐藏藏藏藏它它它它们们们们。常常常常用用用用的的的的变位密码有列变位密码和矩阵变位密码。变位密码有列变位密码和矩阵

14、变位密码。变位密码有列变位密码和矩阵变位密码。变位密码有列变位密码和矩阵变位密码。1.1.1.1.列变位密码列变位密码列变位密码列变位密码 列变位密码的密钥是一个不含任何重复字母的单词或短语,列变位密码的密钥是一个不含任何重复字母的单词或短语,列变位密码的密钥是一个不含任何重复字母的单词或短语,列变位密码的密钥是一个不含任何重复字母的单词或短语,然后将明文排序,以密钥中的英文字母大小顺序排出列号,最后然后将明文排序,以密钥中的英文字母大小顺序排出列号,最后然后将明文排序,以密钥中的英文字母大小顺序排出列号,最后然后将明文排序,以密钥中的英文字母大小顺序排出列号,最后以列的顺序写出密文。以列的顺

15、序写出密文。以列的顺序写出密文。以列的顺序写出密文。2.2.2.2.矩阵变位密码矩阵变位密码矩阵变位密码矩阵变位密码 矩阵变位密码是把明文中的字母按给定的顺序排列在一个矩矩阵变位密码是把明文中的字母按给定的顺序排列在一个矩矩阵变位密码是把明文中的字母按给定的顺序排列在一个矩矩阵变位密码是把明文中的字母按给定的顺序排列在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。阵中,然后用另一种顺序选出矩阵的字母来产生密文。阵中,然后用另一种顺序选出矩阵的字母来产生密文。阵中,然后用另一种顺序选出矩阵的字母来产生密文。5.2 传统的加密方法传统的加密方法5.2.3 一次性加密 如如果果要要既既保保持

16、持代代码码加加密密的的可可靠靠性性,又又保保持持替替换换加加密密器器的的灵灵活活性性,可可采采用用一一次次性性密码进行加密。密码进行加密。首首先先选选择择一一个个随随机机比比特特串串作作为为密密钥钥。然然后后把把明明文文转转换换成成一一个个比比特特串串,最最后后逐逐位位对对这这两两个个比比特特串串进进行行异异或或运运算算。例例如如,以以比比特特串串“011010101001011010101001”作作为为密密钥钥,明明文文转转换换后后的的比比特特串串为为“101101011011101101011011”,则则经经过过异异或或运运算算后后,得得到到的的密密钥钥为为“1101111100101

17、10111110010”。这种密文没有给破译者提供任何信息,在一段足够长的密文中,每个字母或这种密文没有给破译者提供任何信息,在一段足够长的密文中,每个字母或字母组合出现的频率都相同。由于每一段明文同样可能是密钥,如果没有正确的字母组合出现的频率都相同。由于每一段明文同样可能是密钥,如果没有正确的密码,破译者是无法知道究竟怎样的一种映射可以得到真正的明文,所以也就无密码,破译者是无法知道究竟怎样的一种映射可以得到真正的明文,所以也就无法破译这样生成的密文。法破译这样生成的密文。与与此此同同时时,一一次次性性加加密密在在实实践践中中也也暴暴露露出出了了许许多多的的缺缺陷陷。第第一一,一一次次性性

18、加加密密是是靠靠密密码码只只使使用用一一次次来来保保障障的的,如如果果密密码码多多次次使使用用,密密文文就就会会呈呈现现出出某某种种规规律律性性,就就有有被被破破译译的的可可能能。第第二二,由由于于这这种种密密钥钥无无法法记记忆忆,所所以以需需要要收收发发双双方方随随身身携携带带密密钥钥,极极不不方方便便。第第三三,因因为为密密钥钥不不可可重重复复,所所以以可可传传送送的的数数据据总总量量受受到到可可用用密密钥钥数数量量的的限限制制。第第四四,这这种种方方法法对对丢丢失失信信息息或或信信息息错错序序十十分分敏敏感感,如如果果收收发发双双方方错错序,那么所有的数据都将被篡改。序,那么所有的数据都

19、将被篡改。5.3 常用加密技术介绍常用加密技术介绍 5.3.1 DES算法 数数据据加加密密标标准准DESDES(Data Data Encryption Encryption StandardStandard)是是美美国国国国家家标标准准局局于于19771977年年公公布布的的由由IBMIBM公公司司研研制制的的加加密密算算法法。DESDES被被授授权权用用于于所所有有非非保保密密通通信的场合,后来还曾被国际标准组织采纳为国际标准。信的场合,后来还曾被国际标准组织采纳为国际标准。DESDES是是一一种种典典型型的的按按分分组组方方式式工工作作的的单单钥钥密密码码算算法法。其其基基本本思思想想

20、是是将将二二进进制制序序列列的的明明文文分分组组,然然后后用用密密钥钥对对这这些些明明文文进进行行替替代代和和置置换换,最最后后形形成成密密文文。DESDES算算法法是是对对称称的的,既既可可用用于于加加密密又又可可用用于于解解密密。它它的的巧巧妙妙之之处处在在于于,除除了了密密钥钥输输入入顺顺序序之之外外,其其加加密密和和机机密密的的步步骤骤完完全全相相同同,从从而而在在制作制作DESDES芯片时很容易达到标准化和通用化,很适合现代通信的需要。芯片时很容易达到标准化和通用化,很适合现代通信的需要。DES DES算法将输入的明文分为算法将输入的明文分为6464位的数据分组,使用位的数据分组,使

21、用6464位的密钥进行位的密钥进行变换,每个变换,每个6464位的明文分组数据经过初始置换、位的明文分组数据经过初始置换、1616次迭代和逆置换三个次迭代和逆置换三个主要阶段,最后输出得到主要阶段,最后输出得到6464位的密文。在迭代前,先要对位的密文。在迭代前,先要对6464位的密钥进位的密钥进行变换,密钥经过去掉其第行变换,密钥经过去掉其第8 8、1616、2424、。、。、6464位减至位减至5656位,去掉的位,去掉的那那8 8位被视为奇偶校验位,不含密钥信息,所以实际密钥长度为位被视为奇偶校验位,不含密钥信息,所以实际密钥长度为5656位。位。DESDES加密概况如图所示:加密概况如

22、图所示:5.3 常用加密技术介绍常用加密技术介绍 5.3 常用加密技术介绍常用加密技术介绍 DES DES算法的初始置换过程为:输入算法的初始置换过程为:输入6464位明文,按初始置换规则把输入的位明文,按初始置换规则把输入的6464位位数据按位重新组合,并把输出分为左右两部分,每部分各长数据按位重新组合,并把输出分为左右两部分,每部分各长3232位。即将输入的第位。即将输入的第5858位换到第一位,第位换到第一位,第5050位换到第位换到第2 2位,第位,第1212位换到第位换到第3 3位,依此类推,最后一位是位,依此类推,最后一位是原来的第原来的第7 7位。例如:置换前的输入值为位。例如:

23、置换前的输入值为D1D2D3D1D2D3。D64D64,则经过初始则经过初始置换后,左面部分为:置换后,左面部分为:D58D50D58D50。D8D8,右面部分位:右面部分位:D57D49D57D49。D7D7。DESDES算算法法的的迭迭代代过过程程为为:密密钥钥与与初初始始置置换换后后的的右右半半部部分分相相结结合合,然然后后再再与与左左半半部部分分相相结结合合,其其结结果果作作为为新新的的右右半半部部分分。结结合合前前的的右右半半部部分分作作为为新新的的左左半半部部分分。这这样样一一些些步步骤骤组组成成一一轮轮。这这种种过过程程要要重重复复1616次次。在在最最后后一一次次迭迭代代之之后

24、后,所所得得的的左左右右两部分不再交换,这样可以使加密和解密使用同一算法。如图所示:两部分不再交换,这样可以使加密和解密使用同一算法。如图所示:5.3 常用加密技术介绍常用加密技术介绍5.3.2 IDEA算法 国国际际数数据据加加密密算算法法IDEAIDEA(International International Data Data Encryption Encryption AlgorithmAlgorithm)是是瑞瑞士士的的著著名名学学者者提提出出的的。IDEAIDEA是是在在DESDES算算法法的的基基础础上发展起来的一种安全高效的分组密码系统。上发展起来的一种安全高效的分组密码系统。

25、IDEA IDEA密码系统的明文和密文长度均为密码系统的明文和密文长度均为6464比特,密钥长度则比特,密钥长度则为为128128比特。其加密由比特。其加密由8 8轮类似的运算和输出变换组成,主要有异轮类似的运算和输出变换组成,主要有异或、模加和模乘三种运算。其加密概况如图所示:或、模加和模乘三种运算。其加密概况如图所示:5.3 常用加密技术介绍常用加密技术介绍 5.3 常用加密技术介绍常用加密技术介绍 IDEAIDEA密密码码系系统统在在加加密密和和解解密密运运算算中中,仅仅仅仅使使用用作作用用于于1616比比特特子子块块对对的的一一些些基基本本运运算算,因因此此效效率率很很高高。IDEAI

26、DEA密密码码系系统统具具有有规规则则的的模模块块化化结结构构,有有利利于于加加快快其其硬硬件件实实现现速速度度。由由于于IDEAIDEA的的加加密密和和解解密密过过程程是是相相似似的的,所所以有可能采用同一种硬件器件来实现加密和解密。以有可能采用同一种硬件器件来实现加密和解密。IDEAIDEA算算法法的的密密钥钥长长度度为为128128位位,是是DESDES密密钥钥长长度度的的两两倍倍。它它能能够够抵抵抗抗差差分分密密码码分分析析方方法法和和相相关关密密钥钥密密码码分分析析方方法法的的攻攻击击。科科学学家家已已证证明明IDEAIDEA算算法法在在其其8 8轮轮迭迭代代的的第第4 4轮轮之之后

27、后便便不不受受差差分分密密码码分分析析的的影影响响了了。假假定定穷穷举举法法攻攻击击有有效效的的话话,那那么么即即使使设设计计一一种种每每秒秒种种可可以以试试验验1010亿亿个个密密钥钥的的专专用用芯芯片片,并并将将1010亿亿片片这这样样的的芯芯片片用用于于此此项项工工作作,仍仍需需10101313年年才才能能解解决决问问题题。目目前前,尚尚无无一一片片公公开开发发表表的的试试图图对对IDEAIDEA进进行行密密码码分分析析的的文文章章。因因此此,就就现现在来看应当说在来看应当说IDEAIDEA是一种安全性好、效率高的分组密码算法。是一种安全性好、效率高的分组密码算法。5.3 常用加密技术介

28、绍常用加密技术介绍5.3.3 RSA算法 RSARSA算算法法是是公公开开密密钥钥密密码码体体制制中中最最著著名名、使使用用最最广广泛泛的的一一种种。首首先先来来对对公公开开密密钥钥密码体制做一了解。密码体制做一了解。公公开开密密钥钥密密码码体体制制,又又叫叫做做非非对对称称密密钥钥密密码码体体制制,是是与与传传统统的的对对称称密密钥钥密密码码体体制制相相对对应应的的。在在传传统统的的加加密密方方法法中中,加加密密、解解密密使使用用的的是是同同样样的的密密钥钥,由由发发送送者者和和接接收收者者分分别别保保存存,在在加加密密和和解解密密时时使使用用。通通常常,使使用用的的加加密密算算法法比比较较

29、简简便便高高效效,密密钥钥简简短短,破破译译极极为为困困难难。但但采采用用这这种种方方法法的的主主要要问问题题是是在在公公开开的的环环境境中中如如何何安安全全的的传传送送和和保保管管密密钥钥。19761976年年,DiffieDiffie和和HellmanHellman为为解解决决密密钥钥的的分分发发与与管管理理问问题题,在在“密密码码学学的的新新方方向向”一一文文中中,提提出出了了一一种种新新的的密密钥钥交交换换协协议议,允允许许在在不不安安全全的的媒媒体体上上通通过过通通讯讯双双方方交交换换信信息息,安安全全地地传传送送密密钥钥。在在此此新新思思想想的的基基础础上上,很很快快出出现现了了公

30、公开开密密钥钥密密码码体体制制。在在该该体体制制中中,使使用用一一个个加加密密算算法法E E和和一一个个解解密密算算法法D D,它它们们彼彼此此完完全全不不同同,并并且且解解密密算算法法不不能能从从加加密密算算法法中中推推导导出出来来。此此算算法法必必须须满满足足下下列三点要求:列三点要求:(1 1)D D是是E E的逆,即的逆,即DEDE(P P)=P=P;(2 2)从从E E推导出推导出D D极其困难;极其困难;(3 3)对一段明文的分析,不可能破译出)对一段明文的分析,不可能破译出E E。5.3 常用加密技术介绍常用加密技术介绍 从从上上述述要要求求可可以以看看出出,公公开开密密钥钥密密

31、码码体体制制下下,加加密密密密钥钥不不等等于于解解密密密密钥钥。加加密密密密钥钥可可对对外外公公开开,使使任任何何用用户户都都可可将将传传送送给给此此用用户户的的信信息息用用公公开开密密钥钥加加密密发发送送,而而该该用用户户唯唯一一保保存存的的私私有有密密钥钥是是保保密密的的,也也只只有有它它能能将将密密文文恢恢复复为为明明文文。虽虽然然解解密密密密钥钥理理论论上上可可由由加加密密密密钥钥推推算算出出来来,但但实实际际上上在在这这种种密密码码体体系系中中是是不不可可能能的的,或或者者虽虽然然能能够够推推算算出出,但但要要花花费费很很长长的的时时间间而而成成为为不不可可行行的的,所所以以将将加加

32、密密密密钥钥公公开也不会危害密钥的安全。开也不会危害密钥的安全。公公开开密密钥钥密密码码体体制制,是是现现代代密密码码学学最最重重要要的的发发明明和和进进展展。一一般般理理解解密密码码学学就就是是保保护护信信息息传传递递的的机机密密性性,但但这这仅仅仅仅是是当当今今密密码码学学的的一一个个方方面面。对对信信息息发发送送与与接接收收人人的的真真实实身身份份的的验验证证,对对所所发发出出/接接收收信信息息在在事事后后的的不不可可抵抵赖赖以以及及保保障障数数据据的的完完整整性性也也是是现现代代密密码码学学研研究究的的另另一一个个重重要要方方面面。公公开开密密钥钥密密码码体体制制对对这这两两方方面面的

33、的问问题题都都给出了出色的解答,并正在继续产生许多新的思想和方案。给出了出色的解答,并正在继续产生许多新的思想和方案。在在所所有有的的公公开开密密钥钥加加密密算算法法中中,RSARSARSARSA算算算算法法法法是是理理论论上上最最为为成成熟熟、完完善善,使使用用最最为为广广泛泛的的一一种种。RSARSA算算法法是是由由R.RivestR.Rivest、A.ShamirA.Shamir和和L.AdlemanL.Adleman三三位位教教授授于于19781978年年提提出出的的,RSARSA就就来来自自于于三三位位教教授授姓姓氏氏的的第第一一个个字字母母。该该算算法法的的数数学学基基础础是是初初

34、等等数数论论中中的的EulerEuler(欧欧拉拉)定定理理,其其安安全全性性建建立立在在大大整整数数因因子子分分解解的的困困难难性性之之上上。RSARSA算算法法是是第第一一个个能能同同时时用用于于加加密密和和数数字字签签名名的的算算法法,并并且且易易于于理理解解和和操操作作。RSARSA算算法法从从提提出出到到现现在在已已近近二二十十年年,经经历历了了各各种种攻攻击击的的考考验验,逐逐渐渐为为人人们们接接受受,普普遍遍认认为为是是目目前前最优秀的公钥方案之一。下面简要的介绍如何运用这种方法。最优秀的公钥方案之一。下面简要的介绍如何运用这种方法。5.3 常用加密技术介绍常用加密技术介绍 首首

35、先先准准备备加加密密所所需需的的参参数数:选选择择两两个个大大的的质质数数p p和和q q,一一般般的的应应为为100100位位以以上上的的十十进进制制质质数数。然然后后计计算算n=pn=p q q和和z=z=(p-1p-1)(q-1q-1)。选选择择一一个个与与z z互互为为质质数数的的数数d d。找找出出e e,使使得得e e d=1 d=1 mod zmod z。其中,(其中,(e e,n n)便是公开密钥,(便是公开密钥,(d d,n n)便是私有密钥。便是私有密钥。加加密密过过程程为为:将将明明文文看看作作一一个个比比特特串串,划划分分成成块块,使使每每段段明明文文信信息息P P落落

36、在在0 0P Pn n之之间间,这这可可以以通通过过将将明明文文分分成成每每块块有有k k位位的的组组来来实实现现,并并且且k k为为满满足足2 2k kn n成成立立的的最最大大整整数数。对对明明文文信信息息P P进进行行加加密密,计计算算C=PC=Pe e(mod mod n n)。解解密密C C,要要计计算算P=CP=Cd d(mod mod n n)。可可以以证证明明,在在确确定定的的范范围围内内,加加密密和和解解密密函函数数是是互互逆逆的的。为为实实现现加加密密,需需要要e e和和n n,为为实实现现解解密密需需要要d d和和n n。所所以以公公钥钥由由(e e,n n)组成,私钥由

37、(组成,私钥由(d d,n n)组成。组成。下面是一个简单的例子,我们为明文下面是一个简单的例子,我们为明文“SUZANNESUZANNE”进行加密和解密,如图所示:进行加密和解密,如图所示:5.3 常用加密技术介绍常用加密技术介绍 我我们们选选择择了了p=3p=3,q=11q=11,则则n=33n=33,z=20z=20。因因为为7 7和和2020没没有有公公共共因因子子,所所以以设设d d的的一一个个适适合合的的值值为为d=7d=7。选选定定这这些些值值后后,求求解解方方程程7 7e e1 1(mod mod 2020),得得出出e=3e=3。然然后后根根据据C=PC=P3 3(mod 3

38、3mod 33)得出明文得出明文P P的密文的密文C C。接收者则根据接收者则根据P=CP=C7 7(mod 33mod 33)将密文解密。将密文解密。在在上上例例中中,因因为为质质数数选选择择得得很很小小,所所以以P P必必须须小小于于3333,因因此此,每每个个明明文文块块只只能能包包含含一一个个字字符符。结结果果形形成成了了一一个个普普通通的的单单字字母母表表替替换换密密码码。但但它它与与DESDES还还是是有有很很大大区区别别的的,如如果果p p,q q的的选选择择为为1010100 100,就就可可得得到到n=n=1010200 200,这这样样,每每个个明明文文块块就就可可多多达达

39、664664比特,而比特,而DESDES只有只有6464比特。比特。以以上上情情况况并并不不能能说说明明RSARSA可可以以替替代代DESDES。相相反反,它它们们的的优优缺缺点点可可以以很很好好的的互互补补,RSARSA的的密密钥钥很很长长,加加密密速速度度慢慢,而而采采用用加加密密速速度度快快,适适合合加加密密较较长长的的报报文文DESDES正正好好弥弥补补了了RSARSA的的缺缺点点。即即可可以以把把DESDES用用于于明明文文加加密密,RSARSA用用于于DESDES密密钥钥的的加加密密。这这样样因因使用使用RSARSA而耗掉的时间就不会太多。同时,而耗掉的时间就不会太多。同时,RSA

40、RSA也可以解决也可以解决DESDES密钥分配的问题。密钥分配的问题。RSA RSA的缺点主要有:第一,产生密钥很麻烦,受到素数产生技术的限制,因的缺点主要有:第一,产生密钥很麻烦,受到素数产生技术的限制,因此难以做到一次一密。第二,分组长度太大,为保证安全性,此难以做到一次一密。第二,分组长度太大,为保证安全性,n n 至少也要至少也要 600 600比特比特以上,使运算代价很高,尤其是速度较慢,比对称密码算法慢几个数量级。而且以上,使运算代价很高,尤其是速度较慢,比对称密码算法慢几个数量级。而且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。第三,随着大数分解技术的发展,

41、这个长度还在增加,不利于数据格式的标准化。第三,RSARSA的安全性依赖于大整数的因子分解,但并没有从理论上证明破译的安全性依赖于大整数的因子分解,但并没有从理论上证明破译RSARSA的难度的难度与大整数分解难度等价。即与大整数分解难度等价。即RSARSA的重大缺陷是无法从理论上把握它的保密性能如的重大缺陷是无法从理论上把握它的保密性能如何,为了保证其安全性,我们只能不断增加模何,为了保证其安全性,我们只能不断增加模n n的位数。的位数。5.4 加密技术的典型应用加密技术的典型应用数字签名数字签名 5.4.1 数字签名的概念 数数字字签签名名(Digital Digital Signature

42、)Signature)是是指指信信息息发发送送者者使使用用公公开开密密钥钥算算法法的的主主要要技技术术,产产生生的的别别人人无无法法伪伪造造的的一一段段数数字字串串。发发送送者者用用自自己己的的私私有有密密钥钥加加密密数数据据后后,传传给给接接收收者者。接接收收者者用用发发送送者者的的公公钥钥解解开开数数据据后后,就就可可确确定定数数据据来来自自于于谁谁。同同时时这这也也是是对对发发送送者者发发送送的的信信息息的的真真实实性性的的一一个个证证明明,发发送送者者对对所所发发送送的的信信息息是是不不能能抵抵赖赖的。的。一一个个数数字字签签名名算算法法主主要要由由两两个个算算法法组组成成,即即签签名

43、名算算法法和和验验证证算算法法。签签名名者者能能使使用用一一个个秘秘密密的的签签名名算算法法签签一一个个消消息息,所所得得的的签签名名能能通通过过一一个个公公开开的的验验证证算算法法来来验验证证。给给定定一一个个签签名名后后,验验证证算算法法根根据据签签名名是是否否真真实实来来作作出出一一个个“真真”或或“假假”的的问问答答。其其过过程程可可描描述述为为:甲甲首首先先使使用用他他的的秘秘密密密密钥钥对对消消息息进进行行签签名名得得到到加加密密的的文文件件,然然后后将将文文件件发发给给乙乙,最最后后,乙乙用用甲甲的的公公钥钥验验证证甲甲的的签签名名的的合合法法性性。这这样样的的签签名名方方法法是

44、符合以下可靠性原则的:是符合以下可靠性原则的:(1 1)签字是可以被确认的;)签字是可以被确认的;(2 2)签字是无法被伪造的;)签字是无法被伪造的;(3 3)签字是无法重复使用的;)签字是无法重复使用的;(4 4)文件被签字以后是无法被篡改的;)文件被签字以后是无法被篡改的;(5 5)签字具有无可否认性。)签字具有无可否认性。目目前前已已有有大大量量的的数数字字签签名名算算法法,如如RSARSA数数字字签签名名算算法法、EIGamalEIGamal数数字字签签名名算算法法、美美国国的的数数字字签签名名标标准准/算算法法(DSS/DSA)DSS/DSA)、椭椭圆圆曲曲线线数数字字签签名名算算法

45、法和和有有限限自自动动机机数数字字签签名算法等。名算法等。5.4 加密技术的典型应用加密技术的典型应用数字签名数字签名5.4.2 数字签名的实现方法 数数字字签签名名可可以以用用对对称称算算法法实实现现,也也可可以以用用非非对对称称算算法法实实现现,还还可可以以用用报报文文摘摘要要算法来实现。算法来实现。1.1.使用对称密钥密码算法进行数字签名使用对称密钥密码算法进行数字签名 对称密钥密码算法所用的加密密钥和解密密钥通常是相同的,即使不同也可对称密钥密码算法所用的加密密钥和解密密钥通常是相同的,即使不同也可以很容易地由其中的一个推导出另一个。在此算法中,加解密双方所用的密钥都以很容易地由其中的

46、一个推导出另一个。在此算法中,加解密双方所用的密钥都要保守秘密。由于其计算速度快,而广泛应用于大量数据的加密过程中。使用对要保守秘密。由于其计算速度快,而广泛应用于大量数据的加密过程中。使用对称密钥密码算法进行数字签名的加密标准有:称密钥密码算法进行数字签名的加密标准有:DESDES,RC2RC2,RC4RC4等。等。2.2.使用非对称密钥密码算法进行数字签名使用非对称密钥密码算法进行数字签名 非对称密钥密码算法(即公钥密码算法)使用两个密钥:公开密钥和私有密非对称密钥密码算法(即公钥密码算法)使用两个密钥:公开密钥和私有密钥,分别用于对数据的加密和解密,即如果用公开密钥对数据进行加密,只有用

47、钥,分别用于对数据的加密和解密,即如果用公开密钥对数据进行加密,只有用对应的私有密钥才能进行解密。如果用私有密钥对数据进行加密,则只有用对应对应的私有密钥才能进行解密。如果用私有密钥对数据进行加密,则只有用对应的公开密钥才能解密。使用公钥密码算法进行数字签名的加密标准有:的公开密钥才能解密。使用公钥密码算法进行数字签名的加密标准有:RSARSA,DSADSA,DiffieDiffieHellmanHellman等。等。3.3.报文摘要算法报文摘要算法报文摘要算法报文摘要算法 报文摘要法是最主要的数字签名方法,也称之为数字摘要法或数字指纹法。报文摘要法是最主要的数字签名方法,也称之为数字摘要法或

48、数字指纹法。该数字签名方法是将数字签名与要发送的信息紧密联系在一起,它更适合于电子该数字签名方法是将数字签名与要发送的信息紧密联系在一起,它更适合于电子商务活动。将一个报文内容与签名结合在一起,比内容和签名分开传递,有着更商务活动。将一个报文内容与签名结合在一起,比内容和签名分开传递,有着更强的可信度和安全性。使用报文摘要算法进行数字签名的通用加密标准有:强的可信度和安全性。使用报文摘要算法进行数字签名的通用加密标准有:SHASHA1 1,MD5MD5等。等。5.4 加密技术的典型应用加密技术的典型应用数字签名数字签名5.4.3 数字签名的其他问题 1.1.数字签名的保密性数字签名的保密性数字

49、签名的保密性数字签名的保密性 数字签名的保密性很大程度上依赖于公开密钥。数字签名的保密性很大程度上依赖于公开密钥。在实用过程中,通常一个用户拥有在实用过程中,通常一个用户拥有两个密钥对,一个密钥对用来对数字签名进行加密解密,一个密钥对用来对秘密密钥进两个密钥对,一个密钥对用来对数字签名进行加密解密,一个密钥对用来对秘密密钥进行加密解密。这样的方式提供了更高的安全性。行加密解密。这样的方式提供了更高的安全性。由于加密密钥是公开的,所以密钥的分由于加密密钥是公开的,所以密钥的分配和管理就很简单,而且能够很容易地实现数字签名。因此,非常适合于电子商务应用配和管理就很简单,而且能够很容易地实现数字签名

50、。因此,非常适合于电子商务应用的需要。的需要。2.2.数字签名的不足数字签名的不足数字签名的不足数字签名的不足 (1 1)数字签名亟需相关法律条文的支持。)数字签名亟需相关法律条文的支持。(2 2)如果发送方的信息已经进行了数字签)如果发送方的信息已经进行了数字签名,那么接收方就一定要有数字签名软件,这就要求软件具有很高的普及性。名,那么接收方就一定要有数字签名软件,这就要求软件具有很高的普及性。(3 3)假)假设某人发送信息后,被取消了原有数字签名的权限,以往发送的数字签名在鉴定时只能设某人发送信息后,被取消了原有数字签名的权限,以往发送的数字签名在鉴定时只能在取消确认列表中找到原有确认信息

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 考试试题 > 一级建造

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁