如何增强最低有效位的安全性
1. 高度规则的从左到右标量乘法
在从左到右的标量乘法中,有两种重要的算法:蒙哥马利阶梯算法(Montgomery Ladder)和有符号数字算法(Signed - Digit Algorithm)。
1.1 蒙哥马利阶梯算法
蒙哥马利阶梯算法如算法7所示,为了降低计算成本,可在算法8中应用co - Z坐标。
- 算法7:蒙哥马利阶梯算法
Input: P, d = ∑(i = 0 to ℓ−1) di2^i (d > 0)
Output: dP
1: R[0] ← P; R[1] ← 2P
2: for i = ℓ−2 to 0 do
3: R[1 − di] ← R[0] + R[1]
4: R[di] ← 2R[di]
5: end for
6: return R[0]
- 算法8:蒙哥马利阶梯算法(co - Z)
Input: P, d = ∑(i = 0 to ℓ−1) di2^i (d > 0)
Output: dP
1: (R[1], R[0]) ← DBLU(P)
2: for i = ℓ−2 to 0 do
3: (R[di], R[1 − di]) ← ZACAU(R[di], R[1 − di])
4: end for
5: return R[0