一种基于椭圆曲线安全电子邮件探究和构建.doc

一种基于椭圆曲线安全电子邮件探究和构建.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一种基于椭圆曲线安全电子邮件探究和构建

一种基于椭圆曲线安全电子邮件探究和构建摘 要 本文从电子邮件传输过程的安全角度出发,分析了目前广泛应用的安全电子邮件产品存在的不足,提出了一种采用椭圆曲线来实现密钥交换、数字签名、加/解密的方案,从而进一步增强了电子邮件的机密性、完整性和不可否认性。 关键词 电子邮件;椭圆曲线;机密性;完整性;不可否认性 中图分类号:TP393 文献标识码:A 文章编号:1671—7597(2013)041-080-02 1 概述 互联网的普及促进了电子邮件的广泛应用,而电子邮件采用SMTP和POP3协议进行发送和接收,由于这两个协议不提供加密服务,所以在没有采用任何保护措施的情况下邮件是以明文进行传输。为了防止电子邮件在互联网传输过程中不被篡改、泄漏,也出现了很多安全电子邮件产品,但是随着计算机的计算能力和黑客技术水平的不断提高,这些产品也需要不断完善和更新。本文提出了一种基于椭圆曲线来提供电子邮件内容的安全性、完整性以及身份的不可否认性服务的方案。 2 相关研究 目前的大多安全电子邮件产品都是以PGP和S/MIME为框架。 PGP是一个完整的电子邮件安全软件包,它并没有引入新技术,而只是将RSA、MD5、IDEA等算法来进行“先签名后加密”的结构进行组合,提供加密、鉴别、数字签名等服务,由此可见,其安全性完全取决于所采用算法的安全强度,这使得PGP侧重于个人使用。 S/MIME与PGP功能类似,都是对电子邮件提供加密和鉴别服务,不同之处在于S/MIME增加了认证机构提供了不可否认性,其安全性要比PGP强,S/MIME倾向于商业和团体使用的工业标准。但由于整个信任关系是树状结构,最上级证书具有很高权限,它能够获得用户电子邮件的信息,这也给电子邮件的安全带来了隐患。 PGP和S/MIME都是以RSA公钥算法为基础,RSA算法的安全性取决于大素数的因式分解。密钥的产生和加/解密过程的计算都非常复杂,但是增强其安全性的方法是需要增大密钥空间,这无疑给本来计算缓慢的RSA雪上加霜。因此,为了解决RSA算法在速度和安全性方面不能兼顾的问题,本方案采用椭圆曲线实现密钥的产生、数字签名、加/解密。 weierstrass方程y2+a1xy+a3y=x3+a2x2+a4x+a6所确定的平面曲线E和一个叫做无穷远点的特殊点O的集合。在椭圆曲线密码体制中,采用了定义在有限域上的椭圆曲线,其方程为:y2=x3+ax+b(mod n),其中判别式4a3+27b2(mod n)≠0,x、y、a、b∈Fn,这里n是素数,a和b为两个小于n的非负整数。由此满足此方程的点(x,y)和一个无穷远点O就组成了椭圆曲线E。 椭圆曲线的安全性取决于有限域上的离散对数问题的难解性。椭圆曲线的离散对数问题是:已知素数n和椭圆曲线E,计算方程Q=kP,在已知k和P的情况下计算Q比较容易,但由根据Q和P计算k是非常困难的。 3 算法设计 3.1 密钥交换 采用椭圆曲线来实现Diffie-Hellman密钥交换,已知椭圆曲线Eq(a,b)和基点G,用户A和用户B之间完成密钥交换过程描述如下: 1)A选择一个小于n的整数nA作为A的私钥,计算公钥PA=nA×G;且PA∈Eq(a,b)。 2)B也同样选择一个小于n的整数nB作为B的私钥,并计算公钥PB=nB×G,且PB∈Eq(a,b)。 3)A产生的秘密钥KA=nA×PB,B产生秘密钥KB= nB×PA,容易得出:KA=KB=K,将其作为对称密钥。 3.2 数字签名与验证 采用椭圆曲线来实现DSA数字签名,可以防止发信人抵赖和信件在传输中途被篡改。其工作原理是使用私钥进行签名,公钥进行验证。发送方A首先对电子邮件信息m进行Hash运算得到数字摘要后再用A的私钥对摘要进行加密,形成数字签名,然后将m和加密后的摘要一起发送给接受方。接受方B将收到的签名通过A的公钥对摘要进行解密后得到摘要1,另外将收到的m通过Hash运算产生摘要2,判断两个摘要是否相等,相等则表示签名成功,否则签名失败。具体的签名和验证过程描述如下: 签名过程: 1)A对电子邮件信息m,采用SHA-1计算e=H(m)。 2)选择一个伪随机数k∈[1,n-1],计算kP=(x1,y1)。 3)计算r=x1 mod n,若r=0,返回第(1)步。 4)计算s=k-1(e+dr)mod n,若s=0,返回第(1)步。 5)生成数字签名(r,s),并发送数字签名和电子邮件m。 验证过程: 1)验证者B方收到数字签名(r,s)和电子邮件m,对m生成摘要e=H(m)。 2)计算(x1,y1)=s-1eP+s-1rQ(mod n

您可能关注的文档

文档评论(0)

docman126 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档