自从人类开端会用笔书写,他们就开端用密码通讯了。密码并不仅仅与电报、军事或爱情相关,它已进入人类生活的很多层面:信用卡、保险柜、计算机等等。密码无处不在,同时又随时可能被破译。围绕密码所展开的斗争甚至远胜于战争本身,它既是人类智力的另类较量,又是数学的神秘之美的比拼。在《密码故事》中.西蒙·辛格讲述了关于间谍、阴谋和聪明才智的精彩故事,从而揭示了密码学引人入胜的历史。作者的叙述结合了可读性与耐人寻味的专业分析,
分新颖独特。
图书目录
前言
第一章玛丽女王的密码
密文的演化
阿拉伯密码破译师
破译一条密文
西方的文艺复兴
巴宾顿计划
第二章不可破译的密码
从维热纳尔密码的冷落到铁面人
密室
巴比奇破解维热纳尔密码
从激情栏到埋藏的宝藏
第三章加密的机械化
密码字元集学上的圣杯
密码机的发展:从密码盘到恩格玛密码机
第四章被解恩格玛
从不咯咯叫的鹅
截获密码簿
神秘的密码破译者
第五章语言上的隔阂
破译失落的语言和古代的文字
B类楔形文字之谜
连接的音节
琐碎的枝节
第六章艾丽丝和鲍勃的公开密钥
上帝青睐愚人
公共密钥密码术的诞生
质数猜想
公开密钥密码学的另一个历史
第七章相当好的隐私
为大众加密吗?
齐默尔曼的撤销
第八章量子的飞跃
密码破译术的未来
量子密码术
附录向密码挑战
精采章节
……专业密码破译师也开端追寻比尔财宝的踪迹。赫伯特·O·亚德利,他在一战末创建了美国密码局(即美国的密室),也对比尔密码产生了兴趣。同样,20世纪前半世纪美国密码分析学界的领导人物科洛奈尔·威廉姆也迷上了比尔密码。当威廉姆负责情报服务研究时,他将比尔密码作为训练计划的一部分。据他妻子所说,他认为该密码具有相当的活泛性,特别设计用来迷惑那些轻信的读者。他1969年死后创建的弗里德曼文档经常被军方历史学家参考,但是更多的是热心的比尔迷,他们希望能得到这位专家的指点。再近些时候,寻觅比尔宝藏大军中的一位主要人物是卡尔·哈默,他是计算机公司的一位退休主管,也是计算机密码学的先驱之一。据哈默所说:“比尔密码已经占据了这个国家中至少10%的最优秀的密码破译家的思想,他们都不遗余力,这项任务即使最终走进了一个死胡
也大大促进并优化了计算机研究。”哈默也是“比尔密码和财宝协会”中著名的一员。该协会成立于20世纪60年代,旨在激起人们对比尔传奇的兴趣。开端协会要求任何发现宝藏的成员要与其他成员共享,但是这项规定似乎阻止了许多比尔密码探索者的加盟,因此协会很快就取消了这个要求。
尽管协会中工余觅宝者和专业密码破译师的联合努力,第一和第三页比尔密码一个世纪来一直是个谜。黄金、白银和珠宝始终没有发现。解密时许多尝试都围绕着第二页比尔密码的钥文 《独立宣言》。当然直接地给宣言的单词编号对第一和第三页密码没有任何作用,密码破译师尝试了其他的方法,例如给单词从后向前编号或者间距着来编号。但到当前为止,没有一个奏效的。关于第一页密码中有一个问题是它包含的数字高达2906,而《独立宣言》中只有1322个单词。因此其他的文章和书籍也被考虑作为钥文,也有许多密码分析师已经在研究一个完全不同的加密系统的可能性。
你或许对这个没有破解的比尔密码的持久性感到惊奇,尤其是我们记得在写密码者和破密码者之间的战争中,一般都是破密码者占上风。巴比奇和卡西斯基发明了破解维热纳尔密码的方法后,密码字元集者一直努力查找能够代替它的密码。而比尔是怎么提出这么一个坚不可摧的东西呢?原因是从比尔密码创造的那一刻起,密码字元集者就拥有了一个绝对的优势。信息是一次性的,因为它们关系到如此贵重的一个宝藏,比尔或许准备为第一和第三页密码写一篇特别的一次性钥文。事实上,如果钥文真的由比尔亲笔所写,这也就解释了为什么搜索已出版的文章而没有结果的原因。我们可以试想比尔写了一篇2000字的私人文章,可能就是关于捕猎野牛的事情,而这篇文章只有一份。只有这篇文章的持有者,即拥有了独一无二的钥文,才能够破译第一页和第三页比尔密文。比尔曾提到他把钥文留给了一位在圣路易斯的朋友,但是如果这个朋友丢了或毁坏了钥文,那么密码破译者们将从不能破解比尔密码。
为一个信息专门写一篇一次性的钥文要比使用一本出版的书作为钥文安全得多。但这需要发送者有时间写出钥文并能够传给接收者,而这个要求对于每日通讯来说是不可能的。
在比尔的例子中,他可以在空闲的时候写好钥文,然后在路过圣路易斯的任何时候把它交给他的朋友,最后一旦需要挖掘宝藏,……
普通世界的另类信息
读《密码故事》
(2003年06月08日)
密码,仅仅是些符号,而这些符号的不同组合却能演绎不同的状态和结局。
自从人类开端会用笔书写,他们就开端用密码通讯,有了密码通讯,我们这个普通世界便有了另类信息,这些信息对特定的群体而言是有着至高无上的价值,对多数人而言则一文不值。某些另类信息看似与普通人无关,实际上,对另类信息的有效利用,比如在军事中的运用,往往在某个重大事件中起了举足轻重的作用,乃至影响了某个时段的历史,从而影响了大多数人。例如,1942年6月,美国人破译了日本海军的一条电文,得知日本海军计划佯攻阿留申群岛,以吸引美国海军军力,从而可以进攻真正的目标 中途岛。美国海军将计就计,将舰队调离中途岛,在附近海域徘徊。当日本海军真的要进攻中途岛时,舰队立即返航,保卫中途岛。这一战役是整个太平洋战争中有决定性的战役之一。
更多的情况下,密码不仅仅与军事、电报或爱情有关,而且时常在我们的日常生活中得到运用,它已进入生活的很多层面,如信用卡、保险柜、计算机等等。密码无处不在,同时又随时可能被破译,这种情形里,密码简直成了人们的顶级隐私和“护身符”,让我们不得不去了解相关的知识。
围绕密码所展开的斗争甚至远胜于战争本身,它既是人类智力的另类较量,又是数学的神秘之美的比拼。
在密码故事中,作者西蒙·辛格讲述了关于间谍、阴谋和聪明的精彩事件,从而揭示了密码学引人入胜的历史,讲述了从密码怎样创建到它们怎样被破译的故事,以及围绕它们而产生的种种诡计。可贵的是,作者的叙述结合了可读性与耐人寻味的专业分析,
分新颖独特。而让我们熟悉而陌生的诸多事例,则很有助于我们理解似乎神秘莫测的密码,作者能把令人害怕的数学说得和小学数学一样简单。
作者:叶海声
源:海南日报
主题:密码故事:人类智力的另类较量 | 作者:dennis
西元前5世纪,古希腊斯巴达出现原始的密码器,用一条带子缠绕在一根木棍上,沿木棍纵轴方向写好明文,解下来的带子上就只有杂乱无章的密文字母。解密者只需找到相同直径的木棍,再把带子缠上去,沿木棍纵轴方向即可读出有意义的明文。这是最早的换位密码术。
西元前1世纪,著名的恺撒密码被用于高卢战争中,这是一种简单易行的单字母替代密码。
西元9世纪,阿拉伯的阿尔?金迪提出解密的频度分析方法,通过分析计算密文字符出现的频率破译密码。
西元16世纪中期,义大利的卡尔达诺发明了卡尔达诺漏格板,覆盖在密文上,可从漏格中读出明文,这是较早的一种分置式密码。
西元16世纪晚期,英国的菲利普斯利用频度分析法成功破解苏格兰女王玛丽的密码信,信中策划暗杀英国女王伊丽莎白,这次解密将玛丽送上了断头台。
几乎在同一时期,法国的维热纳尔提出著名的维热纳尔方阵密表和维热纳尔密码,这是一种多表加密的替代密码,可使阿尔?金迪和菲利普斯的频度分析法失效。
西元19世纪,英国的巴贝奇和普鲁士的卡西斯基发展了更复杂的频度分析法,可破解维热纳尔密码。
西元20世纪初,第一次世界大战进行到关键时刻,英国破译密码的专门机构"40号房间"利用缴获的德国密码本破译了著名的"齐默尔曼电报",促使美国放弃中立参战,改变了战争进程。
大战快退出时,美国的维那姆发明一次性便笺密码,它是一种理论上绝对无法破译的加密系统,被誉为密码字元集学的圣杯。但产生和分发大量随机密钥的困难使它的实际应用受到很大限制,从另一方面来说安全性也更加无法保证。
第二次世界大战中,波兰人和英国人破译了德国著名的"恩格玛"密码机密码,美国人破译了被称为"紫密"的日本"九七式"密码机密码。靠前者,德国的许多重大军事行动对盟军都不成为秘密;靠后者,美军炸死了偷袭珍珠港的元凶日本舰队总司令山本五
六。
同样在二次世界大战中,印第安纳瓦霍土着语言被美军用作密码,这是密码学和语言学的成功结合,纳瓦霍语密码成为历史上从未被破译的密码。(原理与八思巴文相似!)
1975年1月15日,对计算机系统和网络进行加密的DES(数据加密标准)由美国国标局颁布为国标,这是密码术历史上一个具有里程碑意义的事件。
1976年,美国的迪菲和赫尔曼提出了公开密钥密码的新思想,把密钥分为加密的公钥和解密的私钥,这是密码学的一场革命。
1977年,美国的里维斯特、沙米尔和阿德勒曼提出第一个较完善的公钥密码体制??RSA体制,这是一种创建在大数因子分解基础上的演算法。
1985年,英国的多伊奇提出量子计算机的初步设想,这种计算机一旦造出来,可在30秒钟内完成传统计算机要花上100亿年才能完成的大数因子分解,从而破解RSA运用这个大数产生公钥来加密的信息。
同一年,美国的贝内特根据他关于量子密码术的协议,在实验室第一次实现了量子密码加密信息的通讯。尽管通讯距离只有30厘米,但它证明了量子密码术的实用性。与一次性便笺密码结合,同样利用量子的神奇物理特性,可产生连量子计算机也无法破译的绝对安全的密码。
2004年,美国BBN科技公司和美国哈佛大学协作构筑了全球首个量子密码网络"DARPA量子网络"。
2062年,第一块一万个量子位的计算机芯片在美国的比德和巴克利实验室中问世,奠定了制造实用量子计算机的基础。
2066年,IBM制造出了世界上第一台商业化的量子计算机,同时用它破译了当时最先进的一种利用离散对数的公钥密码,轰动一时。这一伟大成果使所有数学密码都无密可保,人类对保密的希望只能寄托在非数学密码中惟一成熟可用的量子密码上。
2079年,一个名为"雅克利娜"的多国联合研究小组克服了量子密码和量子通讯最后的技术难题,全球化的量子加密和量子通讯无线网络创建起来。
2083年,对计算机系统和网络进行量子加密的国际标准出台,以此为标志,量子密码成为由量子物理定律保证的理论和实际上都不可能破译的密码,人类最终得到了既简单实用又绝对保密的密码体系。
纵观密码术的历史,贯穿着一根主线,就是加密者和解密者的反覆对抗,加密者想出一种密码,很快解密者就拿出破解的办法,然后加密者又想出更复杂难解的密码。当恺撒密码等单字母替代密码被频度分析法破解,维热纳尔密码的出现又使频度分析法无计可施;当维热纳尔密码在300年的时间里独领风骚,巴贝奇和卡西斯基更复杂的频度分析法又使它不再成为难题。而由恩格玛密码机等发展起来的机电式混合式加密技术日趋完善,DES成为标准,导致频度分析的作用越来越小;等到依靠解密者个人智慧的频度分析风光不再,利用穷举法进行"蛮力攻击"的电子计算机又登上了解密的主战场。为对抗功能强大的联网计算机,RSA等公钥密码奋起反击;但量子计算机整装上阵,干净漂亮地彻底打败包含RSA在内的所有数学密码。最后,密码术面临绝境,量子密码临危受命横空出世,联合一次性便笺密码扮演了终结者的角色,以绝对优势获取了对解密一方的完胜,一场历千百年的惊心动魄的密码史对抗大战就此硝烟散尽。
公钥密码系统及RSA公钥演算法
{根据作者要求:其他站点请勿转载}
摘要:
本文简单介绍了公开密钥密码系统的思想和特点,并具体介绍了RSA演算法的理论基础,任务原理和具体实现过程,并通过一个简单例子帮助了该演算法是如何实现。在本文的最后,概括帮助了RSA演算法当前存在的一些缺点和解决方法。
关键词: 公钥密码体制 , 公钥 , 私钥 , RSA
中图分类号:TP309.7
§1引言
随着计算机联网的逐步实现,Internet前景越来越美好,全球经济发展正在进入信息经济时代,知识经济初见端倪。计算机信息的保密问题显得越来越重要,无论是个人信息通讯还是电子商务发展,都迫切需要保证Internet网上信息传输的安全,需要保证信息安全。信息安全技术是一门综合学科,它涉及信息论、计算机科学和密码学等多方面知识,它的主要任务是研究计算机系统和通讯网络内信息的保护方法以实现系统内信息的安全、保密、真实和完整。其中,信息安全的核心是密码技术。密码技术是集数学、计算机科学、电子与通讯等诸多学科于一身的交叉学科。它不仅能够保证机密性信息的加密,而且能够实现数字签名、身份有效性、系统安全等功能。是现代化发展的重要科学之一。本文将对公钥密码系统及该系统中当前最广泛流行的RSA 演算法做一些简单介绍。
§2公钥密码系统
要帮助公钥密码系统,首先来了解一下不同的加密演算法:当前的加密演算法按密钥方式可分为单钥密码演算法和公钥密码演算法。
2.1. 单钥密码
又称对称式密码,是一种比较传统的加密方式,其加密运算、解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码)。因此,通讯双方都必须获得这把钥匙,并保持钥匙的秘密。
单钥密码系统的安全性依赖于以下两个因素:第一,加密演算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的;第二,加密方法的安全性依赖于密钥的秘密性,而不是演算法的秘密性,因此,我们没有必要确保演算法的秘密性(事实上,现实中使用的很多单钥密码系统的演算法都是公开的),但是我们一定要保证密钥的秘密性。
从单钥密码的这些特点我们容易看出它的主要问题有两点:第一,密钥量问题。在单钥密码系统中,每一对通讯者就需要一对密钥,当用户增加时,必然会带来密钥量的成倍增长,因此在网络通讯中,大量密钥的产生 存放和分配将是一个难以解决的问题。第二,密钥分发问题。单钥密码系统中,加密的安全性完全依赖于对密钥的保护,但是由于通讯双方使用的是相同的密钥,人们又不得不相互交流密钥,所以为了保证安全,人们必须使用一些另外的安全信道来分发密钥,例如用专门的信使来发送密钥,这种做法的代价是相当大的,甚至可以说是非常不现实的,尤其在计算机网络环境下,人们使用网络发送加密的文档,却需要另外的安全信道来分发密钥,显而易见,这是非常不智是甚至是荒谬可笑的。
2.2 公钥密码
正因为单钥密码系统存在如此难以解决的缺点,发展一种新的 更有效 更先进的密码体制显得更为迫切和必要。在这种情况下,出现了一种新的公钥密码体制,它突破性地解决了困扰着无数科学家的密钥分发问题,事实上,在这种体制中,人们甚至不用分发需要严格保密的密钥,这次突破同时也被认为是密码史上两千年来自单码替代密码发明以后最伟大的成就。
这一全新的思想是本世纪70年代,美国斯坦福大学的两名学者Diffie和Hellman提出的,该体制与单钥密码最大的不同是:
在公钥密码系统中,加密和解密使用的是不同的密钥(相对于对称密钥,人们把它叫做非对称密钥),这两个密钥之间存在着相互依存关系:即用其中任一个密钥加密的信息只能用另一个密钥进行解密。这使得通讯双方无需事先交换密钥就可进行保密通讯。其中加密密钥和演算法是对外公开的,人人都可以通过这个密钥加密文档然后发给收信者,这个加密密钥又称为公钥;而收信者收到加密文档后,它可以使用他的解密密钥解密,这个密钥是由他自己私人掌管的,并不需要分发,因此又成称为私钥,这就解决了密钥分发的问题。
为了帮助这一思想,我们可以考虑如下的模拟:
两个在不安全信道中通讯的人,假设为Alice(收信者)和Bob(发信者),他们希望能够安全的通讯而不被他们的敌手Oscar破坏。Alice 想到了一种办法,她使用了一种锁(相当于公钥),这种锁任何人只要轻轻一按就可以锁上,但是只有Alice的钥匙(相当于私钥)才能够打开。然后Alice 对外发送无数把这样的锁,任何人比如Bob想给她寄信时,只需找到一个箱子,然后用一把Alice的锁将其锁上再寄给Alice,这时候任何人(包含Bob自己)除了拥有钥匙的Alice,都不能再打开箱子,这样即使Oscar能找到Alice的锁,即使Oscar能在通讯过程中截获这个箱子,没有Alice的钥匙他也不可能打开箱子,而Alice的钥匙并不需要分发,这样 Oscar也就无法得到这把“私人密钥”。
从以上的介绍可以看出,公钥密码体制的思想并不复杂,而实现它的关键问题是如何确定公钥和私钥及加/解密的演算法,也就是说如何找到“Alice的锁和钥匙”的问题。我们假设在这种体制中, PK是公开信息,用作加密密钥,而SK需要由用户自己保密,用作解密密钥。加密演算法E和解密演算法D也都是公开的。虽然SK与PK是成对出现,但却不能根
据PK计算出SK。它们须满足条件:
加密密钥PK对明文X加密后,再用解密密钥SK解密,即可恢复出明文,或写为:DSK(EPK(X))=X
加密密钥不能用来解密,即DPK(EPK(X))≠X
在计算机上可以容易地产生成对的PK和SK。
从已知的PK实际上不可能推导出SK。
加密和解密的运算可以对调,即:EPK(DSK(X))=X
从上述条件可看出,公开密钥密码体制下,加密密钥不等于解密密钥。加密密钥可对外公开,使任何用户都可将发送给此用户的信息用公开密钥加密发送,而该用户唯一保存的私人密钥是保密的,也只有它能将密文撤销、解密。虽然解密密钥理论上可由加密密钥推算出来,但这种演算法设计在实际上是不可能的,或者虽然能够推算出,但要花费很长的时间而成为不可行的。所以将加密密钥公开也不会危害密钥的安全。
这种体制思想是简单的,但是,如何找到一个适合的演算法来实现这个系统却是一个真正困扰密码学家们的难题,因为既然Pk和SK是一对存在着相互关系的密钥,那么从其中一个推导出另一个就是很有可能的,如果敌手Oscar能够从PK推导出SK,那么这个系统就不再安全了。因此如何找到一个合适的演算法生成合适的Pk和SK,并且使得从PK不可能推导出SK,正是迫切需要密码学家们解决的一道难题。这个难题甚至使得公钥密码系统的发展停滞了很长一段时间。
为了解决这个问题,密码学家们考虑了数学上的陷门单向函数,下面,我们可以给出它的非正式定义:
Alice的公开加密函数应该是容易计算的,而计算其逆函数(即解密函数)应该是困难的(对于除Alice以外的人)。许多形式为Y=f(x)的函数,对于给定的自变量x值,很容易计算出函数Y的值;而由给定的Y值,在很多情况下依照函数关系f (x)计算x值
分困难。这样容易计算但难于求逆的函数,通常称为单向函数。在加密过程中,我们希望加密函数E为一个单项的单射函数,以便可以解密。虽然当前还没有一个函数能被证明是单向的,但是有很多单射函数被认为是单向的。
例如,有如下一个函数被认为是单向的,假定n为两个大素数p和q的乘积,b为一个正整数,那么定义f :
f (x )= x b mod n
(如果gcd(b,φ(n))=1,那么事实上这就是我们以下要说的RSA加密函数)
如果我们要构造一个公钥密码体制,仅给出一个单向的单射函数是不够的。从Alice的观点来看,并不需要E是单向的,因为它需要用有效的方式解密所收到的信息。因此,Alice应该拥有一个陷门,其中包含容易求出E的你函数的秘密信息。也就是说,Alice可以有效解密,因为它有附加的的秘密知识,即SK,能够提供给你解密函数D。因此,我们称一个函数为一个陷门单向函数,如果它是一个单向函数,并在具有特定陷门的知识后容易求出其逆。
考虑上面的函数 f (x) = xb mod n 。我们能够知道其逆函数f -1有类似的形式 f (x ) = xa mod n,对于合适的取值 a。陷门就是利用 n的因子分解,有效的算出正确的指数a(对于给定的b)。
为方便起见,我们把特定的某类陷门单向函数计为Ғ。那么随机选定一个函数f 属于Ғ,作为公开加密函数;其逆函数f -1是秘密解密函数。那么公钥密码体制就能够实现了。
根据以上关于陷门单向函数的思想,学者们提出了许多种公钥加密的方法,它们的安全性都是基于复杂的数学难题。根据所基于的数学难题,至少有以下三类系统当前被认为是安全和有效的:大整数因子分解系统(代表性的有RSA)、椭园曲线离散对数系统(ECC)和离散对数系统 (代表性的有DSA)。
§3 RSA演算法
3.1 简介
当前最著名、应用最广泛的公钥系统RSA是在1978年,由美国麻省理工学院(MIT)的Rivest、Shamir和Adleman在题为《获得数字签名和公开钥密码系统的方法》的论文中提出的。它是一个基于数论的非对称(公开钥)密码体制,是一种分组密码体制。其名称来自于三个发明者的姓名首字母。 它的安全性是基于大整数素因子分解的困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决,因此可以确保RSA演算法的安全性。RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA演算法。
RSA演算法是第一个既能用于数据加密也能用于数字签名的演算法,因此它为公用网络上信息的加密和鉴别提供了一种基本的方法。它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册,人们用公钥加密文档发送给个人,个人就可以用私钥解密接受。为提高保密烈度,RSA密钥至少为500位长,一般推荐使用1024位。
该演算法基于下面的两个事实,这些事实保证了RSA演算法的安全有效性:
1) 已有确定一个数是不是质数的快速演算法;
2) 尚未找到确定一个合数的质因子的快速演算法。
3.2 任务原理
1) 任意选定两个不同的大质数p和q,计算乘积r=p*q;
2) 任意选定一个大整数e,e与(p-1)*(q-1)互质,整数e用做加密密钥。注意:e的选定是很容易的,例如,所有大于p和q的质数都可用。
3) 确定解密密钥d: d * e = 1 modulo(p - 1)*(q - 1) 根据e、p和q可以容易地计算出d。
4) 公开整数r和e,但是不公开d;
5) 将明文P (假设P是一个小于r的整数)加密为密文C,计算方法为:
C = Pe modulo r
6) 将密文C解密为明文P,计算方法为:
P = Cd modulo r
然而只根据r和e(不是p和q)要计算出d是不可能的。因此,任何人都可对明文进行加密,但只有授权用户(知道d)才可对密文解密。
3.3 简单实例
为了帮助该演算法的任务过程,我们下面给出一个简单例子,显然我们在这只能取很小的数字,但是如上所述,为了保证安全,在实际应用上我们所用的数字要大的多得多。
例:选定p=3, q=5,则r=15,(p-1)*(q-1)=8。选定e=11(大于p和q的质数),通过d * 11 = 1 modulo 8,计算出d =3。
假定明文为整数13。则密文C为
C = Pe modulo r
= 1311 modulo 15
= 1,792,160,394,037 modulo 15
= 7
撤销明文P为:
P = Cd modulo r
= 73 modulo 15
= 343 modulo 15
= 13
因为e和d互逆,公开密钥加密方法也允许采用这样的方式对加密信息进行"签名",以便接收方能确定签名不是伪造的。
假设A和B希望通过公开密钥加密方法进行数据传输,A和B分别公开加密演算法和相应的密钥,但不公开解密演算法和相应的密钥。A和B的加密演算法分别是ECA和ECB,解密演算法分别是DCA和DCB,ECA和DCA互逆,ECB和DCB互逆。 若A要向B发送明文P,不是简单地发送ECB(P),而是先对P施以其解密演算法DCA,再用加密演算法ECB对结果加密后发发送去。
密文C为:
C = ECB(DCA(P))
B收到C后,先后先后施解密演算法DCB和加密演算法ECA,得到明文P:
ECA(DCB(C))
= ECA(DCB(ECB(DCA(P))))
= ECA(DCA(P)) /*DCB和ECB相互抵消*/
= P /*DCB和ECB相互抵消*/
这样B就确定报文确实是从A发出的,因为只有当加密过程利用了DCA演算法,用ECA才能获得P,只有A才知道DCA演算法,没 有人,即使是B也不能伪造A的签名。
3.4 优缺点
3.4.1优点
RSA演算法是第一个能同时用于加密和数字签名的演算法,也易于理解和操作。RSA是被研究得最广泛的公钥演算法,从提出到现在已近二
年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是当前最优秀的公钥方案之一。该演算法的加密密钥和加密演算法分开,使得密钥分配更为方便。它特别符合计算机网络环境。对于 网上的大量用户,可以将加密密钥用电话簿的方式印出。如果某用户想与另一用户进行保密通讯,只需从公钥簿上查出对方的加密密钥,用它对所发送的信息加密发出即可。对方收到信息后,用仅为自己所知的解密密钥将信息脱密,了解报文的属性。由此可看出,RSA演算法解决了大量网络用户密钥管理的难题,这是公钥密码系统相对于对称密码系统最冒尖的优点。
3.4.2缺点
1)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。
2)安全性, RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价,而且密码学界多数人士倾向于因子分解不是NPC问题。当前,人们已能分解140多个
进制位的大素数,这就要求使用更长的密钥,速度更慢;另外,当前人们正在积极查找攻击RSA的方法,如选择密文攻击,一般攻击者是将某一信息作一下伪装(Blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。实际上,攻击利用的都是同一个弱点,即存在这样一个事实:乘幂保留了输入的乘法结构:
( XM )d = Xd *Md mod n
前面已经提到,这个固有的问题来自于公钥密码系统的最有用的特征--每个人都能使用公钥。但从演算法上无法解决这一问题,主要措施有两条:一条是采用好的公钥协议,保证任务过程中实体不对其他实体任意产生的信息解密,不对自己一无所知的信息签名;另一条是决不对陌生人送来的随机文档签名,签名时首先使用One-Way Hash Function对文档作HASH处理,或同时使用不同的签名演算法。除了利用公共模数,人们还尝试一些利用解密指数或φ(n)等等攻击.
3)速度太慢,由于RSA 的分组长度太大,为保证安全性,n 至少也要 600 bitx以上,使运算代价很高,尤其是速度较慢,较对称密码演算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。当前,SET(Secure Electronic Transaction)协议中要求CA采用2048比特长的密钥,其他实体使用1024比特的密钥。为了速度问题,当前人们广泛使用单,公钥密码结合使用的方法,优缺点互补:单钥密码加密速度快,人们用它来加密较长的文档,然后用RSA来给文档密钥加密,极好的解决了单钥密码的密钥分发问题。
§4退出语
当前,日益激增的电子商务和其它因特网应用需求使公钥体系得以普及,这些需求量主要包含对服务器资源的访问控制和对电子商务交易的保护,以及权利保护、个人隐私、无线交易和属性完整性(如保证新闻报道或股票行情的真实性)等方面。公钥技术发展到今天,在市场上明显的发展趋势就是PKI与操作系统的集成,PKI是“Public Key Infrastructure”的缩写,意为“公钥基础设施”。公钥体制广泛地用于CA认证、数字签名和密钥交换等领域。
公钥加密演算法中使用最广的是RSA。RSA演算法研制的最初理念与目标是努力使互联网安全可靠,旨在解决DES演算法秘密密钥的利用公开信道传输分发的难题。而实际结果不但很好地解决了这个难题;还可利用RSA来完成对电文的数字签名以抗对电文的否认与抵赖;同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,以保护数据信息的完整性。当前为止,很多种加密技术采用了RSA演算法,该演算法也已经在互联网的许多方面得以广泛应用,包含在安全接口层(SSL)标准(该标准是网络浏览器创建安全的互联网连接时必须用到的)方面的应用。此外,RSA加密系统还可应用于智能聪明卡和网络安全产品。
但当前RSA演算法的专利期限即将退出,取而代之的是基于椭圆曲线的密码方案(ECC演算法)。较之于RSA演算法,ECC有其相对优点,这使得ECC的特性更适合当今电子商务需要快速反应的发展潮流。此外,一种全新的量子密码也正在发展中。
至于在实际应用中应该采用何种加密演算法则要结合具体应用环境和系统,不能简单地根据其加密烈度来做出判断。因为除了加密演算法本身之外,密钥合理分配、加密效率与现有系统的结合性以及投入产出分析都应在实际环境中具体考虑。加密技术随着网络的发展更新,将有更安全更易于实现的演算法不断产生,为信息安全提供更有力的保障。今后,加密技术会何去何从,我们将拭目以待。
参考文献:
[1] Douglas R.Stinson.《密码学原理与实践》.北京:电子工业出版社,2003,2:131-132
[2] 西蒙.辛格.《密码故事》.海口:海南出版社,2001,1:271-272
[3] 嬴政天下.加密演算法之RSA演算法.http://soft.winzheng.com/infoView/Article_296.htm,2003
[4] 加密与数字签名.http://www.njt.cn/yumdq/dzsw/a2.htm
[5] 黑客中级教程系行之
.http://www.qqorg.i-p.com/jiaocheng/10.html
public key cipher system and RSA public key algorithm
Abstract
The paper introduce the idea and character of the Public Key cryptography in a simple way, especially expound the theoretical foundation, the working principle and the concrete realizing procedure of the RSA algorithm. Besides that, it accounts for how the algorithm realize through a simple example. In the end of this article, some weakness which exist up to now are given out with their solution.
Key Word Public Key cryptography , Public Key , Private Key, RSA
{根据作者要求:其他站点请勿转载}