针对掩码密钥 Keccak 的碰撞 - 相关性攻击
1. 基于 Keccak 构建 MAC
可以基于 Keccak 函数构建消息认证码(MAC)。具体做法是将秘密密钥 K 和消息 M 拼接作为输入,然后将输出截断为 p 位(p < c),即 KeccakK(M) = ⌊Keccak(K||M)⌋p。得益于海绵结构,这种 MAC 函数是安全的。
2. Keccak 的侧信道分析
Keccak 密钥版本的侧信道分析相关考虑最早由设计者在 SHA - 3 会议上提出。他们关注 Keccak 的密钥版本,重点评估对抗措施的安全性。
2.1 软件实现的布尔掩码方案
对于软件实现,他们提出使用经典的一阶布尔掩码方案,将每个敏感变量拆分为两个份额。设状态 A 的两个份额为 R 和 S,即 A = R⊕S。线性函数的安全评估很容易实现,设线性层 λ = π ◦ρ ◦θ,只需计算 λ(R) 和 λ(S)。非线性函数 χ 可以在份额上计算,而无需操作敏感变量。
具体来说,如果敏感位 ax, ax + 1, ax + 2 由份额 rx, rx + 1, rx + 2 和 sx, sx + 1, sx + 2 表示(即 ax = rx + sx 等),χ 操作的实现如下:
rx ← rx + (rx + 1 + 1) · rx + 2 + rx + 1 · sx + 2
sx ← sx + (sx + 1 + 1) · sx + 2 + sx + 1 · rx + 2
这个掩码方案后来得到了改进。改进的思路
超级会员免费看
订阅专栏 解锁全文
426

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



