简介¶
攻击模式¶
在我们攻击一个密码学系统时,我们或多或少会得到关于这个系统的一些信息。根据得到信息量的不同,我们可以采用的方法就可能不同。在当今的密码学分析时,一般我们都会假设攻击者知道密码学算法,这个假设是合理的,因为历史上有很多保密的算法最后都被人所知,比如 RC4。被知道的方式多重多样,比如间谍,逆向工程等。
这里我们根据攻击者获取密码学系统的信息的多少将攻击模式分为以下几类
- 唯密文攻击:攻击者仅能获得一些加密过的密文。
- 已知明文攻击:攻击者有一些密文对应的明文。
- 选择明文攻击:攻击者在开始攻击时可以选择一些明文,并获取加密后的密文。如果攻击者在攻击中途可以根据已经获取的信息选择新的明文并获取对应的密文,则称为适应性选择明文攻击。
- 选择密文攻击:攻击者在开始攻击之前可以选择一些密文,并获取解密后的明文。如果攻击者在攻击图中可以根据已经获取的信息选择一些新的密文并获取对应的明文,则称为适应性选择密文攻击。
- 相关密钥攻击:攻击者可以获得两个或多个相关密钥的加密或解密后的密文或明文。但是攻击者不知道这些密钥。
常见攻击方法¶
根据不同的攻击模式,可能会有不同的攻击方法,目前常见的攻击方法主要有
- 暴力攻击
- 中间相遇攻击
- 线性分析
- 差分分析
- 不可能差分分析
- 积分分析
- 代数分析
- 相关密钥攻击
- 侧信道攻击