密码学有两个部分,即加密其重点打造的暗号和密码分析是加密算法的研究,这些暗号的断裂。从事密码分析的人被称为密码分析员。它可以帮助我们更好地理解密码系统,还可以通过查找任何弱点来帮助我们改进系统,从而研究算法以创建更安全的密码。例如,密码分析员可能会尝试破译密文以推导出明文。它可以帮助我们推导出明文或加密密钥。
为了确定密码系统的弱点,攻击系统很重要。这种攻击称为密码分析攻击。攻击依赖于算法的性质以及对明文一般特征的了解,即明文可以是用英语编写的常规文档,也可以是用Java编写的代码。因此,在尝试使用攻击之前,应该知道明文的性质。
密码分析攻击的类型:
- 已知明文分析(KPA):
在这种类型的攻击中,一些明文-密文对是已知的。攻击者映射它们以找到加密密钥。这种攻击更容易使用,因为已经有很多信息可用。 - 选择明文分析(CPA):
在这种类型的攻击中,攻击者选择随机明文并获得相应的密文并试图找到加密密钥。像KPA一样实现起来非常简单,但成功率很低。 - 仅密文分析 (COA):
在这种类型的攻击中,只有一些密文是已知的,攻击者试图找到相应的加密密钥和明文。它最难实现,但也是最有可能的攻击,因为只需要密文。 - 中间人(MITM)攻击:
在这种类型的攻击中,攻击者通过安全通道拦截两个通信方之间的消息/密钥。 - 自适应选择明文分析(ACPA):
这种攻击类似于 CPA。在这里,攻击者在获得某些文本的密文后,请求附加明文的密文。