

密码学攻击不是单一技术,而是一个包含多种方式的集合。这些攻击方式根据攻击者掌握的信息、攻击场景和资源不同而分类。了解这些类型有助于设计更安全的加密系统、评估风险及采取有效防护措施。
这是最基本的攻击类型,攻击者只有密文而没有对应的明文或其他信息。在这种条件下,要通过对密文进行分析或穷举尝试来推断出明文或密钥。
攻击者拥有一些已知的“明文+密文”对,通过对比这些对的特征和规律,来分析加密过程并推断出密钥。
这是一种更高级的攻击模型,攻击者可以选择任意明文并得到相应的密文,这使攻击者可通过精心设计的明文来推断算法内部结构。
攻击者可以选择密文并能获取它相应的明文。有些算法在这种模型下容易被攻击,如历史上的 Bleichenbacher 攻击就属于该类。
除了上述基本分类,还有一些更复杂、需要更深分析的方法:
这是一种加密键的搜索优化攻击,能在多重加密场景下显著缩短破解时间。
通过利用系统对错误填充响应的反馈信息,攻击者能够逐步推断出密文的明文内容。
针对使用 ARX 操作(加、异或、循环移位)的算法,利用保留的相关性进行分析攻击。
除了数学上的破解方法外,还有一种不依赖于算法弱点而 通过泄露物理信息来获取密钥 的攻击方式:
这类攻击分析加密设备运行时的外部“泄露信息”,比如功耗、电磁波或计算时间,从而获得密钥信息。近年来这类攻击频繁出现在智能卡、IoT 设备和硬件安全模块的攻击报告中。
针对上述各种攻击类型,业界和学术界提出了多种防御方法:
密码学攻击类型多种多样,从基础的唯密文攻击到高级的适应性选择明文攻击,再到侧信道物理攻击,每种都有其原理、利用条件和相应防护方法。只有充分理解这些攻击模型,才能在安全设计、实施和评估中做到万无一失。





