Introduce
Crypto Analytics(密码分析) 是密码学领域的一个分支,主要指对加密算法及其应用进行系统性分析,以评估其安全性与抗攻击能力。该领域专注于研究密码系统的数学结构、算法特性以及可能存在的漏洞,常用方法包括线性分析、差分分析、代数攻击、侧信道攻击等。
密码分析的目标是通过已知或选择的密文、明文及密钥关系,推测出加密过程中使用的密钥或破解信息内容。它不仅用于攻击现有密码系统,也用于指导新算法的设计与优化,提高密码方案的安全强度。例如,在分组密码、流密码和哈希函数的设计中,都会借助密码分析技术验证其抵抗各类攻击的能力。
作为密码学的重要组成部分,密码分析对保障信息安全、推动密码技术进步具有关键作用。
Attack
CCA
Chosen Ciphertext Attack, 选择密文攻击
指攻击者能实施选择明文攻击,即能够得到任意明文对应的密文的情况下,还占据解密机(decryption oracle)从而可以构造任意密文并使用解密机解密得到其明文,据此进行密钥破解或者明文推测,当然这里要排除攻击者期望攻击的密文。与选择明文攻击类似,这里所谓占据解密机,也是指攻击者能够在不知道密钥的情况下构造任意的密文获得其明文。
CCA1
Non-adaptive CCA, 非自适应选择密文攻击, 也称为午餐攻击
CCA2
Adaptive CCA, 自适应选择密文攻击, 也称为凌晨攻击
COA
Ciphertext-only Attack, 唯密文攻击
即攻击者只获得了若干密文,而没有任何的明文信息。这是最强的一种假设,即攻击者能力最弱,当然也是最低安全性要求。要实施这种攻击也很简单,只要监听信道就可以抓取密文信息了。
CPA
Chosen-Plaintext Attack, 选择明文攻击
指攻击者占据加密机(encryption oracle),从而可以构造任意明文并用加密机得到其密文,据此进行密钥破解或者明文推测。此处加密机应当理解为内含加密密钥和加密算法的一个黑盒,攻击者不能从中取出密钥,但是可以输入任意明文由该黑盒吐出用密钥加密后的密文。
选择明文攻击的经典例子来自二战。日军在珊瑚海战后即将中途岛确定为下一个攻击目标,美海军情报局由于破译了日军部分密码,了解到了这一计划,但是具体攻击目标未能成功破译(日军密电中称为'AF'),综合其他因素推断也不能明确,一部分人认为是中途岛,另一部分人则认为是阿留申群岛。后来,美军想到一个绝妙的主意,他们通过无线电向珍珠港报告,说中途岛上的海水净化装置故障导致岛上缺水,不久从日军截获的密电中即出现了'AF'缺水的内容,从而明确了日军目标即中途岛。
KPA
Known-Plaintext Attack, 已知明文攻击
指攻击者有若干明密文对,在此基础上进行密钥破解或者明文推测。现实中如何获取明密文对呢,很多协议开头有magic number或者类似的标识信息,这些协议的内容加密后显然就是这些magic number或者标识信息对应的密文。