密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。电报最早是由美国的摩尔斯在1844年发明的,故也被叫做摩尔斯电码。它由两种基本信号和不同的间隔时间组成:短促的点信号" .",读" 的 "(Di);保持一定时间的长信号"―",读"答 "(Da)。间隔时间:滴,1t;答,3t;滴答间,1t;字母间,3t;字间,5t。
密码学_密码学 -发展历史
密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码编制及破译手段都具有高度的机密性。
密码学进行明密变换的法则,称为密码的体制。指示这种变换的参数,称为密钥。它们是密码编制的重要组成部分。密码体制的基本类型可以分为四种:错乱--按照规定的图形和线路,改变明文字母或数码等的位置成为密文;代替--用一个或多个代替表将明文字母或数码等代替为密文;密本--用预先编定的字母或数字密码组,代替一定的词组单词等变明文为密文;加乱--用有限元素组成的一串序列作为乱数,按规定的算法,同明文序列相结合变成密文。以上四种密码体制,既可单独使用,也可混合使用 ,以编制出各种复杂度很高的实用密码。
20世纪70年代以来,一些学者提出了公开密钥体制,即运用单向函数的数学原理,以实现加、脱密密钥的分离。加密密钥是公开的,脱密密钥是保密的。这种新的密码体制,引起了密码学界的广泛注意和探讨。
利用文字和密码的规律,在一定条件下,采取各种技术手段,通过对截取密文的分析,以求得明文,还原密码编制,即破译密码。破译不同强度的密码,对条件的要求也不相同,甚至很不相同。
只需重排密码表二十六个字母的顺序,允许密码表是明码表的任意一种重排,密钥就会增加到四千亿亿亿多种,我们就有超过4×10^27种密码表。破解就变得很困难。
公元9世纪,阿拉伯的密码学家阿尔・金迪(al' Kindi也被称为伊沙克(Ishaq),(801?~873年),同时还是天文学家、哲学家、化学家和音乐理论家)提出解密的频度分析方法,通过分析计算密文字符出现的频率破译密码。
公元16世纪中期,意大利的数学家卡尔达诺(G.Cardano,1501―1576)发明了卡尔达诺漏格板,复盖在密文上,可从漏格中读出明文,这是较早的一种分置式密码。
公元16世纪晚期,英国的菲利普斯(Philips)利用频度分析法成功破解苏格兰女王玛丽的密码信,信中策划暗杀英国女王伊丽莎白,这次解密将玛丽送上了断头台。几乎在同一时期,法国外交官维热纳尔(或译为维琼内尔) Blaisede Vigenere(1523-1596)提出著名的维热纳尔方阵密表和维热纳尔密码(Vigenerecypher),这是一种多表加密的替代密码,可使阿尔―金迪和菲利普斯的频度分析法失效。
公元1863,普鲁士少校卡西斯基(Kasiski)首次从关键词的长度着手将它破解。英国的巴贝奇(Charles Babbage)通过仔细分析编码字母的结构也将维热纳尔密码破解。
公元20世纪初,第一次世界大战进行到关键时刻,英国破译密码的专门机构“40号房间”利用缴获的德国密码本破译了著名的“齐麦曼电报”,促使美国放弃中立参战,改变了战争进程。大战快结束时,准确地说是1918年,美国数学家吉尔伯特・维那姆发明一次性便笺密码,它是一种理论上绝对无法破译的加密系统,被誉为密码编码学的圣杯。但产生和分发大量随机密钥的困难使它的实际应用受到很大限制,从另一方面来说安全性也更加无法保证。
第二次世界大战中,在破译德国著名的“恩格玛(Enigma)”密码机密码过程中,原本是以语言学家和人文学者为主的解码团队中加入了数学家和科学家。电脑之父亚伦・图灵(Alan Mathison Turing)就是在这个时候加入了解码队伍,发明了一套更高明的解码方法。同时,这支优秀的队伍设计了人类的第一部电脑来协助破解工作。显然,越来越普及的计算机也是军工转民用产品。美国人破译了被称为“紫密”的日本“九七式”密码机密码。靠前者,德国的许多重大军事行动对盟军都不成为秘密;靠后者,美军炸死了偷袭珍珠港的元凶日本舰队总司令山本五十六。
同样在二次世界大战中,印第安纳瓦约土著语言被美军用作密码,从吴宇森导演的《风语者》Windtalkers中能窥其一二。所谓风语者,是指美国二战时候特别征摹使用的印第安纳瓦约(Navajo)通信兵。在二次世界大战日美的太平洋战场上,美国海军军部让北墨西哥和亚历桑那印第安纳瓦约族人使用约瓦纳语进行情报传递。纳瓦约语的语法、音调及词汇都极为独特,不为世人所知道,当时纳瓦约族以外的美国人中,能听懂这种语言的也就一二十人。这是密码学和语言学的成功结合,纳瓦约语密码成为历史上从未被破译的密码。
1975年1月15日,对计算机系统和网络进行加密的DES(DataEncryption Standard数据加密标准)由美国国家标准局颁布为国家标准,这是密码术历史上一个具有里程碑意义的事件。1976年,当时在美国斯坦福大学的迪菲(Diffie)和赫尔曼(Hellman)两人提出了公开密钥密码的新思想(论文"NewDirection 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万美元之间。
密码学_密码学 -理论基础
在通信过程中,待加密的信息称为明文,已被加密的信息称为密文,仅有收、发双方知道的信息称为密钥。在密钥控制下,由明文变到密文的过程叫加密,其逆过程叫脱密或解密。在密码系统中,除合法用户外,还有非法的截收者,他们试图通过各种办法窃取机密(又称为被动攻击)或窜改消息(又称为主动攻击)。
图3 密码系统模型
一个密码通信系统可如图3所示。
对于给定的明文m和密钥k,加密变换E将明文变为密文c=f(m,k)=E(m),在接收端,利用脱密密钥k,(有时k=k,)完成脱密操作,将密文c恢复成原来的明文m=D(c)。一个安全的密码体制应该满足:①非法截收者很难从密文C中推断出明文m;②加密和脱密算法应该相当简便,而且适用于所有密钥空间;③密码的保密强度只依赖于密钥;④合法接收者能够检验和证实消息的完整性和真实性;⑤消息的发送者无法否认其所发出的消息,同时也不能伪造别人的合法消息;⑥必要时可由仲裁机构进行公断。
现代密码学所涉及的学科包括:信息论、概率论、数论、计算复杂性理论、近世代数、离散数学、代数几何学和数字逻辑等。
密码学_密码学 -专业术语
密钥:分为加密密钥和解密密钥。
明文:没有进行加密,能够直接代表原文含义的信息。
密文:经过加密处理处理之后,隐藏原文含义的信息。
加密:将明文转换成密文的实施过程。
解密:将密文转换成明文的实施过程。
密码算法:密码系统采用的加密方法和解密方法,随着基于数学密码技术的发展,加密方法一般称为加密算法,解密方法一般称为解密算法。
直到现代以前,密码学几乎专指加密(encryption)算法:将普通信息(明文,plaintext)转换成难以理解的资料(密文,ciphertext)的过程;解密(decryption)算法则是其相反的过程:由密文转换回明文;加解密包含了这两种算法,一般加密即同时指称加密(encrypt或encipher)与解密(decrypt或decipher)的技术。
加解密的具体运作由两部分决定:一个是算法,另一个是密钥。密钥是一个用于加解密算法的秘密参数,通常只有通讯者拥有。历史上,密钥通常未经认证或完整性测试而被直接使用在密码机上。
密码协议(cryptographic protocol)是使用密码技术的通信协议(communication protocol)。近代密码学者多认为除了传统上的加解密算法,密码协议也一样重要,两者为密码学研究的两大课题。在英文中,cryptography和cryptology都可代表密码学,前者又称密码术。但更严谨地说,前者(cryptography)指密码技术的使用,而后者(cryptology)指研究密码的学科,包含密码术与密码分析。密码分析(cryptanalysis)是研究如何破解密码学的学科。但在实际使用中,通常都称密码学(英文通常称cryptography),而不具体区分其含义。
口语上,编码(code)常意指加密或隐藏信息的各种方法。然而,在密码学中,编码有更特定的意义:它意指以码字(code word)取代特定的明文。例如,以‘苹果派’(apple pie)替换‘拂晓攻击’(attack at dawn)。编码已经不再被使用在严谨的密码学,它在信息论或通讯原理上有更明确的意义。
在汉语口语中,电脑系统或网络使用的个人帐户口令(password)也常被以密码代称,虽然口令亦属密码学研究的范围,但学术上口令与密码学中所称的钥匙(key)并不相同,即使两者间常有密切的关连。
密码学_密码学 -学科经历
其实在公元前,秘密书信已用于战争之中。西洋“史学之父”希罗多德(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’(每个字母用下一个字母取代)。
密码学_密码学 -编写方法
移位式
移位式(Transposition cipher):将字母顺序重新排列,例如‘help me’变成‘ehpl em’;与替代式(substitution cipher):有系统地将一组字母换成其他字母或符号,例如‘fly at once’变成‘gmz bu podf’(每个字母用下一个字母取代)。 这两种单纯的方式都不足以提供足够的机密性。凯撒密码是最经典的替代法,据传由古罗马帝国的皇帝凯撒所发明,用在与远方将领的通讯上,每个字母被往后位移三格字母所取代。
加密
加密旨在确保通讯的秘密性,例如间谍、军事将领、外交人员间的通讯,同时也有宗教上的应用。举例来说,早期基督徒使用密码学模糊他们写作的部份观点以避免遭受迫害。666或部分更早期的手稿上的616是新约基督经启示录所指的野兽的数字,常用来暗指专迫害基督徒的古罗马皇帝尼禄(Nero)。史上也有部份希伯来文密码的记载。古印度欲经中也提及爱侣可利用密码来通信。隐写术也出现在古代,希罗多德记载将信息刺青在奴隶的头皮上,较近代的隐写术使用隐形墨水、缩影术(microdots)或数字水印来隐藏信息。
宋曾公亮、丁度等编撰《武经总要》“字验”记载,北宋前期,在作战中曾用一首五言律诗的40个汉字,分别代表40种情况或要求,这种方式已具有了密本体制的特点。
密码学
1871年,由上海大北水线电报公司选用6899个汉字,代以四码数字,成为中国最初的商用明码本,同时也设计了由明码本改编为密本及进行加乱的方法。在此基础上,逐步发展为各种比较复杂的密码。
在欧洲,公元前405年,斯巴达的将领来山得使用了原始的错乱密码;公元前一世纪,古罗马皇帝凯撒曾使用有序的单表代替密码;之后逐步发展为密本、多表代替及加乱等各种密码体制。
二十世纪初,产生了最初的可以实用的机械式和电动式密码机,同时出现了商业密码机公司和市场。60年代后,电子密码机得到较快的发展和广泛的应用,使密码的发展进入了一个新的阶段。
密码学_密码学 -基本功能
数据加密的基本思想是通过变换信息的表示形式来伪装需要保护的敏感信息,使非授权者不能了解被保护信息的内容。网络安全使用密码学来辅助完成在传递敏感信息的的相关问题,主要包括:
(I)机密性(confidentiality)
仅有发送方和指定的接收方能够理解传输的报文内容。窃听者可以截取到加密了的报文,但不能还原出原来的信息,即不能得到报文内容。
(II)鉴别(authentication)
发送方和接收方都应该能证实通信过程所涉及的另一方, 通信的另一方确实具有他们所声称的身份。即第三者不能冒充跟你通信的对方,能对对方的身份进行鉴别。
(III)报文完整性(message intergrity)
即使发送方和接收方可以互相鉴别对方,但他们还需要确保其通信的内容在传输过程中未被改变。
(IV)不可否认性(non-repudiation)
如果人们收到通信对方的报文后,还要证实报文确实来自所宣称的发送方,发送方也不能在发送报文以后否认自己发送过报文。
密码学_密码学 -学科分类
传统学科
Autokey密码
置换密码
二字母组代替密码 (by Charles Wheatstone)
多字母替换密码
希尔密码
维吉尼亚密码
替换式密码
凯撒密码
摩尔斯电码
ROT13
仿射密码
Atbash密码
换位密码
Scytale
Grille密码
VIC密码 (一种复杂的手工密码,在五十年代早期被至少一名苏联间谍使用过,在当时是十分安全的)
流密码
LFSR流密码
EIGamal密码
RSA密码
对传统密码学的攻击
频率分析
重合指数
经典密码学
在近代以前,密码学只考虑到信息的机密性(confidentiality):如何将可理解的信息转换成难以理解的信息,并且使得有秘密信息的人能够逆向回复,但缺乏秘密信息的拦截者或窃听者则无法解读。近数十年来,这个领域已经扩展到涵盖身分认证(或称鉴权)、信息完整性检查、数字签名、互动证明、安全多方计算等各类技术。
古中国周朝兵书《六韬.龙韬》也记载了密码学的运用,其中的《阴符》和《阴书》便记载了周武王问姜子牙关于征战时与主将通讯的方式:
太公曰:“主与将,有阴符,凡八等。有大胜克敌之符,长一尺。破军擒将之符,长九寸。降城得邑之符,长八寸。却敌报远之符,长七寸。警众坚守之符,长六寸。请粮益兵之符,长五寸。败军亡将之符,长四寸。失利亡士之符,长三寸。诸奉使行符,稽留,若符事闻,泄告者,皆诛之。八符者,主将秘闻,所以阴通言语,不泄中外相知之术。敌虽圣智,莫之能识。”武王问太公曰:“… 符不能明;相去辽远,言语不通。为之奈何?”太公曰:“诸有阴事大虑,当用书,不用符。主以书遗将,将以书问主。书皆一合而再离,三发而一知。再离者,分书为三部。三发而一知者,言三人,人操一分,相参而不相知情也。此谓阴书。敌虽圣智,莫之能识。”阴符是以八等长度的符来表达不同的消息和指令,可算是密码学中的替代法(en:substitution),把信息转变成敌人看不懂的符号。至于阴书则运用了移位法,把书一分为三,分三人传递,要把三份书重新拼合才能获得还原的信息。
除了应用于军事外,公元四世纪婆罗门学者伐蹉衍那(en:Vatsyayana) 所书的《欲经》4 中曾提及到用代替法加密信息。书中第45项是秘密书信(en:mlecchita-vikalpa) ,用以帮助妇女隐瞒她们与爱