(计算机软件与理论专业论文)webmail中的邮件加密和数字签名.pdf_第1页
(计算机软件与理论专业论文)webmail中的邮件加密和数字签名.pdf_第2页
(计算机软件与理论专业论文)webmail中的邮件加密和数字签名.pdf_第3页
(计算机软件与理论专业论文)webmail中的邮件加密和数字签名.pdf_第4页
(计算机软件与理论专业论文)webmail中的邮件加密和数字签名.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

w e b m a i l 中的邮件加密和数字签名 专业:计算机软件与理论 硕士生签字:许爽许睫 指导教师签字: 矿抄 摘要 椭圆曲线加密系统( e c c ) 是迄今为止每比特具有最高安全强度的密码系 统。同其它非对称加密体制相比,椭圆曲线密码系统除了安全性高外,还具有计 算负载小,密钥尺寸短,占用带宽少等优点,因此,椭圆曲线密码系统被认为是 下一代最通用的公钥密码系统。 电子邮件是在i n t e r n e t 上提供的最广泛的服务之一,也是近年成长最迅 速的网络应用之一。由于其广泛的应用,已经形成了一个完整的应用标准体系。 从电子邮件的发展趋势来看,一个优良的电子邮件系统必须具备大容量、高效率、 分布式、跨平台、支持w c b m a i l 和良好的安全性能。 本文从加密学的原理出发,对椭圆曲线加密体制进行研究分析,并按照数字 签名的过程,对椭圆曲线加密算法进行改进。然后,采用混合加密算法,提出了 一个用于电子邮件的基于w e b 的数字签名与加密应用系统,阐明了具体的工作 原理,并详细地阐述其具体的工作方式。对椭圆曲线加密算法、公钥服务和数字 签名这三个主要组成部分进行讨论。讨论涉及其内部的工作原理、具体工作流程、 以及系统功能框架。 通过对整个系统的开发研究,得到结论:在w 曲m a i l 上的数字签名与加密 应用系统,保证了电予邮件的安全性,使用户在使用中获得良好的操作性和极大 的方便。 关键词:椭圆曲线;公钥;加密:数字签名; e n c r y p t i o na n dd i g i t a ls i g n a t u r eb a s e do nw e b m a i l 渊滁ie ? s i i 雕n i rs j 霉n 咖阳: ,屯心 1 c p “ a b s 砸t 1 r b e e l f i p f i c c u r v ec r y p t o s y s t e m p r o v i d e st h e h i g h e s ts t r e n g t h * p e r - b i to fa n y c r y p t o s y s t e mk n o w n i na d d i t i o nt oi t sh i g hs e c u r i t y ,e c ca l s oh a sm a n yo t h e rm e r i t s - s u c h8 8l e s s c o m p u t a t i o no v e r h e a d ss h m _ t e rk e ys i z e ,c o n s i d e r a b l eb a n d w i d t hs s v i n g s ,a n ds oo n 儿o ft h e s e m e r i t sh a v em a d ei tb e c o m et h eb e s tp u b f i c - k e yc t t p t o s y s t e mt h a ti ss u i t a b l ef o ru i nt h ef u t u r e e - m a i li sn o to n l yt h eo n eo fm o s te x t e n s i v es e r v i c e sp r o v i d e di ni n t e r n e t , b u ta l s ot h e o n eo fm o s tr a p i dd e v e l o p e dn e t w o r ka p p l i c a t i o n s a si tw i d eu s e d ,ag r o u po fs t a n d a r df o re - m a i l h a sb e e ne s t a b l i s h e d i nt h ed i l e 商o nf o rt h ef u t u r e ,t h ee x c e l l e n te m a i ls y s t e ms h o u l db e o f h i g h - c a p s c i t y ,h i g h - e f f i c i e n c y , h i g h - s o e n r i t y a n ds h o u l d s u p p o r tw c b m a i l ,d i s t r i b u t e d o p e r a t i n g 。c r o s s - p l a t f o r m f r o mt h ep r i n c i p l eo fc j r y p t o g r u p h y , t h i sd i s s e r t a t i o nd i s c u s s c st h ee l l i p t i ca 3 r v ee n c r y p f i o n s y s t e m c o m p l y i n gw i 也t h ep r o e e s s o fd i g i 山s i g n a t u r e t h ea u t h o ri m p r o v e dt h em e t h o do fe l l i p t i c a t l v cc n a y p t i o ua t g o r i t h m t h e n ,u s e st h em i x - e n c r y 曲o na l g o r i t h m , t h ea u t h o r p r o p o s e da n e n c r y p t i o na n dd i g i u as i g n a t u r es y s t e mb a s e do nw 西糊a c c o r d i n gt oe x p e r i m e n t a ls y s t e m t h eo p e r a t i o n a lp r i n c i p l ea n dm o d ei si l i n s u m t e d e l l i p * i cc u r v ee l l c r y p l l o ua l g o r i t h m ,p u b l i c - k e y s e r v i c e a n dd i g i t a ls i g na t ed i s c u s s e di n t e n s i v e t yi nt h i sd i s s e r t a t i o n t h ed i s c u s s i o nf o c u so n i n n e rw o r kp r i n c i p l e ,t e c h n o l o g i c a lp r o c e s si nd e t a i l s , a n ds y s t e mu t i l i t yf r a m e t h r o u g ht h ed e v e l o p m e n ta n dd i s c u s s i o n c o n c l u s i o ni sd r a w n :e n c r y p t i o na n dd i g i t a l s i g n a t u r es y s t e mb a s e do nw e b m a f ik e e p st h es e c u r i t yo fe - m a l la n di m p r o v e so p e r a b i l i t yf o r u s e l k e yw o r d :e l l i p s ec u r v e ;p u b l i c - k e y ;e n c r y p t i o n d i g i t a ls i g n a t u r e 1 绪论 1 1 课题研究的背景及意义 1 绪论 随着计算机网络的飞速发展,电子邮件作为一种通信方式逐渐普及。无论是在人 们的日常生活还是在企业内部人员或企业之间的交流中,电子邮件都发挥着重要的作 用。同时,随着电子商务的不断发展,传统的手写签名或印章方法已经不能适应社会 的需求。在许多通信系统中,如电子邮件、电子转账、办公自动化等系统,数字签名 取代了手写签名或印章方法。随着用户的增多和使用范围的逐渐扩大,保证邮件本身 的安全以及电子邮件对系统安全性的影响越来越重要。 因此,电子邮件系统的安全问题日益重要。不安全的电子邮件系统会给电子政务、 电子商务和电子公文带来致命的损失。研究适用于电子商务、电子公文运行机制的安 全数字签名算法、身份识别系统是增强电子邮件安全性的一个有效办法。 1 2 电子邮件的安全性问题 电子邮件在i n t e r n e t 上的传输是从一个机器传输到另一个机器。在这种方式下, 电子邮件所经过网路上的任一系统管理员或黑客都有可能截获和更改该邮件i l 引,甚 至伪造某人的电子邮件。与传统邮政系统相比,电子邮件与密封邮寄的信件并不相像, 而与明信片更为相似。因此电子邮件本身的安全性是以邮件经过的网络系统的安全性 和管理人员的诚实、对信息的漠不关心为基础的。而比明信片还要糟糕的是,电子邮 件的发信人根本不知道一封由b 件是经过了哪些中转站才到达了目的地,它实际上有可 能经过了学校、政府机关、竞争对手建立的任何网站。 总之,电子邮件的不安全性有以下几点: 1 电子邮件在i n t e m e t 上没有任何保密措施,电子邮件从一个网络传到另一个网 络,最终达到目的网络,整个过程中电子邮件都是不加密的可读文件,用户的电子邮 件有可能被人偷窥甚至篡改。使用电子邮件来传输重要机密和商业价值信息:如商务 计划、合同、帐单等存在极大的危险。 2 他人可轻易地使用冒用的电子邮件地址发送电子邮件,伪造身份从事网上活 动。 3 由于网络软件的故障或者发件人的一时疏忽,导致邮件误投给陌生人或不希望 发的人,其结果令人尴尬。由于有信封的缘故,误投的普通信件通常可能完好的退回, 而电子邮件则不同,收件人往往在阅读了信件内容后才意识到邮件误投迷失的电子 邮件不仅让人难堪,而且可能泄露及其重要的商业或技术信息。 因此,如何实现f m a i l 信息的保密性、数据交换的完整性、发送信息的不可否认 西安工业大学硕士学位论文 性、发信者身份的确认性是人们日益关注的问题。 1 3 电子邮件安全性问题的解决方案 对于传统的通过邮政系统传送的邮件,国家可以制定相关的法律保护邮件中传输 内容不受侵犯【州对电子邮件而言,邮件内容的安全取决于邮件服务器的安全、邮件 传输网络的安全以及邮件接收系统的安全。 ( 1 ) 对邮件服务器的安全,可以加设防火墙软件来控制用户对服务器的访问,但 这并不能从根本上解决电子邮件内容本身的安全问题。一旦服务器遭到非法攻击,入 侵者在进入服务器后,就可以顺利的窃取甚至篡改电子邮件的内容。 ( 2 ) 在电子邮件的传输过程中也存在同样的问题,在网上传送数据很可能被非法 截获。 既然无法保证这两个方面的安全,只有采用对电予邮件内容加以保护的方式来解 决电子邮件的安全性。这就是对电子邮件进行加密以及数字签名。这种邮件也统称为 安全电子邮件。 1 3 1 电子邮件在国内外的研究现状 目前国内外有不少基于电子邮件的数字签名的研究【7 1 0 】。根据人们收发电子邮 件的方式不同,相应的数字签名方案也有所不同。目前,人们收发邮件一般有2 种方 式:一种是通过客户端软件来收发电子邮件,常用的有o u t l o o ke x p r e s s , f o x m a i l 等;另外一种是登陆服务商的站点收发邮件,我们称为w e b m a i l 。 o u t l o o ke x p r e s s 为m 自带的免费软件。它的优点是功能强大,对中文支持出色, 信件管理能力强,适合于企业级用户使用。但是,o u t l o o ke x p r e s s 存在着这样一些缺 点: 1 它功能强大,是一个全球性软件。因此也是许多“病毒”的首选目标。病毒 一旦通过它大肆传播,危害将是极大的。 2 加密强度低:由于美国政府对密码产品的出口限制,出口到中国的版本采用 分组加密算法的d e s ( 6 4 位密钥) 或r c a ( 4 0 位) ,公钥加密算法的密钥也只有5 1 2 位。 而实际上按照安全要求,分组加密算法密钥长度至少应该是1 2 8 位,公钥算法的密钥 要求至少为1 0 2 4 位。 f o x m a i l 是近年来最著名、最成功的国产软件之一。它以使用简单、对中文有很 好的兼容性,支持b i g 5 ,h z 编码等特性在国内赢得了一大批的拥护者。f o x m a i l 5 0 以前版本没有数字签名加密的功能,5 0 新版已增加了这一功能。与o u t l o o k 相比, 它有以下优点: 1 在邮箱和账号管理方面,f o x m a i l 使用了流行的树型结构来管理不同账号的 邮件。 2 f o x m a i l 支持多个帐号同时收发信件。 以上两类都是基于客户端的电子邮件系统。而目前在浏览器上直接登录邮箱收发 2 西安工业大学硕士学位论文 电子邮件系统上的数字签名保密措施还比较弱。b e i l iw e b m a i l 系统是我们已开发成 功的w e b m a i l 电子公文系统。它包括通用的邮件收发功能,同时用户登录后还可以 拥有多个不同的私人账号和公有账号。它综合了两类电子邮件的优点。因此,给b e i l i w e b m a i l 系统加上数字签名功能,b e i l iw e b m a i l 的功能将会更加完善,安全性将更高。 1 3 2 密码体制的研究 密码术一直是各国非常敏感的技术,美国政府甚至把密码当武器一样看待,把密 码产品当作军火加以限制。目前大多数的密码术知识被美国掌握,美国已经拥有较完 善的网络安全技术。然而这些安全应用系统在美国使用可能漏洞很少,但是由于美国 政府对安全的出口限制,使得这些系统出口到我国后,其中的安全漏洞大大增加了。 比如目前比较流行的s s l ,h t r p s 协谢n 】照安全要求,这些协议的分组加密算法密 钥长度至少应该是1 2 8 位,公钥算法的密钥要求1 0 2 4 位,但是出口到我国后的密钥 长度远远没有达到这种要求,分组加密算法的密钥是d e s ( 6 4 位密钥) 或者r c 2 ( 4 0 位1 ,而公钥加密算法的密钥也只有5 1 2 位。因此,研究适合我们自己使用的加密算 法才能真正保证电子由5 件的安全性。 1 4 本文的工作和主要内容安排 1 4 1 本文的研究目的 一个优良的电子邮件系统必须具备大容量、高效率、分布式、跨平台和良好的安 全性能。本人的硕士研究生课题是“w e b m a i l 中的邮件加密和数字签名”。主要解决 的问题就是电子邮件的加密和数字签名。 我国的中华人民共和国电子签名法于2 0 0 5 年4 月1 日正式实施,充分说明 了国家对网络信息安全的重视,本课题针对国家对信息安全和加密技术不断加大投入 的趋势、对各种针对不同企业应用的信息安全技术不断发展的要求,拟订了如下的研 究目标: 研究和开发出应用于电子邮件的基于w e b 的数字签名与加密系统,并且要求: 系统是大容量、高速度的,并且具有良好的可扩展性。 系统具有良好的安全性。 系统全面支持w e b m a f l 功能。 系统应提供完善而强大的管理功能。 本文的研究主要分有两个部分:第一部分是对加密算法的研究和改进,第二部分 是将加密算法应用到电子邮件中的数字加密与签名中,以提高电子邮件的安全性。最 后用m i c r o s o f tv i s u a ls t u d i o n e t 完成配套软件的编写工作,将开发出一个经济、高效、 实用,高度安全的电子邮件系统,把电子邮件的应用水平提高一个层次。 1 4 2 本文工作 本文的工作是实现了一个达到商用水平的安全电子邮件公文系统的数字签名与 3 西安工业大学硕士学位论文 加密。该系统的具体功能为:支持数字证书服务并提供强大的管理功能,可直接在 w c b m a i l 中撰写或阅读经过数字签名或数字加密的安全邮件( s n a 蹦e ) 。提供军事级 别的高安全强度( 1 9 2 位3 d e s 加密或1 0 2 4 位r s a 加密,e c c 加密) 。 在提供和保障邮件的安全性方面,它可以做到: 保密性:对电子邮件进行加密,加密后的邮件只有收件人和发件人才能够阅读, 避免在i n t e r a c t 上传递的电子邮件信息被非法阅读:此外,即使发错邮件,收件人也 无法看到邮件内容。本系统可以提供达到军用绝密级的保密服务。 认证身份:发件人在发送邮件前执行数字签名,收件人在接收到邮件后可确定 发件人身份,而不是他人冒充的。 完整性:收件人通过验证发件人在传送前对电子邮件的数字签名,可以确定被 传递的电子邮件信息在传输过程中是否被人修改。 不可否认性:收件人依据电子邮件的签名信息,使发件人无法否认这封电子邮 件是由他发送,即发件人具有不可抵赖性。 1 5 本文的结构 在第二章中系统地阐述了密码学的基本原理,首先讨论传统的加密算法以及它的 优、缺点,然后详细地介绍公开密钥体制,并且对这两种方法作出比较。在第三章中 讨论了椭圆曲线数字签名算法并对其进行了改进。 在第四章中给出了本文实现的w g b m a i l 的数字签名与加密的总体设计和实现, 对其中一些重要模块( 密钥管理、加密,解密、数字签名) 的具体实现作了详细的介绍。 在第五章中对本文的所有工作进行总结,给出本文的目的与意义以及当前系统 的有待完善的地方。 4 2 常用密码体制的安全性分析 2 常用密码体制的安全性分析 本章将从密码学原理出发,简要介绍目前应用较多的加密算法,最后介绍椭圆曲 线加密以及数字签名的内部工作原理。 2 1 加密的基本工作原理 数据加密技术是为了提高信息系统及数据安全性和保密性,防止秘密数据被外部 破坏所采用的主要技术手段之一。密码通信的一般模型如图2 1 所示 图2 1 密码通信一般模型 为了保护数据在传递过程中不被别人窃听或修改,发送端须对数据( 明文p ) 进行 加密。设加密算法为e ,加密密钥为k e ,则加密后的密文为c = e k 。( p ) 。经过加密后 的密文在线路上传输,即使有人在线路上通过某种方法截获数据f 截获的是密文1 ,但 由于没有解密密钥而无法将之破译。接收方持有正确的解密密钥,因此可以将密文还 原成正确的明文,即p = d ( c ) 。这是数据加密解密技术的最基本的工作原理【1 2 】。 加密和解密过程组成加密系统。任何无论形式有多复杂的加密系统,至少包括以 下4 个组成部分: 1 、待加密的报文( 明文) ; 2 、加密后的报文( 密文) ; 3 、加密、解密装置或算法; 4 、用于加密和解密的钥匙,它可以是数字、词汇或者语句。 2 2 数字签名 数字签名的概念由w h i t f i e l dd i f f i e 和m a r t i nh e l l m a n t 于1 9 7 6 年最先提出,目的 是使签名者对电子文件也可以进行签名并且无法否认,验证者无法篡改文件。之后, 西安工业大学硕士学位论文 不同的数字签名方案先后被提出。 数字签名又称为数字签名机制或者数字签名体系,目的在于保证数据来源的可 靠性和其输入时间的不可否认性,一般由签名、数字信封结构、公钥机制等部分组成。 数字信封结构用来保证数据在传输过程中的安全。数字信封结构把待签名的数据、时 间和数字签名结合成一个不可分割的整体,以抵抗重放攻击和代换名算法攻击,确保 签名的法律效力。签名算法一般由公开密钥密码算法( r s a ,e l g a m a l ,d s a , e c d s a 等) ,对称密钥密码算法( d e s ,3 d e s 、a l e s 等) 和单向散列函数( m d 2 ,m d 4 , m d 5 或s h a 等1 构成i ”j 。 使用数字签名可在电子邮件中证实一封电子邮件的保密性、完整性、身份验证和 不可抵赖性。 保密性:对电子邮件加密,加密后的邮件只有收件人和发件人才能够阅读,避免 在i n t e r n e t 上传递的电子邮件信息被非法阅读。 完整性:收件人通过验证发件人在传送前对电子邮件的数字签名,可以确定被传 送的电子邮件信息在传送过程中是否被人修改。 身份验证:发件人在发送邮件前执行数字签名,收件人在接受到邮件后可确定发 件人身份,而不是他人冒充的。 不可抵赖性:收件人依据电子邮件的签名信息,使发件人无法否认这封电子邮 件是由他发送,即发件人具有不可抵赖性。 2 3 对称密钥密码体制 对称密钥密码体制属于传统密钥密码系统。如果一个加密系统的加密密钥和解密 密钥相同或者虽不相同,但可以由其中一个推导出另一个则称该密码体制为对称密钥 密码体制【1 4 】。对称密钥加密算法的代表是数据加密标准 d e s ( u s f e d e r a l d a t a e n c r y p t i o n s t a n d a r d ) ,另一个加密标准是国际数据加密算法( i d e a ) , 它比d e s 的加密性好,而且需要的计算机功能也不那么强i d e a 加密标准由 p g p ( p r e t t y g o o d p r i v a c y ) 系统使用。 2 3 1d e s 算法 最著名的对称密钥加密算法d e s ( d a t ae n c r y p t i o ns t a n d a r d ) 是由i b m 公司在7 0 年 代发展起来的,并经过政府的加密标准筛选后,于1 9 7 6 年1 1 月被美国政府采用, d e s 随后被美国国家标准局和美国国家标准协会( a m e r i c a n n a t i o n a ls t a n d a r di n s t i t u t e a n s i ) 承认。 d e s 属于分组加密,它用密钥对6 4 位二进制信息进行加密,将6 4 位明文加密 成6 4 位密文。在实际运算过程中,d e s 设计的6 4 位密钥只有5 6 位用于加密过程, 其它8 位用于奇偶校验位。d e s 加解密只是简单比特位处理的组合,因此速度快, 密钥生成容易。其主要缺点:一是密钥长度太短,随着硬件技术的飞速发展,采用对 所有密钥的遍历搜索,搜索的时间会进一步缩短,d e s 的安全性受到严重的威胁; 6 西安工业大学硕士学位论文 二是当用户数n 增大时,通信密钥数按n ( n 一1 ) 2 的几何级数增加,从而给密钥分配与 管理带来困难:三是由于d e s 算法公开,其安全性完全依赖于对密钥的保护。因此, 必须使用秘密的方式交换密钥。所以d e s 不适合在计算机中单独使用。 2 3 2 三重d e s 算法 因为确定一种新的加密法是否真的安全是极为困难的,而且d e s 的唯一密码学 缺点,就是密钥长度相对比较短,所以人们并没有放弃使用d e s ,而是想出了一个 解决其长度问题的方法,即采用三重d e s 。使用两把密钥对报文作三次d e s 加密, 其效果相当于将d e s 密钥长度加倍。这种方法的缺点,是要花费原来三倍时间,从 另一方面来看,三重d e s 的1 6 8 位密钥长度是很“强壮”的加密方式了。 2 3 3 i d f a 算法 i d e a ( i n t e r n a t i o n a ld a t ae n c r y p t i o na l g o r i t h m ,国际数据加密算法1 是一种对称的 分组加密【1 5 1 ,是在1 9 9 1 年由瑞士联邦技术协会( s w i s sf e d e r a li n s t i t u t eo f t e c h n o l o g y ) 的x u e j i al a i 和j a m sm a s s e y 开发出来的。i d e a 使用1 2 8 比特密钥。i d e a 与d e s 的明显区别在于循环函数和子密钥生成函数的不同。对循环函数来说,i d e a 依赖于 3 种不同的数学运算:x o r ,1 6 位整数的二进制加法、1 6 位整数的二进制乘法。这 些函数结合起来产生复杂的转换,这些转换很难分析,因此也很难进行密码分析。子 密钥生成算法完全依赖于循环移位的使用,但使用方式复杂,对i d e a 的8 个循环中 的每一个循环都会产生6 个子密钥。由于i d e a 是d e s 最早的1 2 8 位比特替换的一 个,所以己经经历了大薰的详细审查,对密码分析具有很强的抵抗力。 2 3 4 传统加密方法的优点和缺点 传统加密方法以其算法简便高效,密钥简短,但是因为它们的加密密钥和解密密 钥相同,容易破译,使系统变得不安全。传统加密方法存在着如下明显的问题: ( 1 ) 密钥分布问题。如上所述,传送信息的双方在不安全的信道上交流之前,需要 预先选定某一秘密密钥。在某些情况下,选用秘密密钥的秘密信道不存在。 ( 2 ) 密钥管理问题。对于有n 个网络用户的网络系统来讲,每一对用户之间存在着 一个秘密密钥,总共需要n ( n 1 ) 2 个秘密密钥。如果系统比较大的话,密钥则会因为 变得太大而不容易管理。 ( 3 ) 难以实现数字签名。数字签名是手写体的电子信号,它可以使信息的收到方向 第三者确认该条信息是从发送者传送来的。在一个私钥密码系统中,a 和b 双方具 有相同的加密和解密能力,也就是说b 无法向第三方证明来自a 的信息确实是由a 发出的。 由于传统加密方法的局限性,所以对于普通计算机用户而言采用这种方式只适 于对自己知道密钥的文件加密,不适合用户日常与他人的秘密通信。 7 西安工业大学硕士学位论文 2 4 散列算法 散列算法,又称哈希算法或摘要算法【1 6 】。加密解决的是信息的保密,散列算法能 保证信息数据的完整性。散列算法能够确保:接收到的信息同发送的消息是一致的, 其在网络传输过程中没有被攻击者插入、篡改、重排等。 散列算法是一种将任意长度的消息压缩为某一固定长度的消息摘要。形成数字式 指纹,即用一小段数据来识别大的数据对象。原始信息的长度可以很大,但结果总是 相同长度。 散列算法函数是一类符合特殊要求的散列函数( h a s h ) 函数,这些特殊要求是: 接受的输入报文数据没有长度限制: 对任何输入报文数据生成固定长度的摘要( 一数字指纹”) 输出; 由报文能方便地算出摘要; 难以对指定的摘要生成一个报文,由该报文可以得出指定的摘要; 难以生成两个不同的报文具有相同的摘要。 目前己经设计出来大量的散列函数,例如r a b i nh a s h 方案,m e r l d eh a s h 方案, n - h a s h 方案,m d 4 算法,m d 5 算法,s h a 系列算法等。其中m d 5 和s h a - 1 算法 应用最为广泛。 2 5 公开密钥密码体制 公钥密码体制是现代密码学的最重要的发明和进展。一般理解密码学就是保护信 息传递的机密性。但这仅仅是当今密码学主题的一个方面。对信息发送与接收人的真 实身份的验证、对所发出接收信息在事后的不可抵赖以及保障数据的完整性是现代 密码学主题的另一方面。公钥密码体制对这两方面的问题都给出了出色的解答,并正 在继续产生许多新的思想和方案。 2 5 1 基本概念 公开密钥密码体制最主要的特点就是加密和解密使用不同的密钥。采用公开密钥 密码体制的每一个用户都有一对选定的密钥,其中加密密钥不同于解密密钥,加密密 钥公之于众,解密密钥只有解密人知道,分别称为“公开密钥”( p u b l i c k e y ) 和“私密 密钥”( p f i v a t e - k e y ) 。这两个密钥之间存在着相互依存关系:即用其中任一个密钥加 密的信息只能用另一个密钥进行解密。若以公钥作为加密密钥。以用户专用密钥( 私 钥) 作为解密密钥,则可实现多个用户加密的信息只能由一个用户解读;反之,以用 户私钥作为加密密钥而以公钥作为解密密钥,则可实现一个用户加密的信息由多个用 户解读。前者可用于数字加密,后者可用于数字签名。 在这种体制中,加密密钥k c 是公开的,解密密钥k d 是私密的,由用户自己保 管。加密算法e 和解密算法d 也都是公开的。虽然k c 与k d 成对出现,但却不能根 据k c 推导出k d ,也不能根据k d 推导出k e 。公开密钥算法具有如下特点: 8 西安工业大学硕士学位论文 1 ) d r a ( e r 。口) ) = p ,即用加密密钥k e 对明文p 加密后,再用解密密钥k d 解密,即 可恢复出明文。 2 ) 力1 1 密密钥不能用来解密,即d r 。( e r e ( p ) ) p 。 3 1 在计算机上可以容易地产生成对的k e 和k d 。 4 ) 由加密密钥推导出解密密钥( 或由解密密钥推导出加密密钥) 在计算上是不可行 的。 5 ) 加密和解密的运算可以对调,即b 钾d _ 觯) ) = p 。 在通过网络传输信息时,公钥密码体制体现出了传统密钥体制不可替代的优越 性。公钥密码体制可以使通信双方无须事先交换密钥就可以建立安全通信。公钥密码 体制可用于身份认证、数字签名和密钥交换【”】。公镨密码体制一般是建立在某些己知 的数学难题之上,是计算机复杂性理论发展的必然结果。根据所基于的数学难题来分 类,有以下三类系统目前被认为是安全和有效的:大整数因子分解系统( 代表性的有 r s a ) 、椭圆曲线离散对数系统( e c c ) 和离散对数系统( 代表性的有d s a ) 。 2 5 2r s a 公钥密码 r s a 算法是1 9 7 8 年由r i v e s t ,s h a m i r 和a d l e m a n 联合提出的一种公钥密码系 统,它是第一个既能用于数据加密也能用于数字签名的算法。r s a 算法的安全性依 赖于大数分解的困难性。 r s a 公钥体制的工作流程为: 1 、用户选择一对不同的素数p ,q ,计算n = p q : 2 、根据欧拉定理,计算欧拉函数值m ( n ) = ( p 1 ) ( q 1 ) ; 3 、随机选一整数e ,1 = e = o ( n ) ,满足g c d ( e ,巾( n ) ) = 1 ; 4 、计算e 的逆元d ,即满足d e - - - - - - 1m o d e ( n ) 。 则密钥空间k = ( n ,p ,q ,c ,d ) ,将n ,e 公开,即n ,c 是公钥( p u b l i c k e y ) , d 秘密保存,即d 是私钥( p r i v a t ek e y ) 。p 和q 应该被销毁掉,不再需要。 加密的过程:若待加密信息为m ,首先将其数字化,看成是一个大数字串,并取 长度小于l 0 9 2 n 的数字做明文块。如果m = n ,就将m 表示成s 进位( s = n ,通常取二进 制表示,选2 的最大幂小于n ) ,然后分段编码。 接下来用公钥e 进行加密,计算c = e ( m ) = - m em o dn ,c 就是编码后的信息。 解密的过程:用私钥d 进行解密,计算d ( c ) _ - c dm o dn ,恢复明文m 。 如果第三者要解码的话,必须想办法得到d 。所以,他必须先对n 作质因数分解。 如果他能够成功的分解n ,得到这两个质数p 和q ,那么就表明此算法被攻破。 r s a 算法是利用了数学中存在的一种单向性。一般说来,许多数学中的函数都有 “单向性”。也就是说,有许多运算本身并不难,但如果你想把它倒回去,作逆运算, 那就难了。最简单的例子:除法比乘法难,开方比乘方难,这是谁都知道的。对于 r s a 来说,用公开密钥加密后,如果想再通过公开密钥解密是很困难的。这个困难 性就表现在对n 的因式分解上。若n = p q 被因式分解,( p - 1 ) ( q - 1 ) 就可以算出,继而算 出解密密钥d 。所以r s a 算法的基础就是一个假设:对n 的因式分解是很困难的。 9 西安工业大学硕士学位论文 目前r s a 被广泛应用于各种安全或认证领域,如w e b 服务器和浏览器信息安全、 e m a i l 的安全和认证、对远程登录的安全保证和各种电子信用卡系统的核心【1 8 j 。 与单钥加密方法比较,r s a 的缺点就是运算较慢。用r s a 方法加密、解密、签 名和认证都是一系列求模幂运算组成的。在实际应用中,经常选择一个较小的公钥或 者一个组织使用同一个公钥,而组织中不同的人使用不同的n 。这些措施使得加密快 于解密而认证快于签名。一些快速的算法比如基于快速傅立叶变换的方法可以有效减 少计算步骤,但是在实际中这些算法由于太复杂而不能广泛的使用,而且对于一些典 型的密钥长度它们可能会更慢。 2 5 3r s a 公钥密码算法的安全性分析 若n 被因式分解成功,则r s a 便被攻破。还不能证明对r s a 攻击的难度和分解 n 的难度相当,但也没有比因式分解n 更好的攻击方法。已知n ,求得中“i ) ( n 的欧 拉函数) ,则p 和q 可以求得。因为根据欧拉定理,中( n ) = 0 - 1 x q - 1 ) = p q - 0 + q ) + 1 和 q q ) 2 = ( p + q ) 2 - 4 p q ;据此列出方程,求得p 和q 。 另一个攻击r s a 的方法是根据c = m 。m o dn 来计算c 1 。m o dn 。这种攻击方式没 有一种普遍的实现方法,也不知道是否其难度与对n 因式分解相当。但是在一些特殊 的情况下,当多个相关的信息用同样的密钥加密时,可能很容易被攻破。 为安全起见,对p 和q 要求:p 和q 的相差不大;0 1 ) 和( q 1 ) 有大素数因子;g c d ( p - l , q 1 ) 很小,满足这样条件的素数称做安全素数。r s a 的出现使得大整数分解因式这一 古老的问题再次被重视,近些年来出现的不少比较高级的因数分解方法使“安全素数” 的概念也在不停的演化【1 9 】。所以,选择传统上认为是“安全素数”并不一定有效的 增加安全性,比较保险的方法就是选择足够大的素数。因为数越大,对其分解因式的 难度也就越大! 对n 和密钥长度的选择取决于用户保密的需要。密钥长度越大,安全 性也就越高,但是相应的计算速度也就越慢。由于高速计算机的出现,以前认为已经 很具安全性的5 1 2 位密钥长度已经不再满足人们的需要。1 9 9 7 年,r s a 组织公布当 时密钥长度的标准:个人使用7 6 8 位密钥,公司使用1 0 2 4 位密钥,而一些非常重要 的机构使用2 0 4 8 位密钥。 2 6 椭圆曲线密码体制 椭圆曲线原来是代数几何中的难题【篡嵫】,1 9 8 5 年由k o b l i t z 和m i l l e :各自将其引 入到公钥密码学中,利用椭圆曲线离散对数问题来构造公钥密码体制。椭圆眭b 线密码 体制 2 3 - 2 6 1 与有限域上乘法群的离散对数问题的密码体制( 如e l g a m a l , d 姗l e h e l l m a n ,d s s 等,包括r s a ) 相比,有以下优点: f 1 ) 在安全性相当的前提下,椭圆曲线可以使用较短的密钥; 但) 椭圆曲线建立在椭圆曲线离散对数的数学难题之上,没有亚指数攻击算法; ( 3 ) 椭圆曲线资源丰富,椭圆曲线上可以提供无数的有限a b e l 群,并且这种群的 结构丰富、易于实际计算。 1 0 西安工业大学硕士学位论文 密钥短意味着小的带宽和存储要求,这在某些应用中可能是决定性因素。而资源 丰富为安全性增加了额外的保证,也为软、硬件实现带来了方便。因而大多数密码学 家对这种密码体制的前景持乐观态度。 2 6 1 椭圆函数与椭圆曲线 我们先讨论椭圆函数知识,然后深入探讨椭圆曲线理论。设k 是一个域,则由 w c i e r s t r a s s 方程 y 2 + a l x y + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6 a l ,a 2 ,a 3 ,a 4 , a 6 k ,表示的光滑曲线及一个特殊点o ,称为一个椭圆曲线, o 称为无穷远点。k 可以是有理数域,也可以是复数域,还可以是有限域g f0 ) 。在 密码学中,根据域k 的不同特征,应用适当的变换,c h a r ( k ) 2 ,3 时,w e i e r s t r a s s 方程可被化简为: y 2 = x 3 + a x + b 的形式,并要求判别式:= 4 a 3 + 2 7b 2 o 。这时,该椭圆曲线上的实数点可以构成 加法群。 上述方程是建立在仿射平面a :上的,由于射影平面磁是由仿射平面a :添加一 条虚直线而成的,故瑶上的椭圆曲线有其a 2 _ 1 2 的等价形式,令x f f i x z ,y = y 亿,得 射影平面砭上的齐次表达式: e :y 。z + a l x y z + a 3 y 掣= x j + a 2 x 气+ a 4 x z z + a 6 z 称为w c i s t e r a s s 等式,其中a l ,a 2 ,a 3 , a 4 ,a 6 ef p ,f p 表示一个包含p 个元素 的有限域。无穷远点o 就是射影平面上的虚点( o ,1 ,0 ) 。设 昭,y ,z ) f f iy 2 z + a l x y z + a 3 y z 2 ( x 3 + 砌【2 z + a 4 x z 2 + a 6 2 3 ) 称f ( x ,y ,z ) 为w e i s t e r a s s 多项式。 若任意点p 均满足( 0 f # x , 0 f 0 y ,a f 0 z ) - ( 0 ,0 0 ) ,则称w e i s t e r a s s 等式为光滑的 或非奇异的;若存在一点p 使得:( o f o x , 0 f o y ,o f o z ) 一( o ,0 o ) ,则称w e i s t e r a s s 等式称为奇异的,这点p 称为奇异点。 所有满足f 伍,y ,z ) - - - o 的点,包括无穷远点o 在内,构成一椭圆曲线。 2 6 2 椭圆曲线上的加法 在本文中,我们主要讨论形如y 2 = x 3 + a x + bm o dp ( a 0 ) 定义在有限域g v ( p ) 上的 椭圆曲线e ,其中p 是一素数,称为o f ( p ) 的特征。并且a = 4a 3 + 2 7b 乌幻保证瞳线是 平滑的。椭圆曲线上的加法是这样的,椭圆曲线任意两点p ,q ,通过该两点的直线 l 若与椭圆曲线有第三个交点记为r ;该r 的关于x 轴的对称点r 也在该椭圆曲 线上。就定义加法:p + q = r ,规定r + ( 舢= o 是零点。 在仿射坐标上,曲线上点的加法公式如下: 设p = ( x1 ,y1 ) ,q = ( x 2 ,y 2 ) ,p c o o ,r = p + q = ( x 3 ,y 3 ) ,贝0 1 1 西安工业大学硕士学位论文 d - a 2 一_ 一x 2 1 y 3 a “一而) 一m 其中,当p o 时, 一( y :- y , ) ( x 2 一五) ,当p = q ,a - ( 3 + a ) 2 y 。加法的示意图 如图2 2 和图2 3 : ,笑多刀, ,甚三 i 一 扣b ) 图2 2 p 如时的加法示意图 1 7 一辆。垃一,。一。 一刁 一厂严、f; 。 | 一 扣b 耐 图2 3p = q 时的加法示意图 与零点相加的公式为:p + o = o + p = p : 与对称点相加的公式为:p h - p ) = ( - p ) + p = o 。 2 6 3 椭圆曲线上加法群的性质 在加法运算下,椭圆曲线上的点构成a b e l 群唧,我们可以由以下定理得到这个 结论。 定理:如果p ,q 是椭圆曲线e 上的任意两点,p 和o 的连线l 与曲线e 相交于 另外一点r ,0 表示无穷远点。则有: ( 1 ) ( p + q ) + r = 0 ; ( 2 ) p + 0 = p ; ( 3 ) p + q = q + p ; ( 4 ) 曲线e 上存在一点q ,使得p + q = o ,点q 表示为p ; 西安工业大学硕士学位论文 ( 5 ) 曲线e 上任意点p ,q i ,r ,有 + q i ) + r l _ p + ( q + r ) 这些性质说明在加法运算下,椭圆曲线上的点构成a b e l 群。另外,根据点的倍 数公式p + p = 2 p ,有 p + p + + p = m p 2 6 4 椭圆曲线密码体镧性能分析 椭圆曲线密码体制是目前已知的所有公钥密码体制中能够提供最高比特强度的 一种公钥密码体制。我们将e c c 与r s a 算法比较,e c c 加密算法有安全性能高、计 算量小、速度快、占用空间小、带宽要求低等一系列优点。 1 安全性能高 和其他公钥体制相比,e c c 在抗攻击性方面有绝对优势。因为椭圆曲线离散对数 问题0 巳c d i j p ) 的困难性在计算复杂度上是指数级,而r s a 是亚指数级的。将e c c r s a ,d s a 的安全性分析如图2 4 所示。表中m i p s 一年表示每秒执行1 0 0 万条指令 的计算机运行一年。一般认为破译时间为1 0 1 2 m i p s 一年代表安全。 破译需要时 r s a ,d s ae c c 密钥长r s a e c c 密 间m i p s 年密钥长度度钥长度之比 1 0 45 1 21 0 6 5 :1 1 0 s7 6 81 3 2 6 :1 1 0 1 21 0 2 41 6 0 7 :1 1 0 2 02 0 4 82 1 0 1 0 :1 1 0 7 82 1 0 0 06 0 0 3 5 :1 图2 4 e c c 、r s a 和d s a 的安全性比较 2 计算量小、速度快 在加密和签名验证的过程中,r s a 可以通过选取较小的公钥提高处理速度,从而 和e c c 有一

温馨提示

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

评论

0/150

提交评论