- 商用密码权威指南:技术详解、产品开发与工程实践
- 姜海舟 潘文伦 陈彦平 王学进等
- 865字
- 2025-02-21 17:04:41
1.4 常见的密码攻击类型
在密码学中,我们通常遵循Kerckhoff原则,即假定攻击者知道所使用的密码体制,包括加解密算法和加解密过程等。这个原则强调,密码体制的安全性不应依赖于保密密码算法,而应依赖于保密所使用的密钥。根据攻击者可获取的信息量和能力,密码攻击行为可以分为以下4种基本类型。
• 唯密文攻击:攻击者已知加密算法,并可截获密文信息。攻击者的目标是通过分析截获的密文来推断出明文或密钥。
• 已知明文攻击:攻击者已知加密算法,并可获取部分明——密文对信息。攻击者利用这些已知的明——密文对来找出加密密钥或推断出其他明文。
• 选择明文攻击:攻击者已知加密算法,且能够自己选择一定数量的明文并获取相应的密文。攻击者利用这些信息更深入地分析加密系统。
• 选择密文攻击:攻击者已知加密算法,且能获取一定数量的密文并获取相应的明文。这种攻击通常发生在攻击者具有解密能力的场景中。
在上述4种攻击类型中,攻击者的目的都是获取密码算法所使用的密钥或能解密一些特定的密文。给定一种密码体制,如果攻击者无论知道多少密文以及采用何种方法都得不到任何关于明文或密钥的信息,则称其为“无条件安全的密码体制”。香农证明了只有一次一密,即密钥至少和明文一样长的密码体制才是无条件安全的。然而,无条件安全的密码体制在实际中很少使用,因为它要求密钥长度与明文长度相同,且密钥只能使用一次,这给密钥管理带来了巨大的挑战。
在实际应用中,更常见的是计算上安全的密码体制,即在现有的技术和资源条件下,攻击者无法在合理的时间内破解密码。计算上安全的密码体制满足以下两条准则之一:破译密文的代价超过被加密信息的价值;破译密文所需花费的时间超过信息的有效期。
密钥穷举攻击是最基本的密码攻击方法,即对每个可能的密钥进行测试,直到找到正确的密钥。密钥穷举攻击的复杂度由密钥空间的大小决定,如目前常用的分组密码的密钥长度为128bit,密钥空间大小为2128,以当前最快的超级计算机约每秒百亿亿次的运算速度穷举密钥,所需时间约为年,远远超出了任何实际应用的有效时间范围。因此,足够长的密钥在实践中可以有效抵抗密钥穷举攻击。