通信网络安全Chapter03_第1页
通信网络安全Chapter03_第2页
通信网络安全Chapter03_第3页
通信网络安全Chapter03_第4页
通信网络安全Chapter03_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

1、1第三章第三章 密码技术密码技术2 在计算机尤其是网络传输过程中如在计算机尤其是网络传输过程中如何保证数据的安全何保证数据的安全? ?数据加密数据加密!3第第3章章 密码技术密码技术 基本概念基本概念 对称加密技术对称加密技术 非对称加密技术非对称加密技术 数字签名数字签名 密钥管理密钥管理 应用实例应用实例43.1 基本概念基本概念5密码学的发展密码学的发展第一个阶段第一个阶段:1949:1949年以前年以前古典加密古典加密计算机技术出现以前计算机技术出现以前密码学作为一种技艺密码学作为一种技艺, ,而不是一门科学而不是一门科学第二个阶段第二个阶段:1949:1949年到年到19761976

2、年年标志标志: Shannon : Shannon 发表发表”Communication Theory of Secrecy SystemCommunication Theory of Secrecy System”密码学进入了科学的轨道密码学进入了科学的轨道主要技术主要技术: : 单密钥的对称密钥加密算法单密钥的对称密钥加密算法第三个阶段第三个阶段 :1976 :1976年以后年以后标志标志 : Diffie,Hellman : Diffie,Hellman发表发表”New Dircetions in CryptographyNew Dircetions in Cryptography”一种

3、新的密码体制一种新的密码体制 : : 公开密钥体制公开密钥体制619491949年之前的年之前的古典密码古典密码古典密码(古典密码(classical cryptography) classical cryptography) 密码学还不是科学密码学还不是科学, ,而是艺术。而是艺术。出现一些密码算法和加密设备密码算法的出现一些密码算法和加密设备密码算法的基本手段(基本手段(substitution & permutation)substitution & permutation)出现,针对字符进行替代出现,针对字符进行替代( (替换替换) )或置换或置换( (换换位位) )。

4、简单的密码分析手段出现简单的密码分析手段出现 7密码学的起源密码学的起源隐写术隐写术(steganography) 通过通过隐藏消息的存在隐藏消息的存在来保护消息来保护消息 a.隐形墨水隐形墨水b.字符格式的变化字符格式的变化 c.图形图像图形图像820世纪早期密码机世纪早期密码机9关于密码的一些教训关于密码的一些教训声称你的算法是声称你的算法是“不可攻破的不可攻破的”多次使用一次性密码本多次使用一次性密码本没有使用最好的可用算法没有使用最好的可用算法没有正确的实现算法没有正确的实现算法在产品里放置了后门在产品里放置了后门10 古典加密体制替代技术(古典加密体制替代技术(1)凯撒密码:算法描述

5、: 将字母表中的每个字母用其后的第三个字母代替。将字母表中的每个字母用其后的第三个字母代替。 CE(P) (P3)mod 26 P = D(C) = (P3)mod 26 当然,也可以将当然,也可以将3 换为换为125间的任一个数间的任一个数K。攻击手段: 1. 算法简单,密钥算法简单,密钥K的数量仅为的数量仅为25个,强力攻击(穷举攻击)个,强力攻击(穷举攻击) 2. 明文单词构造有规律,可以根据字母频率分析攻击。明文单词构造有规律,可以根据字母频率分析攻击。11英语文本中字母的频率统计英语文本中字母的频率统计12 古典加密体制替代技术(古典加密体制替代技术(1)东方网东方网2 2月月282

6、8日消息:日消息:2323岁的岁的英国嫌犯基尔隆英国嫌犯基尔隆布莱恩在狱中布莱恩在狱中候审期间给妹妹寄了封背面写候审期间给妹妹寄了封背面写有一行行奇怪数字的信件。警有一行行奇怪数字的信件。警方请来密码破译高手花费整整方请来密码破译高手花费整整3 3天、分析了天、分析了840840种编码方法后才种编码方法后才将其破译。将其破译。在在1 1到到4343之间随机取出了之间随机取出了2323个个数字来代替数字来代替2323个字母,并利用个字母,并利用诸如强调符这样的标点符号来诸如强调符这样的标点符号来代替另外代替另外3 3个字母个字母 13明文:加密前的数据。明文:加密前的数据。密文:加密后的数据。密

7、文:加密后的数据。作用:防止有价值的信息被拦截和窃取。作用:防止有价值的信息被拦截和窃取。加密变换:明文加密变换:明文密文密文有两种主要的加密(编码)方法,分别是有两种主要的加密(编码)方法,分别是:换位:将组成信息块的数字位进行交换。换位:将组成信息块的数字位进行交换。置换:将每一个字符或数位替换为其他内容。对文件中置换:将每一个字符或数位替换为其他内容。对文件中的字符或符号进行替换,就能创建一个置换密码。的字符或符号进行替换,就能创建一个置换密码。14加密的逆过程称为解密。加密的逆过程称为解密。解密变换:密文解密变换:密文-明文明文加密信息进行解密具备两个条件:加密信息进行解密具备两个条件

8、:解密规则或者算法解密规则或者算法解密的密钥解密的密钥密钥:数据变换所用的独立输入项密钥:数据变换所用的独立输入项 加密密钥加密密钥 解密密钥解密密钥 15待加密的待加密的报文报文用于加密和解用于加密和解密的字符串密的字符串加密后的加密后的报文报文实现加密、解密实现加密、解密算法逻辑算法逻辑图图1 加密与解密系统加密与解密系统16 未经授权未经授权的解密称为破译。的解密称为破译。 防止密码破译采取机制防止密码破译采取机制 强壮的加密算法强壮的加密算法 动态会话密钥动态会话密钥 保护关键密钥保护关键密钥 基于密码技术的访问控制是防止数据传输泄密的主要防基于密码技术的访问控制是防止数据传输泄密的主

9、要防护手段。护手段。初始保护:防火墙初始保护:防火墙持续保护:通信流加密持续保护:通信流加密3. 密码破译密码破译17信息加密分类信息加密分类通信加密:在传输过程中的数据加密通信加密:在传输过程中的数据加密文件加密:将存储数据进行加密文件加密:将存储数据进行加密以加密实现的通信层次来区分以加密实现的通信层次来区分链路加密链路加密节点加密节点加密端到端加密端到端加密4. 加密分类加密分类18密码通信系统的模型密码通信系统的模型M加密器加密器EncryptorE解密器解密器DecryptorD破译者破译者)(1MECK)(2CDMK1K2K明文明文密文密文加密密钥加密密钥解密密钥解密密钥发送方发送

10、方接收方接收方公开信道公开信道193.1.2 加密算法加密算法 加密算法加密算法加密算法是实施具体加密的基础,它决定了加密的强度、运算量以及加密算法是实施具体加密的基础,它决定了加密的强度、运算量以及它的实用性。它的实用性。密码算法可以看作是一个复杂的函数变换,密码算法可以看作是一个复杂的函数变换,s=f(m,k)。)。s代表密文,即加密后得到的字符序列,代表密文,即加密后得到的字符序列,m代表明文,即待加密的字符序代表明文,即待加密的字符序列,列,k表示密钥,是秘密选定的一个字符序列。表示密钥,是秘密选定的一个字符序列。 加密算法的实现加密算法的实现 软件加密:软件加密:通过算法的计算机程序

11、实现。通过算法的计算机程序实现。特点:实现简单,成本低;速度比较慢;相对来说,机密性差。特点:实现简单,成本低;速度比较慢;相对来说,机密性差。硬件加密:硬件加密:通过具体的电子线路实现加密算法。通过具体的电子线路实现加密算法。 特点:实现复杂,成本高;加密速度比较快;相对软件加密算法实现,特点:实现复杂,成本高;加密速度比较快;相对软件加密算法实现,其机密性更好。其机密性更好。20对称密码体制(私钥):加密密钥和解密密钥对称密码体制(私钥):加密密钥和解密密钥相同相同,且都需要保密。且都需要保密。优点:加密算法比较简便、高效、密钥简短,对方破译极优点:加密算法比较简便、高效、密钥简短,对方破

12、译极其困难,且经受住时间的检验和攻击;其困难,且经受住时间的检验和攻击;缺点:密钥必须通过安全的途径传送。缺点:密钥必须通过安全的途径传送。系统的机密性主要取决于系统的机密性主要取决于。加密的方式:加密的方式:按字符逐位加密(流密码)按字符逐位加密(流密码)将明文消息分组(分组密码)将明文消息分组(分组密码)常用算法:常用算法:DES适用范围:数据加密、消息认证适用范围:数据加密、消息认证3.1.3 密码体制分类密码体制分类21非对称密码体制非对称密码体制(公钥):加密密钥和解密密钥(公钥):加密密钥和解密密钥不不相同相同,一个公开,一个保密。,一个公开,一个保密。优点:可以适应网络的开放性要

13、求,且密钥管理简单。增优点:可以适应网络的开放性要求,且密钥管理简单。增加数字签名应用。加数字签名应用。缺点:算法复杂,且加密数据的速率较低。缺点:算法复杂,且加密数据的速率较低。特点:加密和解密功能分开。特点:加密和解密功能分开。常用算法:常用算法:RSA、背包密码、零知识证明和椭圆曲线算法。、背包密码、零知识证明和椭圆曲线算法。3.1.3 密码体制分类密码体制分类223.1.3 密码体制分类密码体制分类混合加密体制:公开密钥密码技术在通信双方之间传送混合加密体制:公开密钥密码技术在通信双方之间传送秘密密钥,而用秘密密钥来对实际传输的数据加密解密。秘密密钥,而用秘密密钥来对实际传输的数据加密

14、解密。发 方 加 密 C=Ek(P) 解 密 P=Dk(C) 收方 密钥 密钥 加 密 Ck=Epk(K) 加密密钥PK 解 密 K=Dpk-1(Ck) 解密密钥PK-1 采用公开密钥密码体制对传统密码体制的密钥进行加密后的通信 采用传统密码体制进行通信 明文P 密文C 233.1.4 密码体制与安全服务密码体制与安全服务机密性机密性 机密性服务是指只允许特定用户访问和阅读信息,任何机密性服务是指只允许特定用户访问和阅读信息,任何非授权用户对信息都不可理解的服务。非授权用户对信息都不可理解的服务。数据完整性数据完整性数据完整性用于确保数据在存储和传输过程中不被未授权数据完整性用于确保数据在存储

15、和传输过程中不被未授权修改的服务。修改的服务。认证认证 认证服务是一种与数据和身份识别有关的服务。认证服务是一种与数据和身份识别有关的服务。不可否认性不可否认性不可否认性服务是一种用于阻止合法用户否认先前的言论不可否认性服务是一种用于阻止合法用户否认先前的言论或行为的服务。或行为的服务。243.1.5 密钥密钥 密钥是密码算法中的可变参数。密码体制的安全密钥是密码算法中的可变参数。密码体制的安全性完全建立在对性完全建立在对密钥的安全性密钥的安全性上。上。 密钥管理涉及密钥的各个方面,包括密钥的产生、密钥管理涉及密钥的各个方面,包括密钥的产生、密钥的分发、密钥输入和输出、密钥的更换、密钥密钥的分

16、发、密钥输入和输出、密钥的更换、密钥的存储、密钥的保存和备份、密钥的生命周期以及的存储、密钥的保存和备份、密钥的生命周期以及密钥的销毁等。密钥的销毁等。253.1.6 计算机通信安全与保密计算机通信安全与保密 信息安全与保密信息安全与保密信息系统安全保密研究的对象是信息系统安全保密研究的对象是系统系统而不仅是系统中的某而不仅是系统中的某个或某些元素。个或某些元素。从系统内看,研究内容包括通信安全、计算机安全、操作从系统内看,研究内容包括通信安全、计算机安全、操作安全、信息安全、人事安全、工业安全、资源保护和实体安全、信息安全、人事安全、工业安全、资源保护和实体安全。安全。 从系统外看(因为系统

17、不是孤立的),研究内容还包括管从系统外看(因为系统不是孤立的),研究内容还包括管理和法律两个方面,它们的综合构成了一个合理的研究结理和法律两个方面,它们的综合构成了一个合理的研究结构和层次。构和层次。计算机安全与保密计算机安全与保密 计算机安全保密涉及计算机硬件、软件以及所处理数据的计算机安全保密涉及计算机硬件、软件以及所处理数据的安全和保密。安全和保密。26安全保密研究安全保密研究信息系统的安全保密研究有以下三个阶段:信息系统的安全保密研究有以下三个阶段:计算机诞生前的密码学(通信安全保密)研究;计算机诞生前的密码学(通信安全保密)研究;实施安全保密策略的基本工具(基础层次)实施安全保密策略

18、的基本工具(基础层次)计算机安全保密研究;计算机安全保密研究;利用基础密码学来研究计算机的安全保密问题,表现了研利用基础密码学来研究计算机的安全保密问题,表现了研究对象的个体性,而不管计算机系统之外的事情(中间层究对象的个体性,而不管计算机系统之外的事情(中间层次)次)信息系统的安全保密研究信息系统的安全保密研究综合利用通信和计算机安全保密的研究成果,并将研究定综合利用通信和计算机安全保密的研究成果,并将研究定位在系统这个层次,系统内的一切成分都是研究的对象位在系统这个层次,系统内的一切成分都是研究的对象(最高层次)(最高层次) 3.1.6 计算机通信安全与保密计算机通信安全与保密27特点:加

19、密密钥和解密密钥相同(或关联)特点:加密密钥和解密密钥相同(或关联)3.2 对称加密技术对称加密技术 3.2.1 对称密钥体制对称密钥体制种类:种类:序列密码:每次只加密一个比特序列密码:每次只加密一个比特分组密码:先将信息序列分组,每次处理一个组分组密码:先将信息序列分组,每次处理一个组 典型的对称密码体制的发展趋势将以典型的对称密码体制的发展趋势将以分组分组密码密码为重点。为重点。28替代密码:明文中的每一个字符被替换成密文中的另替代密码:明文中的每一个字符被替换成密文中的另外一个字符。接收者对密文进行逆替换就能恢复出明外一个字符。接收者对密文进行逆替换就能恢复出明文来。文来。 简单替代密

20、码:明文的一个字符用相应的一个密文字符代替。简单替代密码:明文的一个字符用相应的一个密文字符代替。多明码替代密码:它与简单替代密码系统相似,唯一的不同多明码替代密码:它与简单替代密码系统相似,唯一的不同是单个字符明文可以映射成密文的几个字符之一。是单个字符明文可以映射成密文的几个字符之一。多字母替代密码:字符块被成组加密多字母替代密码:字符块被成组加密多表替代密码:由多个简单的替代密码构成多表替代密码:由多个简单的替代密码构成换位密码:加密方法不隐藏原明文中的字符,它所做换位密码:加密方法不隐藏原明文中的字符,它所做的只是按照一定的密钥将明文中的字符的顺序打乱,的只是按照一定的密钥将明文中的字

21、符的顺序打乱,从而达到保密的效果。从而达到保密的效果。 典型的对称密码技术典型的对称密码技术替代密码和换位密码替代密码和换位密码29纵行换位密码的换位密码纵行换位密码的换位密码 明文:密码学的知识对于提高网络数据传输的安明文:密码学的知识对于提高网络数据传输的安全性有着不可估量的作用全性有着不可估量的作用密密 码码 学学 的的 知知 识识对对 于于 提提 高高 网网 络络数数 据据 传传 输输 的的 安安全全 性性 有有 着着 不不 可可估估 量量 的的 作作 用用 密文:密对数全估码于据性量学提传有的的高输着密文:密对数全估码于据性量学提传有的的高输着作知网的不用识络安可作知网的不用识络安可

22、 301、DES加密算法加密算法定义:定义:DES 全称为全称为Data Encryption Standard即数即数据加密算法,它是据加密算法,它是IBM公司于公司于1975年研究成功并公年研究成功并公开发表的,开发表的,1977年,美国把年,美国把DES用于国家非保密机用于国家非保密机关。关。DES是一种采用传统加密方法的是一种采用传统加密方法的分组密码分组密码。它的算。它的算法是对称的,既可用于加密又可用于解密。法是对称的,既可用于加密又可用于解密。基本思想:基本思想:DES对对64比特二进制数据加密,产生比特二进制数据加密,产生64比特等长的密文数据。使用的密钥为比特等长的密文数据。

23、使用的密钥为64比特,实际比特,实际密钥长度为密钥长度为56比特(有比特(有8比特用于奇偶校验)。比特用于奇偶校验)。 3.2.2 典型的对称加密算法典型的对称加密算法312、IDEA算法算法 IDEA(International Data Encryption Algorithm),即),即“国际数据加密算法国际数据加密算法”。 IDEA采用基于采用基于“相异代数群上的混合运算相异代数群上的混合运算”的设计思想,的设计思想,其算法的明、密文组位长度为其算法的明、密文组位长度为64位,密钥长度为位,密钥长度为128位。位。3、FEAL-8密码密码 FEAL密码算法家族是日本密码算法家族是日本N

24、TT(日本电报电话公司)设(日本电报电话公司)设计的。密钥组位长度为计的。密钥组位长度为64比特,明、密文组位长度为比特,明、密文组位长度为64比比特。作为一种分组密码,与特。作为一种分组密码,与DES相比,其增加了每一轮迭相比,其增加了每一轮迭代的算法强度,因此可以通过减少迭代次数而提高运算速代的算法强度,因此可以通过减少迭代次数而提高运算速度。度。3.2.2 典型的对称加密算法典型的对称加密算法324、LOKI算法算法 LOKI算法作为算法作为DES的一种潜在替代算法于的一种潜在替代算法于1990年在密码年在密码学界首次亮相。学界首次亮相。LOKI以以64位二进制分组加密数据,也使位二进制

25、分组加密数据,也使用用64位密钥(只是其中无奇偶校验位),所有位密钥(只是其中无奇偶校验位),所有64位均为密位均为密钥,迭代次数为钥,迭代次数为16。5、Khufu和和Khafre算法算法1990年由默克尔设计的这对算法具有较长的密钥,适合于年由默克尔设计的这对算法具有较长的密钥,适合于软件实现,比较安全可靠。软件实现,比较安全可靠。Khufu算法的总体设计类似于算法的总体设计类似于DES,明、密文组位长度为,明、密文组位长度为64位,只是拥有位,只是拥有512位(位(64字字节)的密钥。节)的密钥。3.2.2 典型的对称加密算法典型的对称加密算法33算法流程算法流程DES算法大致可以分成四

26、个部分:算法大致可以分成四个部分:初始置换初始置换DES算法的入口参数算法的入口参数Key:为:为8个字节共个字节共64位,是位,是DES算法的工作密钥;算法的工作密钥;Data:为:为8个字节共个字节共64位,是要被加密或被解密的数据;位,是要被加密或被解密的数据;Mode:为:为DES的工作方式,有两种:加密或解密。的工作方式,有两种:加密或解密。迭代过程迭代过程逆置换逆置换子密钥生成子密钥生成DES算法安全性算法安全性对对DES的攻击的攻击穷举搜索法:穷举搜索法:56位长的密钥的穷举空间为位长的密钥的穷举空间为256。差分密码分析法:差分密码分析法: 搜索空间为搜索空间为247个密文对。

27、个密文对。线性密码分析法:线性密码分析法: 搜索空间为搜索空间为243个密文对。个密文对。3.2.3 数据加密标准数据加密标准DES分析分析 34DES加(解)密过程加(解)密过程输入输入64比特明文数据比特明文数据初始置换初始置换IP在密钥控制下在密钥控制下16轮迭代轮迭代初始逆置换初始逆置换IP-1输出输出64比特密文数据比特密文数据交换左右交换左右32比特比特 35主流程图主流程图初始置换初始置换IPL0(32bit)R0(32bit)L1=R0R1=L0 xor f(R0,k1)L15=R14R15=L14 xor f(R14,k15)L16=R15R16=L15 xor f(R15,

28、k16)f+f+k1k16逆置换逆置换IP-1密文输出(密文输出(64bit)36DES算法一般描述算法一般描述 64bits plain text 56bits key初始置换IP第1轮置换选择1循环左移置换选择2K1第2轮置换选择2循环左移K2第16轮K16置换选择2循环左移32bits 对换逆初始置换IP164bits cipher text48bits37DES的一轮迭代的一轮迭代S盒替代38对对DES攻击结果及其启示攻击结果及其启示1997年年1月月28日美国日美国RSA数据安全公司悬赏数据安全公司悬赏“秘密秘密密钥挑战密钥挑战”竞赛竞赛1997年年3月月13日日Rocke Vers

29、er设计一个攻击程序设计一个攻击程序(DESCHALL),参加的志愿者有),参加的志愿者有78516个,第个,第96天(天(6月月17日晚日晚10:39)Michael Sanders破译成功,获破译成功,获1万美圆奖金。万美圆奖金。搜索量为搜索量为24.6%。39密钥长度(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年40DESk1DESDESk2k3pC3.2.

30、3 数据加密标准数据加密标准DES分析分析 多重多重DES二重二重DES算法算法三重三重DES算法算法413.3 非对称加密技术非对称加密技术 在公钥密码中,收信方和发信方使用的密钥在公钥密码中,收信方和发信方使用的密钥互不互不相同相同,而且几乎不可能由加密密钥推导出解密密钥。,而且几乎不可能由加密密钥推导出解密密钥。1、非对称密钥技术、非对称密钥技术 非对称密钥体制,即非对称密钥体制,即“公开密钥体制公开密钥体制”,其中加,其中加密密钥不同于解密密钥,加密密钥公之于众,谁都可密密钥不同于解密密钥,加密密钥公之于众,谁都可以用,解密密钥只有解密人自己知道,分别称为以用,解密密钥只有解密人自己知

31、道,分别称为“公公开密钥开密钥(公钥公钥)”和和“私密密钥私密密钥(私钥私钥)”。3.3.1 非对称密钥体制非对称密钥体制42用公钥密码体制进行数据传输的实例用公钥密码体制进行数据传输的实例 433.3.1 非对称密钥体制非对称密钥体制基本概念基本概念A加密加密明文明文B的公钥的公钥密文密文B解密解密B的私钥的私钥明文明文加密模型加密模型A加密加密明文明文A的私钥的私钥密文密文B解密解密A的公钥的公钥明文明文认证模型认证模型442、计算速度、计算速度 公开密钥方案较对称密钥方案处理公开密钥方案较对称密钥方案处理速度慢速度慢,因此,因此,通常把公开密钥与专用密钥技术结合起来实现最佳性通常把公开密

32、钥与专用密钥技术结合起来实现最佳性能。即用公开密钥技术在通信双方之间传送对称密钥,能。即用公开密钥技术在通信双方之间传送对称密钥,而用对称密钥来对实际传输的数据加密解密。另外,而用对称密钥来对实际传输的数据加密解密。另外,公钥加密也用来对对称密钥进行加密。公钥加密也用来对对称密钥进行加密。 算法的运算速度限制了一些公开密钥算法的实用算法的运算速度限制了一些公开密钥算法的实用性。性。3.3.1 非对称密钥体制非对称密钥体制453、公开密钥算法特点、公开密钥算法特点公开密钥最主要的特点就是加密和解密使用不同的密钥。公开密钥最主要的特点就是加密和解密使用不同的密钥。公开密钥公开密钥PK:用作加密密钥

33、;:用作加密密钥;秘密密钥秘密密钥SK:用作解密密钥。:用作解密密钥。公开密钥算法的特点如下:公开密钥算法的特点如下:(1)用加密密钥)用加密密钥PK对明文对明文x加密后,再用加密后,再用SK解密,即可恢复出明文,或写解密,即可恢复出明文,或写为:为:DSK(EPK(x)= x。(2)加密密钥不能用来解密,即:)加密密钥不能用来解密,即:DPK(EPK(x) x,在计算机上可以,在计算机上可以容易地产生成对的容易地产生成对的PK和和SK。(3)加密和解密的运算可以对调,即:)加密和解密的运算可以对调,即:EPK(DSK(x)= x。(4)从已知的)从已知的PK实际上不能推导出实际上不能推导出S

34、K,即从,即从PK到到SK是是“计算上是不可能计算上是不可能的的”。3.3.1 非对称密钥体制非对称密钥体制463.3.2 典型的非对称加密算法典型的非对称加密算法 1、 RSA算法算法 RSA的名字来自于它的创建者的名字来自于它的创建者 Ronald Rivest,Adi Shamir以及以及Leonard Adleman。它是众所周知。它是众所周知的非对称公钥系统的典型代表,已被的非对称公钥系统的典型代表,已被ISO/TC97的数的数据加密技术分委员会据加密技术分委员会SC20推荐为公开密钥数据加密推荐为公开密钥数据加密标准。标准。 RSA使用两个密钥,一个公共密钥,一个专用使用两个密钥,

35、一个公共密钥,一个专用密钥。如果用其中一个加密,则可用另一个解密,密钥。如果用其中一个加密,则可用另一个解密,密钥长度从密钥长度从40到到2048bit可变,加密时把明文分成块,可变,加密时把明文分成块,块的大小可变,但块的大小可变,但不能超过密钥的长度不能超过密钥的长度,RSA算法算法把每一块明文转化为与密钥长度相同的密文块。把每一块明文转化为与密钥长度相同的密文块。472、D-H算法算法 该算法基于有限乘法群的离散对数问题。该算法基于有限乘法群的离散对数问题。3、椭圆曲线算法、椭圆曲线算法 1985年年Koblitz和和Miller提出利用椭圆曲线上的点提出利用椭圆曲线上的点构成的构成的a

36、belian加法群构造离散对数问题。加法群构造离散对数问题。 现有的攻击算法表明该算法的复杂性与现有的攻击算法表明该算法的复杂性与D-H算法算法相同,且运算位数远小于相同,且运算位数远小于D-H算法的运算位数,其加算法的运算位数,其加法运算很容易用计算机的硬件和软件实现,特别是基法运算很容易用计算机的硬件和软件实现,特别是基于于GF(2n)的椭圆曲线。)的椭圆曲线。 3.3.2 典型的非对称加密算法典型的非对称加密算法483.3.3 RSA加密算法加密算法 1、RSA公开密钥系统算法公开密钥系统算法RSA:发明者:发明者:Rivest、Shamir、Adleman用途:数字签名、身份认证用途:

37、数字签名、身份认证基本思想:大整数的素数因子分解基本思想:大整数的素数因子分解安全性:攻破安全性:攻破RSA算法不会比大数分解问题更难。算法不会比大数分解问题更难。密钥互换性:加密和解密密钥可互换密钥互换性:加密和解密密钥可互换缺点:计算速度比较慢缺点:计算速度比较慢493.3.3 RSA加密算法加密算法 (1) RSA算法原理和步骤:算法原理和步骤:1、任意选择两个大素数、任意选择两个大素数p、q,使得,使得n=pq2、计算、计算Euler 函数函数 (n)=(p-1)(q-1)3、任意选择一个与、任意选择一个与(n)互素的小整数互素的小整数e作为加密密钥作为加密密钥4、根据、根据e求解解密

38、密钥求解解密密钥d,d满足满足 de=1mod (n)5、明文、明文m数字化,分组长度不能超过数字化,分组长度不能超过logn,确保每个明文分,确保每个明文分组值不超过组值不超过n。6、加密过程:、加密过程:c=E(m)=me mod n 7、解密过程:、解密过程:m=D(c)=cd mod n50RSA算法概要 公公 钥钥n:两素数:两素数p和和q的乘积(的乘积(p和和q必须保密)必须保密)e:与(:与(p1)()(q1)互素)互素私私 钥钥d = e1(mod(p1)()(q1)加加 密密c = me mod n解解 密密m = cd mod n 513.3.3 RSA加密算法举例加密算法

39、举例 p = 47,q = 71,那么,那么n = pq = 3337 加密密钥加密密钥e与(与(p1)()(q1) = 46 * 70 =3220没有没有公因子。随机选取公因子。随机选取e,如,如79 d = 791mod 3220 = 1019 加密消息加密消息 m = 6882326879666683 按三位数字一个分组进行分组按三位数字一个分组进行分组 第一分组加密为:第一分组加密为: 68879 mod 3337 = 1570 = c1 加密后的密文为:加密后的密文为:c = 1570 2756 2714 2276 2423 158 解密消息时需要用解密密钥解密消息时需要用解密密钥1

40、019进行指数运算:进行指数运算: 15701019(mod 3337) = 688 = m1 522、RSA算法的实现算法的实现 RSA可以用可以用硬件硬件和和软件软件实现。实现。3.3.3 RSA加密算法加密算法 533、RSA的安全强度的安全强度 RSA的安全性依赖于大数的因子分解。的安全性依赖于大数的因子分解。 RSA算法之所以具有一定的安全性,是基于数论中的一算法之所以具有一定的安全性,是基于数论中的一个事实:即将两个大的质数合成一个大数很容易,而相反过个事实:即将两个大的质数合成一个大数很容易,而相反过程则非常困难。程则非常困难。 RSA算法的保密强度,随其密钥的长度增加而增强。但

41、是,算法的保密强度,随其密钥的长度增加而增强。但是,密钥越长,其加解密所耗的时间也越长。密钥越长,其加解密所耗的时间也越长。3.3.3 RSA加密算法加密算法 54每个合数都可以唯一地分解出素数因子每个合数都可以唯一地分解出素数因子6 = 2 3999999 = 333711133727641 = 131121从从2 开始试验每一个小于等于开始试验每一个小于等于27641 的素数。的素数。整数整数n的十进制位数的十进制位数 因子分解的运算次数因子分解的运算次数 所需计算时间(每微秒一次)所需计算时间(每微秒一次)501.4x10103.9小时小时759.0 x1012104天天1002.3x1

42、01574年年2001.2x10233.8x109年年3001.5x10294.0 x1015年年5001.3x10394.2x1025年年3.3.3 RSA加密算法加密算法 555、RSA的实用性的实用性 RSA有其自身的局限性,主要表现在:有其自身的局限性,主要表现在:产生密钥很麻烦,受到素数产生技术的限制,因而产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。难以做到一次一密。分组长度太大,为保证安全性,分组长度太大,为保证安全性,n至少也要至少也要600比特比特以上,使运算代价很高,尤其是速度较慢,较对称以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级。密码

43、算法慢几个数量级。随着大数分解技术的发展,这个长度还在增加,不随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。利于数据格式的标准化。3.3.3 RSA加密算法加密算法 56对称密码技术和非对称密码技术的比较对称密码技术和非对称密码技术的比较 对对 称称 密密 码码 技技 术术非非 对对 称称 密密 码码 技技 术术密码个数密码个数1个个2个个算法速度算法速度较快较快较慢较慢算法对称性算法对称性对称,解密密钥可以从加密密钥对称,解密密钥可以从加密密钥中推算出来中推算出来不对称,解密密钥不能从加密不对称,解密密钥不能从加密密钥中推算出来密钥中推算出来主要应用领域主要应用领域数据的

44、加密和解密数据的加密和解密对数据进行数字签名、确认、对数据进行数字签名、确认、鉴定、密钥管理和数字封装等鉴定、密钥管理和数字封装等典型算法实例典型算法实例DES、Triple-DES、RC2、RC4、IDEA和和Skipjack等等Diffie-Hellman、RSA、椭圆曲、椭圆曲线加密等线加密等573.4 数字签名数字签名 作用:用于证实消息的真实来源,是解决一个消作用:用于证实消息的真实来源,是解决一个消息的发送者和接受者之间争端的基础。息的发送者和接受者之间争端的基础。签名方法:签名方法:对称密码:引入第三方即可信方,硬件方法。对称密码:引入第三方即可信方,硬件方法。非对称密码:真正的

45、数字签名。非对称密码:真正的数字签名。583.4.1 数字签名原理数字签名原理1、数字签名概念、数字签名概念 数字签名采用一定的数据交换协议,使得通信数字签名采用一定的数据交换协议,使得通信双方能够满足两个条件:接收方能够认证发送方所双方能够满足两个条件:接收方能够认证发送方所宣称的身份,发送方以后不能否认他发送过数据这宣称的身份,发送方以后不能否认他发送过数据这一事实。一事实。这不是我这不是我发的发的!我没有收我没有收到到文件文件592、数字签名的一般原理、数字签名的一般原理 基本的数字签名方案(公钥密码体制)基本的数字签名方案(公钥密码体制)3.4.1 数字签名原理数字签名原理发送方发送方

46、A A接收方接收方B B 网网 络络用发送方用发送方A A的公的公匙解密匙解密用发送方用发送方A A的私的私匙加密匙加密603、报文摘要签名、报文摘要签名摘要产生附件比较消息+附件期望摘要解密附件消息私钥公钥消息摘要3.4.1 数字签名原理数字签名原理SHASHA61数字签名原理数字签名原理签名过程签名过程 验证过程验证过程623.4.2 DSS数字签名(自学)数字签名(自学) DSS是建议的数字签名标准,它指定了一种数字签名算法是建议的数字签名标准,它指定了一种数字签名算法DSA。 DSS签名利用一个散列(哈希)函数产生消息的一个散列值,散列值连签名利用一个散列(哈希)函数产生消息的一个散列

47、值,散列值连同一个随机数同一个随机数k一起作为签名函数的输入,签名函数还需要使用发送方的私一起作为签名函数的输入,签名函数还需要使用发送方的私钥钥SKA和供所有用户使用的全局公钥和供所有用户使用的全局公钥PKG。签名函数的两个输出。签名函数的两个输出s和和r就构成就构成了消息的签名(了消息的签名(s,r)。接收方收到消息后再产生出消息的散列值,将散列)。接收方收到消息后再产生出消息的散列值,将散列值与收到的签名一起输入验证函数,验证函数还需输入全局公钥值与收到的签名一起输入验证函数,验证函数还需输入全局公钥PKG和发送和发送方的公钥方的公钥PKA。验证函数的输出如果与收到的签名成分。验证函数的

48、输出如果与收到的签名成分r相等,则验证了签相等,则验证了签名是有效的。名是有效的。 DSS使用了使用了Securure Hash运算法则,用该法则对信息处理,可以得到一运算法则,用该法则对信息处理,可以得到一个个160位(位(bit)的数字,把这个数字与信息的密钥以某种方式组合起来,从)的数字,把这个数字与信息的密钥以某种方式组合起来,从而得到数字签名。而得到数字签名。633.4.2 DSS数字签名数字签名数字签名算法数字签名算法DSA1、安全性:求离散对数非常困难、安全性:求离散对数非常困难2、算法描述、算法描述1)全局公钥)全局公钥p:满足满足L bits长的大素数,其中长的大素数,其中5

49、12L1024,L是是64的的倍数倍数q:是是p-1的的160bits长的素因子长的素因子g: g=h(p-1)/q mod p 其中其中h是满足是满足1h1的任一整数。的任一整数。643.4.2 DSS数字签名数字签名2)用户私钥)用户私钥x x是满足是满足0 xq的随机数的随机数3)用户公钥()用户公钥(p,q,g,y) y=gx mod p4) 用户为待签名消息选取的秘密数字用户为待签名消息选取的秘密数字k k是满足是满足1kq的随机数的随机数5)签字过程)签字过程 用户对消息用户对消息M 的签字为(的签字为(r,s) r=(gk mod p) mod q s=k-1 (H(M)+xr)

50、mod q H(M)是是SHA(Secure Hash Algorithm)算出的值算出的值653.4.2 DSS数字签名数字签名6)验证过程)验证过程 设接受方收到的消息为设接受方收到的消息为M签字为(签字为(r s) w=(s) -1mod q u1= H(M)*wmod q u2=(r*w) mod q v=(gu1 *yu2)mod pmod q 如果如果v=r则认为签字有效。则认为签字有效。663.4.3 其他数字签名方法其他数字签名方法1、离散对数签名体制、离散对数签名体制 ElGamal、DSA、Okamoto等签名体制都可以等签名体制都可以归结为离散对数签名体制的特例。归结为离

51、散对数签名体制的特例。2、ElGamal签名体制签名体制3、Schnorr签名体制签名体制4、Neberg-Rueppel签名体制签名体制67数字签名的实施方案(实例)数字签名的实施方案(实例) 图图 数字签名印章实现过程数字签名印章实现过程683.5 密钥管理密钥管理 在安全系统中,选定了加密算法之后,密钥的管理对保在安全系统中,选定了加密算法之后,密钥的管理对保证系统的安全性,发挥密码的安全作用是至关重要的。证系统的安全性,发挥密码的安全作用是至关重要的。693.5.1 产生密钥产生密钥1、密钥产生的基本原则、密钥产生的基本原则(1)增加密钥空间)增加密钥空间(2)避免选择具有明显特征的密

52、钥)避免选择具有明显特征的密钥(3)随机密钥)随机密钥(4)变换密钥)变换密钥(5)非线性密钥)非线性密钥702、X9.17密钥产生密钥产生 ANSI X9.17标准规定了一种密钥产生方法标准规定了一种密钥产生方法,它并不它并不产生容易记忆的密钥,而更适合在一个系统中产生会产生容易记忆的密钥,而更适合在一个系统中产生会话密钥或伪随机数。用来产生密钥的加密算法是三重话密钥或伪随机数。用来产生密钥的加密算法是三重DES,它就像其他算法一样容易实现。,它就像其他算法一样容易实现。 X9.17标准描述了两种密钥:标准描述了两种密钥:密钥加密密钥:用于加密其他需要分发的密钥密钥加密密钥:用于加密其他需要

53、分发的密钥数据密钥:只对信息序列进行加密数据密钥:只对信息序列进行加密3.5.1 产生密钥产生密钥713.5.2 传输密钥传输密钥密钥加密的密钥必须进行手工分发(尽管也可在密钥加密的密钥必须进行手工分发(尽管也可在一个防窜改设备里安全进行,如智能卡)。数据密一个防窜改设备里安全进行,如智能卡)。数据密钥的分发更加频繁,密钥分发中用到了这两种密钥钥的分发更加频繁,密钥分发中用到了这两种密钥的概念。的概念。密钥加密密钥密钥加密密钥数据密钥数据密钥对密钥分发问题的另一个解决方法是将密钥分成对密钥分发问题的另一个解决方法是将密钥分成许多不同的部分然后用不同的信道发送出去。许多不同的部分然后用不同的信道发送出去。另外,智能卡可以作为一个密钥载体,进行密钥另外,智能卡可以作为一个密钥载体,进行密钥的传输。的传输。723.5.3 验证密钥验证密钥在实际使用中,要解决密钥在传输中发生错误的在实际使用中,要解决密钥在传输中发生错误的问题。所有的密钥必须附着一些检错和纠

温馨提示

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

评论

0/150

提交评论