轻量级密码算法的差分故障分析与随机数生成器攻击研究
1. LBlock 密码的差分故障分析
在密码学领域,对轻量级块密码的安全性分析至关重要。LBlock 作为一种新型轻量级块密码,其安全性备受关注。这里将介绍针对 LBlock 的差分故障分析(DFA)。
1.1 半随机位模型下的攻击原理
在半随机位模型中,攻击者知道第 24 轮中哪 4 位被损坏。例如,若在第 24 轮结束时将故障注入到前 4 位中的任意一位(即 X0 24),攻击者就能确定 s4 是唯一的活动 S 盒。然后,利用 DFA 攻击的一般原理可以揭示轮密钥 K32。
1.2 数据复杂度分析
LBlock 的 F 函数中使用了 8 个不同的 S 盒(s0, s1, …, s7)。根据相关命题,对于非空的 Ns(Δα, Δβ),其期望值为 2.6222。这意味着平均约需 3 个故障(即错误密文)来揭示每个 S 盒的输入。因此,大约需要 24 个故障来揭示每个轮密钥 Ki - 1。不过,在实际的 DFA 攻击中,部分轮密钥可以同步恢复。例如,若在第 28 轮结束时注入故障以损坏前 4 位,就可以同时获得 K0 32 和 K6 32 的候选值。
以下是揭示轮密钥 {K32, K31, K30} 和主密钥 K 所需的故障数(FN)表格:
| 注入轮次 | 24th | 25th | 26th | 27th | 28th | 29th | 30th | 31st |
| — | — | — | — | — | — | — | — | — |
| FN32 | 24 | 8 | 7 | 8 | 12 | 12 | 24 | 24 |
超级会员免费看
订阅专栏 解锁全文
925

被折叠的 条评论
为什么被折叠?



