密码学基础(三)密码分析

区块链兄弟社区,区块链技术专业问答先行者,中国区块链技术爱好者汇集地算法

做者:于中阳promise

来源:区块链兄弟区块链

原文连接:www.blockchainbrother.com/article/81编码

著权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。
 

密码分析加密

密码编码学的主要目的是保持明文(或者是密钥)的秘密并防止窃听者(也能够叫对手、攻击者、截取者、入侵者、敌人等)知晓。这里假设窃听者彻底可以截获发送者和接收者之间的通讯。3d

密码分析学是在不知道密钥的状况下,恢复明文的科学。成功的密码分析能够恢复消息的明文或者密钥。与此同时,密码分析也能够验证出密码体制的弱点,并最终恢复明文或者密钥。排序

注:密钥经过非密码分析方式的丢失叫作泄露(compromise)。ip

对密码进行分析的尝试称为攻击(attack)。A.Kerckhoffs 早在19世纪就阐明了密码分析的一个基本假设,此假设就是秘密必须全寓于密钥中。Kerckhoffs假设密码分析者已知密码算法以及其实现的所有资料。虽然在实际的密码分析中并不老是拥有如此详细的信息,但理应如此假设。这样若是不能破译算法,那么即使了解算法是如何工做的也是徒然。固然,若是连算法的知识和相关资料都没有,那就确定没法破译。ci

现我列出经常使用的四类密码分析攻击,在此假设每一类密码分析者都知道所用的加密算法的所有知识。get

1)惟密文攻击(ciphertext-only attack)。密码分析者有一些消息的密文,这些消息都用相同的加密算法进行加密。密码分析者的任务就是恢复尽量多的明文,或者最好能推算出加密消息的密钥,以即可采用相同的密钥破解其余被加密的消息。

已知:

attachments-2017-10-y2Luc1jX59f6940fd7eff.png

attachments-2017-10-j7404VEP59f69449776e7.png...

attachments-2017-10-M4KzffIT59f6946fd66ff.png推导出:attachments-2017-10-SrmNxrU359f6952571d92.png或者找出一个算法从attachments-2017-10-geI7ds4F59f695ab50490.png

推导出attachments-2017-10-jlgBv7cj59f695d5d5d9a.png

2)已知明文攻击(known-plaintext attack)。密码分析者不只可获得一些消息的密文,并且也知道这些消息的明文。分析者的任务就是用加密信息推出用来加密的密钥或导出一个算法,此算法能够对用相同密钥加密的任何新消息进行解密。

已知:attachments-2017-10-D3FTQbPn59f6978c4d31d.png推导出,密钥K,或者从attachments-2017-10-c4If5j7X59f697ca0f11c.png推导出attachments-2017-10-3dc1Qyzu59f697d9006d7.png的算法。

3)选择明文攻击(chosen-plaintext attack)。分析者不只能够获得一些消息的密文和相同的明文,并且还能够选择被加密的明文。这比已知明文攻击更加有效,由于密码分析者能选择特定的明文块进行加密,那些块可能产生更多关于密钥的信息。分析者的任务就是推导出用来加密消息的密钥或导出一个算法,此算法能够对用相同密钥加密的任何新消息进行解密。

已知:attachments-2017-10-ePk6aWxY59f6995086d71.png其中attachments-2017-10-CY5s3PgM59f699af438a5.png能够由密码分析者选择。

推导出:密钥K,或者从attachments-2017-10-IPWLrUE559f699e26340a.png推导出attachments-2017-10-TPlJtnlm59f699f158a9f.png的算法。

4)自适应选择明文攻击(adaptive-chosen-plaintext attack)。这是选择明文攻击的特殊状况。密码分析者不只可以选择被加密的明文,还能够基于之前加密的结果修正这个选择。在选择明文攻击中,密码分析者还能够选择一大块被加密的明文。而在自适应选择明文攻击中,能够选择较小的明文块,而后再基于第一块的结果选择另外一个明文块,以此类推。

除了以上介绍的4类密码分析攻击,还有至少三类其它的密码分析攻击。接上文排序以下:

5)选择密文攻击(chosen-ciphertext attack)。密码分析者能选择不一样的被加密的密文,并可获得对应的解密的明文。例如,密码分析者访问一个防篡改的自动解密盒,密码分析者的任务就是推导出密钥。

已知:attachments-2017-10-w0totJR459f69cbdad57a.png推导出:K。

这种攻击主要用于公开密钥算法。选择密文攻击有时也能够有效的用于对称算法。

注:有时选择明文攻击和选择密文攻击一块儿称为选择文本攻击(chosen-text attack)。

6)选择密钥攻击(chosen-key attack)。这种攻击并不表示密码分析者可以选择密钥,其只是表示密码分析者具备不一样密钥之间关系的有关知识。

此种方法比较晦涩和奇特,并非很实际。

7)软磨硬泡攻击(rubber-hose cryptanalysis)。密码分析者威胁、勒索,或者经过折磨某人,直到其给出密钥为止。

经过行贿获取密钥的方法,有时称为购买密钥攻击(purchase-key attack)。这些是很是有效的攻击,并常常是破译算法的最便捷途径。

文章发布只为分享区块链技术内容,版权归原做者全部,观点仅表明做者本人,毫不表明区块链兄弟赞同其观点或证明其描述

相关文章
相关标签/搜索