请解释一下什么是选择明文攻击及选择密文攻击？
以对称加密体系为例说明（实际对于非对称加密体系也是同理） 实际在我们的网络安全模型中一般假设所有的加密算法都是公开的，密码体系的安全性依赖于秘钥的安全性，秘钥只有发送方和接收方知道，一旦第三方得知这个秘钥，那他们的通信就被攻破了。 单说选择明文攻击和选择密文攻击你可能体会不深，所以我把攻击强度不同的五种攻击方式都写出来对比一下你就可以明白这二者有何不同。 这里我们首先假设通信双方，Sharon和Christopher已经完成了秘钥交换，秘钥k是双方已知的，开始进行如下通信： 那么通信过程中一共产生的消息是三组明密文对\left( {{p_1},{c_1}} \right)，\left( {{p_2},{c_2}} \right)和\left( {{p_3},{c_3}} \right) 以上攻击强度自上至下由弱到强。选择密文攻击和选择明文攻击的不同之处就是加解密方向不同。实际上这些攻击都是Cryptanalyze，使用哪一种取决于攻击者（cryptanalyst）掌握的资源和手段。 很惭愧，只做了一些微小的工作。 References [1] Stallings, William, et al. "Cryptography and Network Security Principles and Practice." (2001).