英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
一种获取数字签名和公钥密码系统的方法
R. L. Rivest,A. Shamir,L. Adleman
麻省理工学院计算机科学实验室和数学系
一种加密方法与小说公开揭示加密密钥的属性,因此不显示相应的解密密钥。这有两个重要的后果:
(1)不需要信使或其他安全手段发送键,因为可以将消息加密使用加密密钥公开透露收件人。只有他能破译信息,因为只有他知道相应的解密密钥。
(2)使用私人持有的讯息可以“签署”解密密钥。任何人都可以验证这个签名使用相应的公开显示加密密钥。签名不能伪造,签名者不能稍后否认签名的有效性。这具有明显的在“电子邮件”和“电子资金”中的应用传输系统。消息被加密
将它表示为m,将m提升为公开指定功率E,然后取余数,当结果除以公开指定乘积n,两个大的秘密素数p和q。解密是类似的,只有不同的,秘密的,权力D使用,其中E * D - L(模(P - 1)*(Q - 1)。这个系统的安全部分取决于分解已发布的除数n。
关键词:数字签名、公钥密码体制,隐私,认证,安全,分解、素数、电子邮件、消息传递,电子资金转帐,密码学。
一、引言
“电子邮件”的时代[ 10 ]可能很快就会到来我们必须确保两个重要特性目前的“纸邮件”系统保存:(一)消息是私有的,并且(b)消息可以签名。在本文中,我们展示了如何建立这些电子邮件系统的功能。
我们的建议的核心是一个新的加密方法。此方法提供了一个“公钥密码体制”,一个优雅的概念发明由Diffie和Hellman [ 1 ]。他们的文章的促动了我们的研究,因为他们提出的概念但没有任何实际执行这样的系统。读者熟悉[ 1 ]不妨直接跳到第五节描述我们的方法。
二、公开密钥密码系统
在“公钥密码系统”中,每个用户一个公共文件的一个加密程序E。公共文件是一个提供加密过程的目录每个用户。用户保密的细节他相应的解密程序D.这些程序具有以下四个属性:
(a)解密加密的消息我产生M正式,
D(E(M)) = M. (I) (1)
(b)e和d都很容易计算。
(c)公开披露E用户不透露简单的方法来计算D.这意味着在实践中只有他可以解密消息加密与E,或高效计算。
(d)如果消息M是第一次破译然后加密,M是结果。正式地,
E(D)(m)= m (2)
典型的加密(或解密)过程由一般方法和加密密钥组成。这个一般方法,密钥的控制下,对一个我得到消息的加密形式的消息,称为密文C每个人都可以使用同一通用方法;给定过程的安全性将休息的安全的关键。揭示了一个加密算法则意味着泄露密钥。
当用户揭示E,他揭示了非常低效计算D(c)的方法:测试所有可能的消息m直到一个这样的E(m)= C被发现。如果属性(c)满足这些消息的数目测试将是如此之大,这种做法是不切实际的。
一个函数满足(a)-(c)是一个“陷门单向如果它也满足(d)它是一个“陷阱门单向置换。”Diffie和Hellman [ 1 ]介绍陷阱门的单向函数的概念,但称为“单向”,因为它们很容易计算一个方向但(显然)很难计算在另一个方向。他们被称为“陷阱门”函数的逆函数实际上容易计算一次私人“陷阱门”信息是已知的。一个陷阱门单向功能,也满足(d)必须是置换:每个消息是其他消息和每个密文的密文本身就是一个允许的信息。(映射是“一对一”和“上”。物业(D)是必要的只实施“签名”。
鼓励读者去读Diffie和海尔曼的优秀文章[ 1 ]进一步背景,为公钥密码体制概念的阐述,
并讨论该地区的其他问题密码学。公开密钥密码体制的方法可以确保隐私和启用“签名”(在第三及第四节所述)也是Diffie和Hellman。
对于我们的情况,我们假设A和B(也被称为爱丽丝和鲍伯)是公共密钥的两个用户
密码体制。我们将区分他们的加密和与下标解密程序:EA、EB、DA、DB。
三、隐私
加密是渲染的标准手段通信专用。发送者对每个发送到接收者之前的消息。这个接收方(但未经授权的人)知道适当的解密函数应用于接收消息获取原始消息。窃听者谁听到发送的消息只听到“垃圾”(密文),这是毫无意义的他既然不知道怎么解密。
大量的个人和敏感信息目前举行的电脑数据银行和通过电话线传输使加密越来越重要。承认事实高效、高质量的加密技术非常急需,但供不应求标准局最近通过了“数据加密标准[ 13,14 ],在IBM开发。新标准没有财产(C),需要实现公钥密码体制。
所有经典加密方法(包括NBS)标准)遭受“关键分配问题。”问题是在私下沟通之前可以开始,另一个私人交易是必要的分配相应的加密和解密发送者和接收者的密钥,分别。通常一个私人信使用来携带一个钥匙从发件人到接收机。这样的做法是不可行的,如果电子邮件系统是快速和廉价的。公钥密码系统不需要私人信使;密钥可以分布在不安全的通信通道。
鲍伯如何在公共文件中发送爱丽丝的私人消息。然后他把她的加密信息EA(M)。爱丽丝将消息通过计算DA(EA(M))= M财产(C)的公钥密码系统只有她能破译EA(M)。她可以加密私人响应Ea,也可在公共文件中。
观察爱丽丝之间没有私下交易和鲍伯需要建立私人通信。唯一的“设置”需要的是,每个用户谁接受私人通信的意愿必须到位他在公共文件加密算法。
两个用户还可以建立私人通信在一个不安全的通信信道没有咨询公共文件。每个用户发送他的加密密钥另一个。后来所有的消息都是加密的用收件人的加密密钥,如公开密钥系统。入侵者在偷听信道不能解码任何消息,因为它不是从加密中派生解密密钥的可能钥匙.(我们假设入侵者无法修改或插入信息进入通道。)Ralph Merkle开发另一种解决方案[ 5 ]这个问题。
公开密钥密码系统可用于“引导”成一个标准的加密方案,如国家统计局的方法。一旦安全通信已建立,第一个消息传输可以是一个关键在国家统计局计划使用下列编码信息.这可能是可取的,如果加密与我们方法比标准方案慢。(The国家统计局的计划可能是稍微快一点,如果专用硬件加密设备的使用;我们通用计算机上的方案可能更快由于多精度算术运算简单实现复杂的位操作。
四、签名
如果电子邮件系统取代现有的商业交易的纸质邮件系统,“签名”必须有电子信息。接受者签名的消息有证据证明消息来源从发件人。这个质量比仅身份验证(接收方可以验证收件人发出的信息;收件人可以说服“法官”签名者发送的消息。要做到这一点,他必须说服法官,他没有自己伪造签名消息!在认证问题收件人不担心这个可能性,因为他只想满足自己消息来自发件人。
电子签名必须与消息相关,以及依赖于签名者。否则,收件人可以在显示前修改消息消息签名对。或者他可以附加任何消息的签名,因为它是无法检测电子“切割和粘贴。”
实现签名的公钥密码系统必须陷门单向实施排列(即有属性(d)),因为解密方法将应用于未加密的消息。
用户鲍伯如何发送爱丽丝“签名”消息在公钥密码体制?他首先计算他的“签名的消息m使用I):S = D(m)。一个未加密(解密消息“有道理”公开密钥密码系统的属性(d):每个消息是其他消息的密文)然后加密使用EA(隐私),并发送结果电针(S)对爱丽丝。他也不需要送M可以从S计算。
爱丽丝首先对密文解密得到与大她知道谁是假定的发送者签名(在这种情况下,鲍伯),这可以给如果必要的纯文本附S.然后提取消息的加密过程发信人,在这种情况下,你他妈的(在公共文件可用):米=(的)。她现在拥有一个消息签名对(M,S)与签字纸相似的属性文件。
鲍伯不能否认曾发送爱丽丝这个消息,因为没有人可以创建S = DB(m)。爱丽丝可以说服一个“法官”,欧盟(S)= M,所以她有证据证明鲍伯签署了文件。
显然爱丽丝不能修改M到不同的版本米,从那时起,她将不得不创建相应的签名S = i(m)。
因此爱丽丝收到了“签名”的消息由鲍伯,她可以“证明”,他发送,但其中她不能修改。她也不能伪造他的签名任何其他信息。)
电子支票系统可以基于签名系统如上述。很容易想象允许您的家庭终端加密设备你要签署的支票,通过电子邮件发送到收款人。只需要有一个在每个检查的唯一检查号码,以便即使收款人副本银行只会兑现支票它看到的第一个版本。
另一个possibilityarises如果加密设备制造得足够快:有可能每一个单词的电话交谈传输前由加密设备签名。
当加密用于签名如上,它重要的是,加密设备不能“有线”在“终端(或计算机)和通信之间信道,因为消息可能是先后与几个密钥加密。这也许是更自然地将加密设备视为“硬件”子程序“可以根据需要执行。
我们假设,每个用户都可以始终可靠地访问公共文件。在“计算机网络”这可能是困难的,一个“入侵者”可能伪造想肯定他实际上获得他想要的通讯员的加密程序不是,比如说,入侵者的加密过程。这危险消失,如果公共文件“标志”每个消息它发送给用户。用户可以检查签名随着公共文件的加密算法f_ ~ V.的问题,“寻找”的f-er本身在公共文件避免通过给每个用户描述f_ ~ R时他首次亲自加入公钥匙密码体制及其公共加密程序的存放。然后,他存储这个描述,而不是以往任何时候再看一遍。需要快递之间因此,每一对用户都被要求每个单独的安全会议用户和公共文件管理器当用户加入系统。另一个解决方案是给每个用户他签名,一本书(如电话簿)系统中所有用户的加密密钥。
五、我们的加密和解密方法
使用我们的方法对消息m进行加密,使用公共加密密钥(E,N),进行如下。(这里E和N是一对正整数。)
首先,将消息表示为0和N - 1。把一条长信息分成一系列块,并表示每个块作为这样一个整数。)使用任何标准表示。这里的目的是不加密的消息,但只有把它加密所需的数字格式。
然后,通过将消息增强到消息功率模数N,即结果(密文C)当余数除以n时,其余部分为余数
解密密文,将其提升到另一个功率D,再次模n的加密和解密算法E和D是这样:C(E)= m(E n),用于消息m。D(C)= C ~(模),一个密文C.
注意加密不增加大小消息;消息和密文都是范围在0到n - 1的整数。
加密密钥就是这样的一对正整数(E,N)。类似地,解密密钥是对正整数(d,n)。每个用户使他的加密公钥,并保持相应的解密关键私人。(这些整数应适当下标为HA,EA,和大,因为每个用户都自己集。不过,我们只会考虑一个典型集,并将省略下标。)
你应该如何选择你的加密和解密如果你想使用我们的方法?
你首先计算n为两primesp产品和Q:N = P * q这些素数是非常大的,“随机”素数。你会在公共的因素以及将有效地隐藏其他人由于这也隐藏了巨大的困难。方法D可以从E派生。
然后选择整数d为一个大的随机整数,这是相对素数(P - 1)*(Q - 1)。也就是说,检查D满足:gcd(D(P - 1)*(Q 1))= 1(“最大公约数”的意思是“最大公约数”)。
整数E最后计算从P,Q和d作为D的乘法逆,模D(p - 1)bull;(q - 1)。因此,我们有E * D - L(模(P - 1)*(Q - 1)。
我们证明在下一节,这保证即(1)和(2)保持,即E和D是逆排列。第七节展示了每一个上述操作可以有效地完成。
上述方法不应混淆随着“指数”的方法由Diffie和Hellman [ 1 ]解决密钥分配问题。他们的技术允许两个用户来确定普通密码中常用的一个密钥系统。它不是基于一个陷阱门单向置换.pohlig和Hellman [ 8 ]研究方案与我们在做模幂运算,素数。
六、基础数学
我们证明了解密的正确性使用欧拉和Fermat的恒等式算法[ 7 ]:对于任何整数(消息)M这是相对素数对n,=1 (mod n). (3)
这里的(n)是欧拉函数给小于n的正整数数相对素数n对于素数p,(p)=p-1.
在我们的例子中,我们的基本属性欧拉函数[ 7 ]:
(n)=(p)*(q),
=(p-1)*(q-1) (4)
=n-(p q) 1.
由于D是相对素数的(n),它具有乘法模环(n)整数环的逆E:
e*dequiv;1(mod (n)). (5)
我们现在证明方程(1)和(2)保持(即,破译工作正确IFE和D选择如上)。现在
D(E(M))equiv;(E(M))d equiv;(Me)dequiv;(mod n)
E(D(M))equiv;(D(M))e equiv;(Md)eequiv;(mod n)
和
equiv;(mod n)(对于整数k)。
从(3)我们看到,对于所有M,P不将M划分
equiv;1 (mod p)
而且由于p-1分(n)
equiv;M(mod p)
这是很真实的当m = 0(mod p),所以,这平等实际上适用于所有人。)
类似的争论如Q产量
equiv;M(mod q)
这最后两个方程意味着对所有M,
equiv;equiv;M(mod n)
这意味着(1)和(2)所有m,0le;m<N.因此,E和D是逆排列。(我们感谢丰富的schroeppel建议上述改进版本的作者以前的证明。)
七、算法
为了表明我们的方法是可行的,我们描述一个有效的算法为每个所需的操作。
A.如何有效
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[25540],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。
您可能感兴趣的文章
- 为非政府组织OG慈善基金会设计的基于社区的救灾管理系统外文翻译资料
- 基于UML建模的医疗系统电子健康服务软件外文翻译资料
- 开发一种具有增强现实功能的智能手机应用程序, 以支持护理学生对心衰的虚拟学习外文翻译资料
- 在开发 Web 应用程序中应用 Vue.JS 框架外文翻译资料
- 基于MES系统的生产车间信息管理研究外文翻译资料
- 基于Vue.js和MySQL的电子商务平台的设计与实现外文翻译资料
- 详细的Spring配置和SpringBoot外文翻译资料
- 基于NS2的DSR和AODV协议的性能比较研究外文翻译资料
- 不同仿真参数下NS2的TCP吞吐量性能外文翻译资料
- 基于Spring Boot和VUE的车辆管理系统实现外文翻译资料