实践中的抗泄漏密码学
1. 背景知识
1.1 符号说明
为了便于理解和分析,我们采用了特定的符号体系。设 $x \xleftarrow{R} X$ 是从集合 $X$ 中均匀选取的明文,$k \xleftarrow{R} K$ 是从集合 $K$ 中均匀选取的密钥,为简化起见,令 $X = K = {0, 1}^n$。$E_k(x)$ 表示在密钥 $k$ 下对明文 $x$ 进行 $n$ 位分组密码加密的结果。
在经典密码分析中,攻击者可以查询分组密码以获取形如 $[x_i, E_k(x_i)]$ 的对。而在侧信道攻击中,攻击者还能获取泄漏函数的输出。设 $x_q = [x_1, x_2, \ldots, x_q]$ 是包含 $q$ 个输入明文的向量,对这些明文加密的测量结果存储在泄漏向量 $l_q = [l_1, l_2, \ldots, l_q]$ 中,其中每个元素 $l_i$ 称为泄漏轨迹,属于泄漏集合 $L$,通常 $L = R^{N_l}$,$N_l$ 是每条轨迹的样本数。最后,我们用 $l_i(t)$ 表示轨迹 $l_i$ 的第 $t$ 个泄漏样本。
1.2 泄漏函数的定义
泄漏函数是对侧信道特性(如芯片的功耗或电磁辐射)进行建模的抽象,直至用于监测物理可观测对象的测量设置。在分组密码示例中,每个泄漏样本 $l_i(t)$ 是泄漏函数 $L_t$ 的输出,该泄漏函数至少以明文 $x_i$ 和秘密密钥 $k$ 作为输入,但理论上还会考虑更多参数。Micali 和 Reyzin 考虑了三个输入参数:目标设备的内部配置 $C$、测量参数 $M$ 和随机字符串 $R$。为反映实际物理泄漏,$C$ 必须包含设备在当前输入计算之前的所有配
超级会员免费看
订阅专栏 解锁全文
1734

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



