DES加密¶
CRYPTO · 知识域。DES/3DES 攻击。标签:暴力破解、侧信道攻击、错误注入攻击、线性攻击、量子攻击、差分攻击。
触发特征¶
- 8 字节块、56 位有效密钥、题目提示"3DES/弱密钥/短密钥"。
- 密钥以字符形式给出(可打印空间远小于 2^56)。
暴力破解¶
- 可打印字符密钥(≤6 字符)hashcat 可解:
hashcat -m 14000(DES known plaintext,需已知明密对构造已解密对)。 - 已知明文:
flag{前缀 + 首块密文作为校验对; John the Ripper(--format=des)。 - 3DES:密钥仍是 8 字节(K1=K3 常见)→ 实际暴力 DES;中间相遇 2^56 量级。
侧信道攻击¶
- 缓存时序/功耗轨迹在 CTF 中以"模拟数据"出现:给时延表或功耗曲线 CSV → 差分功耗分析(DPA)恢复轮密钥位。
- 逻辑扫描:题目泄露每轮 S 盒输出位数 → 统计相关恢复。
- 时间差:分支随密钥位变化 → 按位统计。
错误注入攻击¶
- 故障注入 DFA(错误密文对):轮末注入错误,差分 S 盒输出恢复最后一轮子密钥(多对错误收敛)。
- CTF 形式:服务端提供"翻转第 x 轮某位"的 oracle → 收集错误密文对做 DFA。
- Bellcore 思想同 RSA-CRT 故障(→ RSA)。
线性攻击¶
- 线性逼近表(LAT)找高偏差表达式(经典:Matsui 1R/2R 方法)。
- 轮数削减(≤8 轮)变体:已知明密对 ~2^20 级别做线性统计;CTF 中出题人常直接给统计样本集。
量子攻击¶
- Grover:56 位密钥平方根加速(理论层面,CTF 以"量子安全讨论题"或简化模拟出现)。
- 事实层面:DES 早已可暴力(Deep Crack),考概念识别。
差分攻击¶
- 轮数削减 DES(4-8 轮):选择明文差分(固定差分 0x1936050... 族),过滤对收敛恢复轮密钥。
- 轮函数结构:S 盒 6→4 压缩的差分分布表(DDT)直接查高概率转移。