Java教程

选择明文攻击和选择密文攻击

本文主要是介绍选择明文攻击和选择密文攻击,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

选择明文攻击和选择密文攻击

以对称加密体系为例说明(实际对于非对称加密体系也是同理)
在这里插入图片描述
实际在我们的网络安全模型中一般假设所有的加密算法都是公开的,密码体系的安全性依赖于秘钥的安全性,秘钥只有发送方和接收方知道,一旦第三方得知这个秘钥,那他们的通信就被攻破了。

单说选择明文攻击和选择密文攻击你可能体会不深,所以我把攻击强度不同的五种攻击方式都写出来对比一下你就可以明白这二者有何不同。

这里我们首先假设通信双方,Sharon和Christopher已经完成了秘钥交换,秘钥k是双方已知的,开始进行如下通信:
在这里插入图片描述
那么通信过程中一共产生的消息是三组明密文对 ( p 1 , c 1 ) , ( p 2 , c 2 ) , ( p 3 , c 3 ) (p_1,c_1),(p_2,c_2),(p_3,c_3) (p1​,c1​),(p2​,c2​),(p3​,c3​)

  • 唯密文攻击:只知道密文,也就是,那只能通过统计特性分析其中有什么规律了
  • 已知明文攻击:得到了一些给定的明文和对应的密文,在这里可以是的任意非空子集。
  • 选择明文攻击:除了上面的基础,攻击者还可以任意创造一条明文比如“Excited”,并得到其加密后的密文。比如用一定的手段渗透Sharon的系统,但是不能直接攻破秘钥,于是只能以她的身份发“Excited”,然后用抓包或者别的方法得到她发送出来的加密的消息。
  • 选择密文攻击:除了已知明文攻击的基础,攻击者还可以任意制造或者选择一些密文,并得到其解密后的明文。比如用一定的手段在通信过程中伪造消息替换真实消息,然后窃取Sharon获得并解密的结果,有可能正好发现随手伪造的密文解密结果是有意义的,比如naive。
  • 选择文本攻击:可以制造任意明文/密文并得到对应的密文/明文,就是上面两者的结合。

以上攻击强度自上至下由弱到强。选择密文攻击和选择明文攻击的不同之处就是加解密方向不同。实际上这些攻击都是Cryptanalyze,使用哪一种取决于攻击者(cryptanalyst)掌握的资源和手段。

这篇关于选择明文攻击和选择密文攻击的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!