块密码的门限实现背后的原理是什么?这是如何防止侧信道攻击的?
发布于 2021-10-27 14:12:05
块密码门限实现背后的原理是什么?
其思想是,我们获取密码的每个秘密状态(无论是密钥本身还是内部状态值),并将其转换为“阈值”表示,其中秘密状态s的逻辑值实际上由t不同的物理值s_0, s_1, \dots, s_{t-1}实现,例如,对物理值的t-1的知识不提供关于逻辑值s的信息。
实现这一点的最常用方法是使用xor共享;如果是t=2,那么每个逻辑状态s都由s = s_0 \oplus s_1表示;如果s_0, s_1都可以用概率0.5表示1,那么学习其中的一个就没有提供关于s的信息。
显而易见的问题是“您如何使用这些阈值表示进行操作?”线性/仿射操作很容易:要否定,只需翻转一个物理组件。要使用xor,您可以使用两个值组件--wise:(s_0, s_1) \oplus (t_0, t_1) = (s_0 \oplus t_0, s_1 \oplus t_1)
非线性操作有点棘手;要执行AND操作,我们可以做的是选择一个新的随机值r,并计算(s_0, s_1) \land (t_0, t_1) = (s_0 \land t_0 \oplus (s_1 \land t_1 \oplus r), s_0 \land t_1 \oplus (s_1 \land t_0 \oplus r))。这是因为我们有DeMorgan的定理:(s_0 \oplus s_1) \land (t_0 \oplus t_1) = (s_0 \land t_0) \oplus (s_0 \land t_1) \land (s_1 \land t_0) \oplus (s_1 \land t_1) (它推广到任意的阈值。而且,我们引入了新的随机性r,因为否则物理值将不再是均匀分布的。
使用NOT,XOR和和操作,可以构造任何块密码。
这是如何防范侧通道攻击的?
这个想法是,即使攻击者可以从侧通道攻击中同时获得一些关于t-1秘密值状态的信息,但这并不能告诉他密码本身发生了什么。
我被要求提供一个参考;我所知道的最早的一般参考是Chari等人的走向声音对抗力量分析攻击;特别是见第3.3节“编码”
https://crypto.stackexchange.com/questions/95795
复制相似问题