《信息安全第二章密码学概论L1》由会员分享,可在线阅读,更多相关《信息安全第二章密码学概论L1(48页珍藏版)》请在金锄头文库上搜索。
1、1,第二章 密码学概论,2.1 密码学的基本概念 密码学(Cryptology): 是研究如何实现秘密通信的科学。包括密码编码学和密码分析学。 密码编码学(Cryptography): 主要研究对信息进行编码,实现信息保密性的科学。 密码分析学(Cryptanalytics):主要研究、分析、破译密码的科学。,2,2.1 密码学的基本概念,密码学的起源和发展三个阶段: 1949年之前密码学是一门艺术 19491975年密码学成为科学 1976年以后密码学的新方向公钥密码学,3,历史回顾,密码学在公元前400多年就早已经产生了,正如破译者一书中所说“人类使用密码的历史几乎与使用文字的时间一样长”
2、。密码学的起源的确要追溯到人类刚刚出现,并且尝试去学习如何通信的时候,为了确保他们的通信的机密,最先是有意识的使用一些简单的方法来加密信息,通过一些(密码)象形文字相互传达信息。接着由于文字的出现和使用,确保通信的机密性就成为一种艺术,古代发明了不少加密信息和传达信息的方法。例如我国古代的烽火就是一种传递军情的方法,再如古代的兵符就是用来传达信息的密令。就连闯荡江湖的侠士,都有秘密的黑道行话,这都促进了密码学的发展。 军事和外交一直是密码应用的最重要的领域,国王、将军、外交官以及阴谋分子等,为了在通讯过程中保护自己信息不被外人所知,使用过形形色色的密码;而为了刺探于己不利的秘密,他们又绞尽脑汁
3、地试图破译对手的密码。加密与解密一直是密码学这枚硬币互相对抗又互相促进的两面。 在第一次世界大战期间,德国间谍曾经依靠字典编写密码。例如25-3-28表示某字典的第25页第3段第28个单词。但是,这种加密方法被美国情报部门用了几天时间破译了。给德国造成了巨大的损失。,4,历史回顾,直到第一次世界大战结束为止,所有密码都是使用手工来编码的。直接了当地说,就是铅笔加纸的方式。在我国,邮电局电报编码和译码直到很晚(大概是上个世纪八十年代初)还在使用这种手工方法。 1918年,德国发明家亚瑟谢尔比乌斯(Arthur Scherbius)和他的朋友理查德里特(Richard Ritter)创办了谢尔比乌
4、斯和里特公司。这是一家专营把新技术转化为应用方面的企业,很象现在的高新技术公司,利润不小,可是风险也很大。谢尔比乌斯负责研究和开发方面,紧追当时的新潮流。他曾在汉诺威和慕尼黑研究过电气应用,他的一个想法就是要用二十世纪的电气技术来取代那种过时的铅笔加纸的加密方法。,5,谢尔比乌斯发明的加密电子机械名ENIGMA(恩尼格玛) ,在以后的年代里,它将被证明是有史以来最为可靠的加密系统之一,而对这种可靠性的盲目乐观,又使它的使用者遭到了灭顶之灾。这是后话,暂且不提。,亚瑟谢尔比乌斯,ENIGMA,6,1918年谢尔比乌斯申请了ENIGMA的专利。他以为既然自己的发明能够提供优秀的加密手段,又能拥有极
5、高的加密解密效率,一定能很快就畅销起来。他给商业界提供了一种基本型ENIGMA,又给外交人员提供一种豪华的装备有打印机的型号。但是他似乎搞错了。他的机器售价大约相当于现在的30000美元(如果订购一千台的话每台便宜4000美元)。这个价钱使得客户望而却步。虽然谢尔比乌斯向企业家们宣称,如果他们重要的商业秘密被竞争对手知道了的话,遭到的损失将比ENIGMA的价格高得多,但是企业家们还是觉得他们没有能力来购买ENIGMA。谢尔比乌斯的新发明并没有象他预料的那样带来多少回响。军队方面对他的发明也没有什么太多的注意。 谢尔比乌斯的失望是可想而知的。但是这方面他不是唯一的人。和他几乎同时在另外三个国家的
6、三个发明家也都独立地想到了发明了使用转子的电气加密机的主意。1919年荷兰发明家亚历山大科赫(Alexander Koch)注册了相似的专利,可是却没有能够使它商业化,1927年他只好卖掉了他的专利。在瑞典,阿维德达姆(Arvid Damm)也获得了一个差不多的专利,但是直到1927年他去世时还是没有能找到市场。在美国,爱德华赫本(Edward Hebern)发明了他的“无线狮身人面”,对它充满希望。他用三十八万美元开了一个工厂,却只卖出价值一千两百美元的十来台机器。1926年在加利福尼亚州赫本被股东起诉,被判有罪。,7,可是谢尔比乌斯突然时来运转。英国政府发表了两份关于一次大战的文件使得德国
7、军队开始对他的发明大感兴趣。其中一份是1923年出版的温斯顿丘吉尔的著作世界危机,其中有一段提到了英国和俄国在军事方面的合作,指出俄国人曾经成功地破译了某些德军密码,而使用这些成果,英国的40局(英国政府负责破译密码的间谍机构)能够系统性地取得德军的加密情报。德国方面几乎是在十年之后才知道这一真相。第二份文件同样是在1923年由皇家海军发表的关于第一次世界大战的官方报告,其中讲述了在战时盟军方面截获(并且破译)德军通讯所带来的决定性的优势。这些文件构成了对德国情报部门的隐性指控,他们最终承认“由于无线电通讯被英方截获和破译,德国海军指挥部门就好象是把自己的牌明摊在桌子上和英国海军较量。 为了避
8、免再一次陷入这样的处境,德军对谢尔比乌斯的发明进行了可行性研究,最终得出结论:必须装备这种加密机器。自1925年始,谢尔比乌斯的工厂开始系列化生产ENIGMA,次年德军开始使用这些机器。接着政府机关,如国营企业,铁路部门等也开始使用ENIGMA。这些新型号的机器和原来已经卖出的一些商用型号不同,所以商用型机器的使用者就不知道政府和军用型的机器具体是如何运作的。,8,接下来的十年中,德国军队大约装备了三万台ENIGMA。谢尔比乌斯的发明使德国具有了最可靠的加密系统。在第二次世界大战开始时,德军通讯的保密性在当时世界上无与伦比。似乎可以这样说,ENIGMA在纳粹德国二战初期的胜利中起到的作用是决定
9、性的,但是我们也会看到,它在后来希特勒的灭亡中扮演了重要的角色。但是谢尔比乌斯没有能够看见所有这一切。有一次在套马时,他被摔到了一面墙上,于1929年5月13日死于内脏损伤。,9,事实上,密码学真正成为科学是在19世纪末和20世纪初期,由于军事、数学、通讯等相关技术的发展,特别是两次世界大战中对军事信息保密传递和破获敌方信息的需求,密码学得到了空前的发展,并广泛的用于军事情报部门的决策。 例如在希特勒一上台时,德国就试验并使用了一种命名为“谜”( ENIGMA )的密码机,“谜”型机能产生220亿种不同的密钥组合,假如一个人日夜不停地工作,每分钟测试一种密钥的话,需要约4.2万年才能将所有的密
10、钥可能组合试完,希特勒完全相信了这种密码机的安全性。 然而,英国获知了“谜”型机的密码原理,在波兰人的帮助下完成了一部针对“谜”型机的绰号叫“炸弹”的密码破译机,每秒钟可处理2000个字符,它几乎可以破译截获德国的所有情报。后来又研制出一种每秒钟可处理5000个字符的“巨人”型密码破译机并投入使用,至此同盟国几乎掌握了德国纳粹的绝大多数军事秘密和机密,而德国军方却对此一无所知。,10,马里安雷杰夫斯基 波兰人,破译ENIGMA机的功臣,波兰人想方设法搞到了一台商用的ENIGMA机器,大致弄清楚了它的工作原理。但是军用型的转子内部布线和商用型的完全不同,没有这个情报,想要破译德军的电报可谓难如登
11、天 。这时事情有了转机。汉斯提罗施密特(Hans-Thilo Schimdt) 于1888年出生在柏林的一个中产阶级家庭里,一次大战时当过兵打过仗。根据凡尔赛条约,战败后的德国进行了裁军,施密特就在被裁之列。退了伍后他开了个小肥皂厂,心想下海从商赚点钱。结果战后的经济萧条和通货膨胀让他破了产。此时他不名一文,却还有一个家要养。,11,和他潦倒的处境相反,他的大哥鲁道夫(Rudolph)在战后春风得意。和汉斯提罗一样都是一次大战的老兵,可鲁道夫没有被裁减,相反却一路高升。到了二十年代,他当上了德国通讯部门的头头,就是他正式命令在军队中使用ENIGMA。和大哥的成功比起来,汉斯提罗自然觉得脸上无光
12、。 可是破产后汉斯-提罗不得不放下自尊心来去见大哥,求他在政府部门替自己谋个职位。鲁道夫给他的二弟在密码处(Chiffrierstelle)找了个位置。这是专门负责德国密码通讯的机构ENIGMA的指挥中心,拥有大量绝密情报。汉斯提罗把一家留在巴伐利亚,因为在那里生活费用相对较低,勉强可以度日。就这样他一个人孤零零地搬到了柏林,拿着可怜的薪水,对大哥又羡又妒,对抛弃他的社会深恶痛绝。 接下来的事情可想而知。如果把自己可以轻松搞到的绝密情报出卖给外国情报机构,一方面可以赚取不少自己紧缺的钱,一方面可以以此报复这个抛弃了他的国家。1931年11月8日,施密特化名为艾斯克(Asche)和法国情报人员在
13、比利时接头,在旅馆里他向法国情报人员提供了两份珍贵的有关ENIGMA操作和转子内部线路的资料,得到一万马克。靠这两份资料,盟国就完全可以复制出一台军用的ENIGMA机。,12,不过事情并不象想象的那么简单。要破译ENIGMA密码,靠这些情报还远远不够。ENIGMA的设计使得搞到了它的秘密的法国人也一筹莫展。法国密码分析人员断定这种密码是不可破译的。他们甚至根本就懒得根据搞到的情报去复制一台ENIGMA。在十年前法国和波兰签订过一个军事合作协议。波兰方面一直坚持要取得所有关于ENIGMA的情报。既然看来自己拿着也没什么用,法国人就把从施密特那里买来的情报交给了波兰人。和法国人不同,破译ENIGM
14、A对波兰来说至关重要,就算死马也要当作活马医。现在他们总算能迈出最初的一步了。 后来英国应情报部门在波兰人的帮助下于1940年破译了德国直至1944年还自认安全可靠的ENIGMA的密码系统。,13,基本术语, 消息被称为明文(Plaintext)。用某种方法伪装消息以隐藏它的内容的过程称为加密(Encrtption),被加密的消息称为密文(Ciphertext),而把密文转变为明文的过程称为解密(Decryption)。 对明文进行加密操作的人员称作加密员或密码员(Cryptographer). 密码算法(Cryptography Algorithm):是用于加密和解密的数学函数。 密码员对明
15、文进行加密操作时所采用的一组规则称作加密算法(Encryption Algorithm). 所传送消息的预定对象称为接收者(Receiver). 接收者对密文解密所采用的一组规则称为解密算法(Decryption Algorithm).,14,密码体制, 一个密码系统(体制)包括所有可能的明文(P)、密文(C)、密钥(K)、加密算法(E)和解密算法(D)。 密码系统的安全性是基于密钥而不是加密和解密算法的细节。这意味着算法可以公开,甚至可以当成一个标准加以公布。,15,密码系统分类(从原理上),单密钥系统密码系统从原理上可分为两大类: 双密钥系统 单密钥系统又称为对称密码系统和秘密密钥密码系统
16、,单密钥系统的加密密钥和解密密钥相同,或实质上等同,即从一个易于得出另一个,如下图所示。,16,双密钥体制又称为非对称密码体制和公开密钥密码体制。双密钥体制有两个密钥,一个是公开的密钥,用K1表示,谁都可以使用;另一个是私人密钥,用K2表示,只由采用此体制的人自己掌握。从公开的密钥推不出私人密钥。如下图所示。,实现加密功能,数字签名,17,双钥密码体制的主要特点,双钥密码体制的主要特点是将加密和解密密钥分开,从而实现任何人都可以给持有私人密钥的人发送秘密消息,即用公开的密钥K1加密消息,发送给持有相应私人密钥K2的人,只有持有私人密钥K2的人才能解密;而用私人密钥K2加密的消息,任何人都可以用公开的密钥K1解密,此时说明消息来自持有私人密钥的人。前者可以实现公共网络的保密通信,后者可以实现对消息进行数字签名。,