布尔掩码在指数运算中的应用
1. 抵御模板攻击的安全性
模板攻击是一种强大的攻击技术,攻击者假定拥有与被攻击设备相似的设备,可根据设备的功耗特性为某些指令构建模板。在基于模板的差分功耗分析(DPA)中,攻击者将不同密钥假设下的模板与记录的功耗轨迹进行匹配,匹配度最佳的模板指示密钥。
对于密钥位 (k_i) 与份额 (a_i)、(b_i) 的关系如下:
- (k_i = 1 \Rightarrow (a_i = 0 \text{ 且 } b_i = 1) \text{ 或 } (a_i = 1 \text{ 且 } b_i = 0))
- (k_i = 0 \Rightarrow a_i = b_i = 0 \text{ 或 } a_i = b_i = 1)
在涉及 (b’) 的操作中,如算法 2 的第 5 行、算法 5 的第 4 行等,需要存储上一轮模板中的 (b_{i - 1}) 值。此过程较为复杂,在信噪比较小的设备中难以成功。
另一种强大的模板攻击技术是在线模板攻击(OTA)。OTA 使用已知基点 (kPPP)((k \in Z))的倍数模板,并将其与算法每一轮特定操作(如加倍操作)的结果进行比较。未受保护的标量乘法实现易受 OTA 攻击,除非基点坐标被随机化。本文提出的算法对 OTA 具有安全性,因为特定点的加倍(或不加倍)操作不会泄露标量 (k_i) 的位信息。
以算法 2 为例,第 4 行有 (R_{a_i} \leftarrow \left{R_{(b_i \oplus b’) \oplus a_i} \right}^2 / n),可对潜在值 (R_0^2) 和 (R_1^2) 制作模板。假设与 (R_0^
超级会员免费看
订阅专栏 解锁全文
1308

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



