RSAEncryption: open keys are more secure
上节 已经知道,通过模运算这种不可逆的数学工具,密码学已经发展到不需要单独发送钥匙了。
这个突破很大,但它实用吗?答案是不行。
因为这套方案有个前提——需要双方一直同时在线,通信才能启动。而现实中,像我们用微信、发短信、发邮件,一般都不用对方立刻回复。这个应用场景的问题不解决,这套方法就没法商用。
最终实现这个功能的,是第六代密码法——RSA加密法。
这门课到现在,我们讲了很多加密方法,如今大多数都不再使用了。而RSA加密法,仍是目前使用最广泛的方法。像我们的手机支付加密、网银加密,都会用到它。
关乎钱包和信息安全,你一定得认真听。
RSA这3个字母,分别代表的是它的3位创立者——Ron Rivest、Adi Shamir、Leonard Adleman。
下面我们用打比方的方式,来说说具体的加密过程:
这个过程的关键点就是,对同一把锁来说,上锁和开锁用的是两把不同的钥匙,而之前我们说的所有加密法都是使用相同钥匙的。
所以之前的都叫“ 对称钥匙 ”,而RSA因为使用了不同的钥匙,所以叫“非对称钥匙”,或者“非对称加密”。
刚刚我们用一个非常简单的比喻,把非对称加密过程形容了一下。但还是那句话,比喻是不能代替理解的,实际的思考逻辑是这样的:
爱丽丝要设计出一把公开钥匙,之所以公开,是为了让每个人都能复制这把钥匙,用来给自己发信息加密用。但这把钥匙,又一定不能解开加密过的信息。
所以这一步,需要一种不可逆的函数运算,只能加密不能解密,这个就可以用我们上节课说的模运算来实现。
爱丽丝本人还得有一把私人钥匙,它是不公开的。而这把钥匙,可以解开用她的公开钥匙加密过的信息。
具体的细节比较难懂,需要公式的辅助,我来说说关键步骤:
爱丽丝展示出来的公开钥匙,是通过两个比较大的素数p和q相乘得到的一个更大的数N得到的。p和q具体是多少,爱丽丝只要自己知道就行,千万不要告诉别人。而乘积N是公开的,谁都可以知道。
凡是要给爱丽丝发消息的人,都需要用N来加密。加密的过程依然用的是模运算,而且模就是N。整个数学过程会保证这个模运算不可逆,所以伊芙就算知道N也没用。
那爱丽丝是怎么解密的呢?她解密时就不需要N了,而是要用到p和q的具体值,而这两个值别人都不知道,只有爱丽丝自己知道。具体来说,爱丽丝私下做的另外一个模运算中的模,不是刚才我们说的N,而是另外一个值(p-1)×(q-1)。你看,在这个公式中就必须要知道p和q到底是多少才行。
至于为什么一定要是(p-1)×(q-1),你不用纠结,数学原理保证这样操作能算出一把新钥匙,这把新的钥匙就是爱丽丝自己的私钥。用这把私钥,一定可以解出原文。
你说,这样做就能保证安全吗?伊芙已经知道了一个大数N,她难道不能利用精巧的算法,找出N到底是由哪两个大的质数相乘得到的吗?
不能的,这种不能是由数学保证的。N越大,找到p和q两个因数的时间就增加得越夸张。现在银行使用的RSA加密,都要求N是一个超过300位的大数。想分解这样一个数,大约需要把全球计算机的算力集中起来算上几亿年才行。
有人可能会问,为什么非要用两个大的质数相乘呢?用两个巨大的合数相乘得到N,想把这个N的因数找齐,不是也要很久吗?没错,是要很久。但这样做的话,最后算出的私钥也没法解出原文了。所以,找两个质数相乘,也是由数学决定的。
1978年2月,顶级期刊《ACM通信》刊登了一篇文章,叫《一种实现数字签名和公钥密码系统的方法》(A Method of Obtaining Digital Signatures and Public-Key Cryptosystems),作者就是姓名以RSA这三个字母开头的密码学家。
在文章的第三页就出现了这么一句:
“我们假设一个场景,爱丽丝和鲍勃是公钥密码系统中的两个用户。”这篇文章此后所有的技术细节,爱丽丝和鲍勃就成了主角。这是密码学史上,爱丽丝和鲍勃的首次出现。
这种论文风格很另类,看上去好像在讲故事。那为什么是爱丽丝和鲍勃,而不是汤姆和杰瑞呢?
只要参考之前的通信类论文你就会发现,以往用来指代发送方和接收方的,一直都是A和B,而且由A发出的内容大都是α,由B发出的内容大都是β。
可能这三位密码学家不想太枯燥,就把名字以A开头的Alice当做A,把名字以B开头的Bob当做B,于是爱丽丝和鲍勃就这样尽人皆知了。
现在我们再来回头看,密码学发展的过程中,公开透明的部分越来越多。
到了第六代的RSA加密法,不但加密的操作公开了,连部分钥匙都公开了。而且公钥不是情不得已才公开的,而是越公开益处越大,因为这样才能有更多的人给你发加密消息。到了现在,唯一不能公开的就只有私钥。
可能听到这里,你会感觉RSA加密法使用的数学工具很陌生。没错,这个方法用到了两大数学领域的知识——质数方面的应用和数论有关,单向函数的应用和群论有关。
这个算法背后的数学证明,一般在计算机系《算法导论》有详细论述。如果想深入了解,你可以参考这类教科书。
数学有很多分支,现在大多已经成为工程应用的理论基础了。不过它们化身为应用的范围有宽有窄,比如群论的应用就广阔很多,而数论部分就狭窄很多,目前只有密码学在应用。
1979年,RSA注册了专利后,还成就了很多信息安全公司。但如果就这样介绍完RSA加密法是如何创生的,那真的有人要受委屈了。
因为同样的加密法,其实早在4年就已经有人完整的做出来了。那他们为什么没有成为这种非对称钥匙系统的专利发明人呢?
道理还是我之前说的,密码学领域注定会有很多受屈者。
最早发明这种方法的,并不是RSA这三个人,而是詹姆斯·艾利斯(James Ellis)、克里佛·考克斯(Clifford Cocks)和马尔科姆·威廉森(Malcolm Williamson),我们简称他们三人为JCM。
他们都是英国政府通讯总部的员工。不知道你是不是还记得图灵破解恩尼格玛机时,那个庞大的情报部门布莱切利园。当时9000名员工,战后绝大部分都回到了原来的生活中,只有少数转去英国通讯总部做了公务员,这3位密码学家就是这样留任的。
他们之后的研究也全都带有军方项目的性质,所以是国家机密。别看1975年他们就做出了整套非对称钥匙加密系统,但直到24年后的1997年,人们才知道这件事。这时不要说和RSA争夺专利发明权了,连RSA的专利甚至都要过期了。
其实在1975年,JCM刚刚做出全套算法的时候,他们曾经向国家通讯总部提出过注册专利的要求,但总部没有批。
几年后他们听说RSA三个人注册了专利后,特别失落,因为他们才是最早的发明人,专利应该属于他们。但因为军方的限制,他们只好保持沉默。
到了80年代,随着计算机性能持续提升,RSA实用性越来越高,连当年拒绝JCM申请专利的通讯总部的长官,都开始后悔了。
而且这种遗憾,随着时间推移还在持续增加。2006年,RSA数据安全公司被EMC公司花2.1亿美元收购。又过了10年,EMC公司又被戴尔公司收购,成为戴尔技术品牌的一员。
1997年,英国公布JCM三人成果不久之后,他们举行了一次公开演讲。
演讲结束后,JCM里的威廉森接受采访,被问到错失专利的感受时,他说“没办法,人生就是这样”。另一个人考克斯的反应要更淡定一些,他说“我要是想得到公开的赞扬,就不会来做当前这份工作了”,他指的就是在英国通讯总部的工作。
而第三个人,也是最早参与研发的詹姆斯·艾利斯,在演讲前一个月刚刚过世,享年73岁。
讲到现在,密码学近代史上,已经有3个重要人物没有在他们有生之年获得应有的嘉奖了。
他们都是因为军方需要保密,而不得不做出牺牲。可从事密码学研究的人,有相当高的比例就是为政府情报部门工作的。这个属性就决定了,他们很容易受到历史不公正的评价。而对我们这些看客来说,关于密码学的突破,我们能了解到的,只是各国情报部门允许我们了解到的部分。
这是密码学这个学科分支,独有的文化特征。
这节讲了RSA加密法的加密原理,知道了这种“ 非对称加密 ”的高明之处。
下节引起了整个美国全民大讨论的密码学事件,看看RSA加密法是怎么被普及的。
密码大事记
公元前5世纪,古希腊斯巴达出现原始的密码器,用一条带子缠绕在一根木棍上,沿木棍纵轴方向写好明文,解下来的带子上就只有杂乱无章的密文字母。解密者只需找到相同直径的木棍,再把带子缠上去,沿木棍纵轴方向即可读出有意义的明文。这是最早的换位密码术。
公元前1世纪,著名的恺撒(Caesar)密码被用于高卢战争中,这是一种简单易行的单字母替代密码。
公元9世纪,阿拉伯的密码学家阿尔·金迪(al' Kindi 也被称为伊沙克 Ishaq,(801?~873年),同时还是天文学家、哲学家、化学家和音乐理论家)提出解密的频度分析方法,通过分析计算密文字符出现的频率破译密码。
公元16世纪中期,意大利的数学家卡尔达诺(G.Cardano,1501—1576)发明了卡尔达诺漏格板,覆盖在密文上,可从漏格中读出明文,这是较早的一种分置式密码。
公元16世纪晚期,英国的菲利普斯(Philips)利用频度分析法成功破解苏格兰女王玛丽的密码信,信中策划暗杀英国女王伊丽莎白,这次解密将玛丽送上了断头台。
几乎在同一时期,法国外交官维热纳尔(或译为维琼内尔) Blaise de Vigenere(1523-1596)提出著名的维热纳尔方阵密表和维热纳尔密码(Vigenerecypher),这是一种多表加密的替代密码,可使阿尔—金迪和菲利普斯的频度分析法失效。
公元1863,普鲁士少校卡西斯基(Kasiski)首次从关键词的长度着手将它破解。英国的巴贝奇(Charles Babbage)通过仔细分析编码字母的结构也将维热纳尔密码破解。
公元20世纪初,第一次世界大战进行到关键时刻,英国破译密码的专门机构“40号房间”利用缴获的德国密码本破译了著名的“齐默尔曼电报”,促使美国放弃中立参战,改变了战争进程。
大战快结束时,准确地说是1918年,美国数学家吉尔伯特·维那姆发明一次性便笺密码,它是一种理论上绝对无法破译的加密系统,被誉为密码编码学的圣杯。但产生和分发大量随机密钥的困难使它的实际应用受到很大限制,从另一方面来说安全性也更加无法保证。
第二次世界大战中,在破译德国著名的“恩格玛(Enigma)”密码机密码过程中,原本是以语言学家和人文学者为主的解码团队中加入了数学家和科学家。电脑之父亚伦·图灵(Alan Mathison Turing)就是在这个时候加入了解码队伍,发明了一套更高明的解码方法。同时,这支优秀的队伍设计了人类的第一部电脑来协助破解工作。显然,越来越普及的计算机也是军工转民用产品。美国人破译了被称为“紫密”的日本“九七式”密码机密码。靠前者,德国的许多重大军事行动对盟军都不成为秘密;靠后者,美军炸死了偷袭珍珠港的元凶日本舰队总司令山本五十六。
同样在二次世界大战中,印第安纳瓦霍土著语言被美军用作密码,从吴宇森导演的《风语者》Windtalkers中能窥其一二。所谓风语者,是指美国二战时候特别征摹使用的印第安纳瓦约(Navajo)通信兵。在二次世界大战日美的太平洋战场上,美国海军军部让北墨西哥和亚历桑那印第安纳瓦约族人使用约瓦纳语进行情报传递。纳瓦约语的语法、音调及词汇都极为独特,不为世人所知道,当时纳瓦约族以外的美国人中,能听懂这种语言的也就一二十人。这是密码学和语言学的成功结合,纳瓦霍语密码成为历史上从未被破译的密码。
1975年1月15日,对计算机系统和网络进行加密的DES(Data Encryption Standard数据加密标准)由美国国家标准局颁布为国家标准,这是密码术历史上一个具有里程碑意义的事件。
1976年,当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hellman)两人提出了公开密钥密码的新思想(论文"New Direction in Cryptography"),把密钥分为加密的公钥和解密的私钥,这是密码学的一场革命。
1977年,美国的里维斯特(Ronald Rivest)、沙米尔(Adi Shamir)和阿德勒曼(Len Adleman)提出第一个较完善的公钥密码体制——RSA体制,这是一种建立在大数因子分解基础上的算法。
1985年,英国牛津大学物理学家戴维·多伊奇(David Deutsch)提出量子计算机的初步设想,这种计算机一旦造出来,可在30秒钟内完成传统计算机要花上100亿年才能完成的大数因子分解,从而破解RSA运用这个大数产生公钥来加密的信息。
同一年,美国的贝内特(Bennet)根据他关于量子密码术的协议,在实验室第一次实现了量子密码加密信息的通信。尽管通信距离只有30厘米,但它证明了量子密码术的实用性。与一次性便笺密码结合,同样利用量子的神奇物理特性,可产生连量子计算机也无法破译的绝对安全的密码。
2003,位于日内瓦的id Quantique公司和位于纽约的MagiQ技术公司,推出了传送量子密钥的距离超越了贝内特实验中30厘米的商业产品。日本电气公司在创纪录的150公里传送距离的演示后,最早将在明年向市场推出产品。IBM、富士通和东芝等企业也在积极进行研发。目前,市面上的产品能够将密钥通过光纤传送几十公里。美国的国家安全局和美联储都在考虑购买这种产品。MagiQ公司的一套系统价格在7万美元到10万美元之间。
密码法于2020年1月1日起正式开始实施。2019年10月26日下午,十三届全国人大常委会第十四次会议表决通过密码法,于2020年1月1日起施行。
根据该法规定,密码工作坚持总体国家安全观,遵循统一领导、分级负责,创新发展、服务大局,依法管理、保障安全的原则。
坚持中国共产党对密码工作的领导。中央密码工作领导机构对全国密码工作实行统一领导,制定国家密码工作重大方针政策,统筹协调国家密码重大事项和重要工作,推进国家密码法治建设。
法律依据
《密码法》第四条 坚持中国共产党对密码工作的领导。中央密码工作领导机构对全国密码工作实行统一领导,制定国家密码工作重大方针政策,统筹协调国家密码重大事项和重要工作,推进国家密码法治建设。
《密码法》第四十四条 本法自2020年1月1日起施行。
军事学概述、射击学、弹道学、内弹道学、外弹道学、中间弹道学、终点弹道学、导弹弹道学、军事地理学、军事地形学、军事工程学、军事气象学、军事医学、军事运筹学、战役学、密码学、化学战 密码学(Cryptology)一字源自希腊文"krypto's"及"logos"两字,直译即为"隐藏"及"讯息"之意。而其使用, 可以追溯到大约四千年前。公元二千年,埃及人就将祭文刻在墓碑上。之后人们都是以书写在纸张上的方式, 用来传秘密讯息。在二次大战中,密码更是扮演一个举足轻重的角色,许多人认为同盟国之所以能打赢这场 战争完全归功于二次大战时所发明的破译密文数位式计算机破解德日密码。西元1949年,Shannon提出第一篇 讨论密码系统通讯理论之论文,近代密码学可说是滥觞于斯。直至西元1975年,Diffie与Hellman提出公开金 匙密码系统之观念,近代密码学之研究方向,正式脱离秘密金匙密码系统之窠臼,蓬勃发展,至今已近二十年。 发展至今,已有二大类的密码系统。第一类为对称金钥(Symmetric Key)密码系统,第二类为非对称金钥(Public Key) 密码系统。 首先密码学是由万维网的嬉皮士所研究,而且涉及钥匙传送问题。60年代�6�8请保安传送钥匙;70年初,发 现这个不是好辨法,费时浪费时间。 1965年,美国史丹福大学电机工程系--默克尔、迪菲、赫尔曼等三人研究密码学可惜并未有所发现。 另外在英国通讯电子保安组(CESG)秘密机构的切尔纳姆发现了还原密码式,但是由于属于秘密机构,所以 不能公开。直到1977年麻省理工研究生--里夫斯,阿德曼发现和切尔曼差不多的式。他们成立RSA Security Company (RSA是他们名字的字头)现时值25亿美元,在传送信用卡时起了很大作用。RSA已安装了5亿套产品在 IE , Netscape下的小锁就是RSA的产品。数学挂销第一个发现不是美国,但�是第一个公开。数学挂锁上锁易, 还原难,所以受广泛使用,亦即是信息编码保密。 数学挂锁泛例: 数学挂锁用单向式:N=pxq --例子 N(合成数)=两个质数的乘 11x17=187=N 还原单向式公式:C=Me(mod N) *e是M的次数,因为在记事本中打不到* M*13*(mod 187)=C *13是M的次数* c=165 x=88 (password kiss) 88*13*(mod 187)=165 *13是88的次数* modN=M C*1/e*mod(p-1)(q-1)=88 C=165 p=11 q=17 answer:mod 187=88 一般有两种类型密码学被使用: symmetric key (对称性的钥匙) 和 public key (公开的钥匙)(也叫 非对称的钥匙) 密码学. 举一个简单的对称的钥匙密码学的范例, 假想从朋友处收到一个通知. 你和你的朋友同意来加解密你们的讯息, 你们将使用下列演算法: 每个字母将会上移三个字母, 例如 A=C, B=D, 而 Y 和 Z 转一圈回到 A 和 B, 这个方程式 ("每个字母上移三个字母") 就是送信者使用来加密讯息的钥匙; 而收信者使用相同的钥匙来解密 . 任何人如果没有钥匙就不能够读此讯息. 因为相同的钥匙视同实用来加密及解密讯息, 这个方法是一个 对称钥匙 的演算法. 这类的密码学及是我们所知的秘密钥匙密码学,因为此钥匙 必须被秘密保存于送信者和收信者,以保护资料的完整性. 非对称性密码学 非对称性或公开的钥匙 密码学, 不同于对称性的 密码学, 在于其加密钥匙只适用于单一使用者. 钥匙被分为两个部分: 一把私有的钥匙, 仅有使用者才拥有. 一把公开的钥匙, 可公开发行配送,只要有要求即取得. 每支钥匙产生一个被使用来改变内文的功能. 私有的钥匙 产生一个 私有改变内文的功能,而公开的钥匙 产生一个 公开改变内文的功能. 这些功能是反向相关的, 例如., 如果一个功能是用来加密讯息,另外一个功能则被用来解密讯息.不论此改变内文功能的次序为何皆不重要. 公开的钥匙系统的优势是两个使用者能够安全的沟通而不需交换秘密钥匙. 例如, 假设一个送信者需要传送一个信息给一个收信者, 而信息的秘密性是必要的, 送信者以收信者的公开的钥匙来加密,而仅有收信者的私有的钥匙能够对此信息解密. 公开的钥匙密码学是非常适合于提供认证,完整和不能否认的服务, 所有的这些服务及是我们所知的数位签名. 相关网站 密码学二 基本原理的密码法,可以分成两种:移位法(transposition)和替代法(substitution), 移位法就是将讯息里面的文字,根据一定的规则改变顺序,这种方法,在文字数量很大的时候, 便可以显示出他的优势,例如"Hello World"才不过10个字母便可以有11708340914350080000种排列的方式。 另外一种方法,就是替代法,还可以分成两种,一种是单字替代,一种是字母替代,两种的原理是一样的, 就是利用文字相对顺序的对应,来改变原来的文章,以英文为例,我们可以把英文字母往后移动三个位置,即: a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 泛例: Hello World How are you khoor zruog krz duh brx 这句话就变的难以辨认了,而且如果发信人收信人有协定好的话,那还可以把文字之间的空白删除,反正翻译回来的时候, 可以靠文句的意思,来推测断句断字的时机。 而单字替代,则是以每个单字,都去换成另外一个相对应的单字,这样来改写原文, 变成一个无法辨认其意义的加密文件。 移位法当然不只限于一种,光是英文字母不考虑大小写,就可以有25种互异的方法,每种密码法,都可视为一种加密法, 我们称为演算法(algorithm),和一把钥匙(KEY)的组合结果。钥匙是用来指定加密程序的演算细节。以移位法为例, 演算法是只以密码字母集里的字母,取代明文字母集里面的字母,钥匙便是收发信人定义的密码字母集。 整个密码学发展的程序,辨识找寻新的演算法,和保护钥匙避免被解密者发现的程序,钥匙在密码学中非常重要,因为即使演算法相同或太简单, 没有加密的钥匙的话,我们仍然很难去破解加密的文件。以单纯的英文字母,不单纯的平移,而用一个字母一个字母互换的话,不考虑大小写, 就有403291461126605635584000000种不同的钥匙必须要去测试,才可以得到原来的明文。 密码学的应用 1. 数位签章(Digital Signature): 这是以密码学的方法,根据EDI讯息的内容和发信人的私钥(Private Key)所产生的电子式签名。除非拥有该把私钥,任何人都无法产生该签名,因此比手写式的签名安全许多。 收信人则以发信人的公钥进行数位签章的验证。 2. 数位信封(Digital Envelope): 这是以密码学的方法,用收信人的公钥对某些机密资料进行加密,收信人收到后再用自己的私钥解密而读取机密资料。除了拥有该私钥的人之外, 任何人即使拿到该加密过的讯息都无法解密,就好像那些资料是用一个牢固的信封装好,除了收信人之外,没有人能拆开该信封。 3. 安全回条: 收信人依据讯息内容计算所得到的回覆资料,再以收信人的私钥进行数位签章后送回发信人,一方面确保收信人收到的讯息内容正确无误, 另一方面也使收信人不能否认已经收到原讯息。 4. 安全认证: 每个人在产生自己的公钥之后,向某一公信的安全认证中心申请注册,由认证中心负责签发凭证(Certificate),以保证个人身份与公钥的对应性与正确性 量子密码学(Jennewein et al., Quantum Cryptography with EntangledPhotons, Physical Review Letters, May 15, 2000, Vol 84, Iss 20, pp. 4729-4732) 三个独立研究机构首次实验证明利用量子幽灵式的特性来建构密码之可行性, 这项研究提供未来对付电脑骇客的防犯之道. 在这个最新--也是最安全--的资料加密解密架构(即量子密码学)中,研究者是采用一对 entangled光子, 而这对粒子即使相隔远距离的情况下,仍有密切的互动关系. entanglement-based 的量子密码学具有唯一的, 不可被窃听的传输特性, 如果有偷听者想窃取资料, 也很容易的可以监测出来. 简而言之, entanglement process 可以建立完整的, 随机的 0与 1 序列提供两端使用者传输资料, 如果有骇客从中撷取资料, 那么这个讯息序列将被改变, 用户就会发现有窃听者, 并授权放弃被窃听的资料. 这种数位随机序列, 或称 "金钥匙", 再和资料进行计算 (如互斥或闸 XOR), 即加密程序, 使得这资料串形成一完全随机序列, 这方法就是已知的 one-time pad cipher. 同理, 接收端也是靠着金钥匙来进行解密程序. 在研究中, Los Alamos 研究者模拟一位窃听者窃取传输资料, 成功地被侦测出来, 并授权用户放弃被窃取的资料. 而在澳洲的研究团队, 则建立了一公里长的光纤来连接两个完全独立的传输, 接收站来验证 entangled 密码理论, 他们建立了金钥匙并成功的传输 Venus 影像. 同时, 在 University of Geneva 团队建构超过数公里的光纤, 并使用光子频率来验证entangled 密码理论. 在这些实验中, 虽然他们的传输速率较慢, 但 entanglement-based 密码理论在未来极有可能超越non-entangled 量子密码理论, 不仅是传输速率, 而且在预防资料被窃取方面, 所需要的额外光子也比较少.
发展历程
密码学(在西欧语文中,源于希腊语kryptós“隐藏的”,和gráphein“书写”)是研究如何隐密地传递信息的学科。在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。
著名的密码学者Ron Rivest解释道:“密码学是关于如何在敌人存在的环境中通讯”,自工程学的角度,这相当于密码学与纯数学的异同。密码学是信息安全等相关议题,如认证、访问控制的核心。密码学的首要目的是隐藏信息的涵义,并不是隐藏信息的存在。
密码学也促进了计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。密码学已被应用在日常生活:包括自动柜员机的芯片卡、电脑使用者存取密码、电子商务等等。
密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。
密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码编制及破译手段都具有高度的机密性。
进行明密变换的法则,称为密码的体制。指示这种变换的参数,称为密钥。它们是密码编制的重要组成部分。
密码体制的基本类型可以分为四种:错乱按照规定的图形和线路,改变明文字母或数码等的位置成为密文;代替——用一个或多个代替表将明文字母或数码等代替为密文;密本——用预先编定的字母或数字密码组,代替一定的词组单词等变明文为密文。
加乱——用有限元素组成的一串序列作为乱数,按规定的算法,同明文序列相结合变成密文。以上四种密码体制,既可单独使用,也可混合使用 ,以编制出各种复杂度很高的实用密码。
20世纪70年代以来,一些学者提出了公开密钥体制,即运用单向函数的数学原理,以实现加、脱密密钥的分离。加密密钥是公开的,脱密密钥是保密的。这种新的密码体制,引起了密码学界的广泛注意和探讨。
利用文字和密码的规律,在一定条件下,采取各种技术手段,通过对截取密文的分析,以求得明文,还原密码编制,即破译密码。破译不同强度的密码,对条件的要求也不相同,甚至很不相同。
其实在公元前,秘密书信已用于战争之中。西洋“史学之父”希罗多德(Herodotus)的《历史》(The Histories)当中记载了一些最早的秘密书信故事。公元前5世纪,希腊城邦为对抗奴役和侵略,与波斯发生多次冲突和战争。
于公元前480年,波斯秘密集结了强大的军队,准备对雅典(Athens)和斯巴达(Sparta)发动一次突袭。
希腊人狄马拉图斯(Demaratus)在波斯的苏萨城(Susa)里看到了这次集结,便利用了一层蜡把木板上的字遮盖住,送往并告知了希腊人波斯的图谋。最后,波斯海军覆没于雅典附近的沙拉米斯湾(Salamis Bay)。
由于古时多数人并不识字,最早的秘密书写的形式只用到纸笔或等同物品,随着识字率提高,就开始需要真正的密码学了。最古典的两个加密技巧是:
置换(Transposition cipher):将字母顺序重新排列,例如‘help me’变成‘ehpl em’。
替代(substitution cipher):有系统地将一组字母换成其他字母或符号,例如‘fly at once’变成‘gmz bu podf’(每个字母用下一个字母取代)。
扩展资料:
研究
作为信息安全的主干学科,西安电子科技大学的密码学全国第一。
1959年,受钱学森指示,西安电子科技大学在全国率先开展密码学研究,1988年,西电第一个获准设立密码学硕士点,1993年获准设立密码学博士点,是全国首批两个密码学博士点之一,也是唯一的军外博士点,1997年开始设有长江学者特聘教授岗位,并成为国家211重点建设学科。
2001年,在密码学基础上建立了信息安全专业,是全国首批开设此专业的高校。
西安电子科技大学信息安全专业依托一级国家重点学科“信息与通信工程”(全国第二)、二级国家重点学科“密码学”(全国第一)组建,是985工程优势学科创新平台、211工程重点建设学科。
拥有综合业务网理论及关键技术国家重点实验室、无线网络安全技术国家工程实验室、现代交换与网络编码研究中心(香港中文大学—西安电子科技大学)、计算机网络与信息安全教育部重点实验室、电子信息对抗攻防与仿真技术教育部重点实验室等多个国家级、省部级科研平台。
在中国密码学会的34个理事中,西电占据了12个,且2个副理事长都是西电毕业的,中国在国际密码学会唯一一个会员也出自西电。毫不夸张地说,西电已成为中国培养密码学和信息安全人才的核心基地。
以下简单列举部分西电信安毕业生:来学嘉,国际密码学会委员,IDEA分组密码算法设计者;陈立东,美国标准局研究员;丁存生,香港科技大学教授;邢超平,新加坡NTU教授;冯登国,中国科学院信息安全国家实验室主任,中国密码学会副理事长。
张焕国,中国密码学会常务理事,武汉大学教授、信安掌门人;何大可,中国密码学会副理事长,西南交通大学教授、信安掌门人;何良生,中国人民解放军总参谋部首席密码专家;叶季青,中国人民解放军密钥管理中心主任。
西安电子科技大学拥有中国在信息安全领域的三位领袖:肖国镇、王育民、王新梅。其中肖国镇教授是我国现代密码学研究的主要开拓者之一,他提出的关于组合函数的统计独立性概念,以及进一步提出的组合函数相关免疫性的频谱特征化定理,被国际上通称为肖—Massey定理。
成为密码学研究的基本工具之一,开拓了流密码研究的新领域,他是亚洲密码学会执行委员会委员,中国密码学会副理事长,还是国际信息安全杂志(IJIS)编委会顾问。
2001年,由西安电子科技大学主持制定的无线网络安全强制性标准——WAPI震动了全世界,中国拥有该技术的完全自主知识产权,打破了美国IEEE在全世界的垄断,华尔街日报当时曾报道说:“中国无线技术加密标准引发业界慌乱”。
这项技术也是中国在IT领域取得的具少数有世界影响力的重大科技进展之一。
西安电子科技大学的信息安全专业连续多年排名全国第一,就是该校在全国信息安全界领袖地位的最好反映。
参考资料来源:百度百科-密码学
在说维吉尼亚加密法的破解方法之前,有必要来回顾一下它的加密原理。
维吉尼亚加密法是由26套密码组成的表,我们默认要用多套密码给原文加密的时候,具体操作中密文的每个字母由哪套密码来加密,是由钥匙规定的。钥匙最初都是一个正常的单词,原文很长,钥匙最初很短,为了让原文和钥匙一一对应,就反复使用钥匙。比如钥匙是boy,只有3个字母,我们可以boyboyboy这样一直循环下去,和原文中每个字母一一对应。
我们先来看一个例子,在这个例子里,原文是“the sun and the man in the moon”,钥匙是KING,用维吉尼亚加密法加密之后,密码文是一串看起来没什么规律的字母。我们把钥匙、原文和密文的内容依次记录下来。
原文的内容中,有3个定冠词the,变成密文后,the变成了两种样子,第一种是DPR,第二和第三种是BUK。第一个我们不管,关键点就在于——
第二个和第三个竟然加密成了相同的密文。
为什么会出现这种情况,这是巧合吗?
不是的。我们可以看钥匙单词KING,它由4个字母组成。我们再看密文中,后两个代表the的BUK,间隔了8个字母,间隔距离正好是钥匙长度的2倍。也就是说,正好在KING这个钥匙循环到整数倍的时候,如果也正好赶上出现了同样的原文,那巧合就出现了——原文就会被加密成相同的密文。
根据这个规律,我们就能确定钥匙的长度。
比如有这样一段密文:
DYDUXRMH TV NQD QN DYDUXRMH ARTJGW NQD
其中,两个 DYDUXRMH 的出现相隔了15个字母。因此,可以假定钥匙的长度是15的约数,即长度为15、5或3。而两个 NQD 则相距20个字母,意味着钥匙长度应为20、10、5、4或2。取两者的交集,则可以基本确定钥匙长度为5。
这一步,就是破解维吉尼亚加密法的关键一步。
接下来,我们已经知道钥匙的长度是5了,那就意味着在原文中第1、第6、第11、第16……,这些字母单独挑出来放在一组叫作A组。A组可是由维吉尼亚密码表中,同一行移位的字母加密得到的结果。我们再把第2、第7、第12、第17……,这些字母挑出来放在一起称作B组,它们又是用另一行移位字母加密得到的。
我们把这些按组别归纳起来:
A组:第1、第6、第11、第16……
B组:第2、第7、第12、第17……
C组:第3、第8、第13、第18……
D组:第4、第9、第14、第19……
F组:第5、第10、第15、第20……
这就相当于,将原来的密文分解成了五组新的密文,每一组都是由维尼尼亚加密法中的单独一行加密而成,也即单套密码加密。
单套密码加密怎么破解?我们之前介绍过的——频率分析法。
所以,我们来总结一下维吉尼亚加密法的步骤:
第一步,是从密文中找出拼写完全相同的字母串;
第二步,计算出钥匙的长度;
第三步,将密文分析成若干组(与钥匙长度对应);
第四步,分别对每组密文用频率分析法破解。
在20世纪之前,人们一直以为这套方法是普鲁士少校卡西斯基在1863年发明的,所以一直以来这套破解法叫作“卡西斯基试验法”。但是后来更多的资料公布,发现剑桥大学的英国科学家巴贝奇在9年前就已经写下了解法,这位巴贝奇也是后世认为的计算机创造者之一。
发明者受委屈,这既是密码学领域的特点,又是密码学研究者躲不过的委屈。
不论是剑桥大学的巴贝奇,还是普鲁士军官卡西斯基,虽然他们破解了维吉尼亚密码法,但他们在世的时候,始终都不知道自己其实已经在密码学上引起了一场革命。
往期文章:
密码那些事儿|(九)维吉尼亚登场
密码那些事儿|(八)玛丽女王被密码改变的人生
密码那些事儿|(七)以频率之矛,攻移位之盾
密码那些事儿|(六)中外古时候的移位加密
密码那些事儿|(五)换个位置,面目全非
密码那些事儿|(四)隐藏的消息
密码那些事儿|(三)“风语者”——从未被破解的密码
密码那些事儿|(二)密码学发展的七个阶段
密码那些事儿|(一)无所不在的密码
本人是官方授权会员推广专员,点击 会员专属通道 成为会员,您将会获得钻奖励及诸多权益!
《钻奖励调整公告》