族谱网 头条 人物百科

密码分析

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:351
转发:0
评论:0
密码分析的历史密码分析和密码学是共同演化的。这从密码学史中可以看得很明显。总是有新的密码机被设计出来并取代已经被破解的设计,同时也总是有新的密码分析方法被发明出来以破解那些改进了的方案。事实上,密码和密码分析是同一枚硬币的正反两面:为了创建安全的密码,就必须考虑到可能的密码分析。经典密码分析尽管“密码分析”这个词是晚近出现的(1920年由WilliamFriedman(英语:William_Friedman)确立),但破解密码和密码机的方法却已经存在很久了。世界上最早的破解密码方法的文字记录可以追溯到九世纪阿拉伯通才AlKindi(英语:Abu_Yusuf_Yaqub_ibn_Ishaq_al-Sabbah_Al-Kindi)所著《破解密码信息》(AManuscriptonDecipheringCryptographicMessages),这篇文章论述了一个频率分析的方法。频率分析是破解经...

密码分析的历史

密码分析和密码学是共同演化的。这从密码学史中可以看得很明显。总是有新的密码机被设计出来并取代已经被破解的设计,同时也总是有新的密码分析方法被发明出来以破解那些改进了的方案。事实上,密码和密码分析是同一枚硬币的正反两面:为了创建安全的密码,就必须考虑到可能的密码分析。

经典密码分析

尽管“密码分析”这个词是晚近出现的(1920年由 William Friedman ( 英语 : William_Friedman ) 确立),但破解密码和密码机的方法却已经存在很久了。世界上最早的破解密码方法的文字记录可以追溯到九世纪阿拉伯通才 Al Kindi ( 英语 : Abu_Yusuf_Yaqub_ibn_Ishaq_al-Sabbah_Al-Kindi ) 所著《破解密码信息》(A Manuscript on Deciphering Cryptographic Messages),这篇文章论述了一个频率分析的方法。

频率分析是破解经典密码的一个基本方法。在自然语言里,字母表里的有些字母比其它的字母出现得更频繁。例如,在英语里,字母E很有可能是在任何文字样本里出现频率都最高的字母。同样的,TH这两个字母连起来是最有可能出现的字母对。频率分析法假设密码没有隐藏这样的统计信息。例如,在简单的替换密码中,每个字母只是简单地被替换成另一个字母,那么在密文现频率最高的字母就最有可能是E。

频率分析法除了需要用到统计学外,也需要用到语言学。但随着密码算法的日渐复杂,密码分析也渐渐变得主要依赖数学方法。这个改变在第二次世界大战时最为明显。那时,为了破解轴心国的密码,需要发展更加复杂的数学方法。而且,自动计算也头一次被应用到密码分析中,如 密码炸弹 ( 英语 : Bomba_(cryptography) ) 以及最早的计算机之一, 巨人计算机 ( 英语 : Colossus_computer ) 。

现代密码分析

尽管第二次世界大战时计算机的运用使得密码分析更加容易,这同时也使得新的密码学方案的复杂程度上升了好几个数量级。总体来说,破解密码在现代比起只用纸和笔的年代来说要困难得多了。现在看来,似乎密码学对纯密码分析来说已经占了上风。美国历史学家卡恩( David Kahn ( 英语 : David_Kahn ) )这样说道:“今天,由数百个商家提供的很多密码系统都不能被已知的密码分析方法来破解。确实,在这样的密码系统中,即使用选择明文攻击,也就是攻击者可以选择明文并比对相应的密文,也不能找出可以用来解开其它加密信息的钥匙。从某种意义上来说,密码分析已经死了。但是,故事还没有结束。密码分析也许是死了,但是,打个不恰当的比方,其实条条大道通罗马。”(2002年11月1日在美国国家安全局50周年纪念会上的讲话)。卡恩接着又提到,其它的攻击方式的可能性增加了。例如拦截攻击,窃听,边信道攻击,以及用量子計算機来代替传统计算机做密码分析[1]。

卡恩对于密码分析所作的论断也许还为时过早。不安全的密码并没有绝迹,美国国家情报机构的密码分析方法也没有公开过。在学术界,新的密码在不断地被设计出来,也经常地被破解。1984年, Madryga ( 英语 : Madryga ) 分组密码被一种唯密文攻击破解。1998年,原本提出来要取代DES标准加密算法的分组密码 FEAL-4 ( 英语 : FEAL ) ,也因为被学术界发现了很多类似而且实际可行的攻击而消亡。在工业界,很多密码也被发现有漏洞。例如,在手机中使用的 A5/1 ( 英语 : A5/1 ) , A5/2 ( 英语 : A5/2 ) 以及 CMEA ( 英语 : CMEA_(cipher) ) 算法,用一般的计算工具可以在几小时,几分钟内,甚至是实时地被破解。2001年,用来保护无线Wi-Fi网络的有线等效加密协议(或称 无线加密协议 ,即WEP)也可以用相关钥匙攻击来破解。

密码分析的后果

无疑,成功的密码分析影响了历史的进程。能够看懂别人本以为是秘密的想法或计划,这种能力可以成为决定性的优势。在战争期间尤其如此。例如,在第一次世界大战中,成功地破解齐默尔曼电报是促使美国参战的直接原因。在第二次世界大战中,对德国密码的成功破解,包括恩尼格玛密码机(Enigma)和洛仑兹密码机(Lorenz Cipher),其后果从使欧洲战场早几个月结束,到对整个战争起决定性作用,各种说法都有(参见 ULTRA ( 英语 : Ultra ) )。美国也从对日本的 PURPLE ( 英语 : PURPLE ) 密码的密码分析中受益(参见 MAGIC ( 英语 : Magic_(cryptography) ) )。

一些国家的政府很早就已经意识到了密码分析对于情报收集的重要性,不管是对于军事还是外交都一样。这些国家还建立了专门破解密码的机构,如英国政府通讯总部(GCHQ),以及美国国家安全局(NSA)。这些机构在当今都非常活跃。2004年,有报道说美国成功破解了伊朗的密码。但这是纯粹的密码分析还是有其它因素,目前还不清楚[2]。

攻击类型

不同的密码分析攻击有不同的效力,对于实际的密码系统的威胁也不尽相同。有的时候,对于某个密码系统的攻击只是停留在理论上,对于任何实际的密码系统可能并不适用。这就是所谓的“证书式弱点”(certificational weakness)。现代密码分析的学术研究结果大部分都属于这一类。从根本上说,某种攻击方式在实际中的有效性取决于它对于以下几个问题给出的答案:

这个攻击需要何种知识及能力?

通过攻击可获得多少新的秘密信息?

这个攻击需要花多少工夫?(它的计算复杂度为何?)

先验知识:密码分析中的情形

在攻击中,通过观察或研究目标系统,多少会获得关于这个系统的信息。随着能够获得信息多少的假设不同,密码分析的方法也不尽相同。在密码分析中最基本的一点,就是假设攻击者能够知道系统所用的算法。这也就是“敌人了解系统”的所谓柯克霍夫原则。这个假设在实际中是合理的。从古至今,有无数的秘密算法最后终为人所知,而其途径多种多样,包括间谍,叛变,以及逆向工程。在一些不多见的情况下,密码机也能够通过纯粹的推演而被重建。例如德国的洛仑兹密码机(Lorenz Cipher)和日本的PURPLE密码机,以及其它很多经典密码。

另外,我们通常用攻击模式来描述攻击者可以获得关于系统信息的方式。攻击模式包括以下几种:

唯密文攻击:攻击者仅能获得一些加密过的密文。

已知明文攻击:攻击者有一些密文并且知道相对应的明文。

选择明文攻击:攻击者在开始攻击之前可以选择一些明文并从系统中获得相对应的密文。如果攻击者在攻击中途可以根据已经获得的信息选择新的明文并获得对应的密文,则称为 适应性选择明文攻击 。

选择密文攻击:攻击者在开始攻击之前可以选择一些密文并从系统中获得相对应的明文。如果攻击者在攻击中途可以根据已经获得的信息选择新的密文并获得对应的明文,则称为 适应性选择密文攻击 。

相关钥匙攻击:与选择明文(或密文)攻击类似。不同的是,攻击者可以得到被两个不同的钥匙所加密(或解密)得到的密文(或明文)。攻击者不知道这两个钥匙的数值,但知道这两个钥匙之间的关系,比如两个钥匙之间相差一个比特。

显然,这些不同种类的攻击在实际中可能出现的机会也大不相同。尽管有些攻击比其它的较为常见,密码学家在设计算法时通常会采取保守的方式看待安全问题,总是假设最坏的情形。理由是,如果一个算法连不现实的攻击都可以承受,那么它自然也可以抵抗实际可行的密码分析。

事实上,这些假设虽然初看上去不切实际,但其实不然。例如在已知明文攻击中,密码分析者很有可能能够知道或猜出明文的一部分。比方说,一封加密过的信有可能是以“敬启者”开头,而一个电脑会话则有可能以“用户名:”开头。选择明文攻击在密钥密码中较为少见,但也并非不可能。而在公钥密码中,选择明文攻击人人都可做到,因为加密用的钥匙通常是公开或已知的。相关钥匙攻击通常只是在理论上的讨论,但在实际中也会被用到,例如对WEP的攻击。

成功密码分析的类别

对于密码分析的结果来说,其有用的程度也各有不同。密码学家 Lars Knudsen ( 英语 : Lars_Knudsen ) 于1998年将对于分组密码的攻击按照获得的秘密信息的不同分为以下几类:

完全破解 -- 攻击者获得秘密钥匙。

全局演绎 -- 攻击者获得一个和加密和解密相当的算法,尽管可能并不知道钥匙。

实例(局部)演绎 -- 攻击者获得了一些攻击之前并不知道的明文(或密文)。

信息演绎 -- 攻击者获得了一些以前不知道的关于明文或密文的香农信息。

分辨算法 -- 攻击者能够区别加密算法和随机排列。

对于其它类型的密码学算法,也可以做出类似的分类。

复杂度

非对称密码学的密码分析

量子计算在密码分析中的应用

密码分析的方法

参考文献

参见

Ophcrack


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
打赏
私信

推荐阅读

· 密码学
术语直到现代以前,密码学几乎专指加密算法:将普通信息(明文)转换成难以理解的数据(密文)的过程;解密算法则是其相反的过程:由密文转换回明文;加解密包含了这两种算法,一般加密即同时指称加密与解密的技术。加解密的具体运作由两部分决定:一个是算法,另一个是密钥。密钥是一个用于加解密算法的秘密参数,通常只有通信者拥有。历史上,密钥通常未经认证或完整性测试而被直接使用在加解密上。密码协议是使用密码技术的通信协议。近代密码学者多认为除了传统上的加解密算法,密码协议也一样重要,两者为密码学研究的两大课题。在英文中,“cryptography”和“cryptology”都可代表密码学,前者又称密码术。但更严谨地说,前者(cryptography)指密码技术的使用,而后者(cryptology)指研究密码的学科,包含密码术与密码分析。密码分析是研究如何破解密码学的学科。但在实际使用中,通常都称密码学(即cr...
· 凯撒密码
例子恺撒密码的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动一个固定数目的位置。例如,当偏移量是左移3的时候(解密时的密钥就是3):使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。例如:恺撒密码的加密、解密方法还能够通过同余的数学方法进行计算。首先将字母用数字代替,A=0,B=1,...,Z=25。此时偏移量为n的加密方法即为:解密就是:历史和用途恺撒曾经使用这种密码与其将军们联系根据苏维托尼乌斯的记载,恺撒曾用此方法对重要的军事信息进行加密:“如果需要保密,信中便用暗号,也即是改变字母顺序,使局外人无法组成一个单词。如果想要读懂和理解它们的意思,得用第4个字母置换第一个字母,即以D代A,余此类推。”——苏维托尼乌斯,罗马十二帝王传同样,奥古斯都也...
· 经典密码
经典密码的类型经典密码大致上分为替换式密码和移项式密码。替换式密码代换密码是字母(或是字母群)作有系统的代换,直到讯息被替换成其它难以解读的字。凯撒密码凯撒密码是广为人知的代换密码。为了用凯撒密码法加密讯息,每个密码字母集中的字母将会被其位置的后3个字母替代。因此字母A将会被字母D替代、字母B将会被字母E替代、字母C将会被字母F替代等,最后,X、Y和Z将分别的被替代成A、B和C。另一种代换密码是使用关键字,你可以选择一个单字或是短词组并去除所有的空格和重复的字母,接着把它当作密码字母集的开头。最后记得去除掉关键字的字母把其它字母接续排序。例如,如果关键字是CIPHER,则密码字母表是这样写的:一般字母:abcdefghijklmnopqrstuvwxyz密码字母:cipherstuvwxyzabdfgjklmnoq维吉尼亚密码凯撒密码的例子是所有单字母替代式密码(英语:monoalphab...
· 替换式密码
简易替换密码ROT13是一种偏移13位的凯撒密码简易替换加密是一种以特定方式改变字母表上字母顺序,并以此顺序书写的加密方式。这样一张改变了字母次序的字母表即为‘替换表’。替换表可以以偏移或逆转(分别为凯撒密码和阿特巴希密码(英语:Atbash))或更复杂方式构造,此时称之为‘混合表’。传统上会先把一个关键词写在字母表最前面,再删去重复字母,这样就能得到一个混合表。例子使用混合表系统,关键字为“zebras”:明文为:加密结果为:传统上,密文会省略标点符号和空格,同时会有一固定长度的单位,以避免传输错误和变相显示明文中单词的边界。这些单位被称为“组”(英语:groups),有时叫“组数”(英语:groupcount)(即组的数量),并使其作为一额外检查。通常都会使用五个字母为一组,然后使用电报传送消息:如果该段明文的长度不能被五整除,将需要在最后用“NULL”补齐。这些空字符可以是任何字符,...
· 遗传密码
破解历史遗传密码自从发现了DNA的结构,科学家便开始致力研究有关制造蛋白质的秘密。伽莫夫指出需要以三个核酸一组才能为20个氨基酸编码。1961年,美国国家卫生院的J.HeinrichMatthaei与马歇尔·沃伦·尼伦伯格在无细胞系统(英语:Cell-freesystem)环境下,把一条只由尿嘧啶(U)组成的RNA转释成一条只有苯丙氨酸(Phe)的多肽,由此破解了首个密码子(UUU->Phe)哈尔·葛宾·科拉纳科拉纳破解了其它密码子罗伯特·W·霍利·霍利发现转录责转录过程的tRNA。1968年,科拉纳、霍利和尼伦伯格分享了诺贝尔生理学或医学奖。基因组的表达一个生物体携带的遗传信息-即基因组-被记录在DNA或RNA分子中,分子中每个有功能的单位被称作基因。每个基因均是由一连串单核苷酸组成。每个单核苷酸均由碱基,戊糖(即五碳糖,DNA中为脱氧核糖,RNA中为核糖)和磷酸三部分组成。堿基不同构成...

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信