RSA密码与签名的实现及模块化乘法方法
1. 蒙哥马利幂梯算法计算模幂运算
蒙哥马利幂梯算法(Montgomery powering ladder)是一种用于计算模幂运算 $a^d \mod n$ 的有效方法。以下是该算法的详细信息:
1.1 算法描述
Algorithm 3.9: Montgomery powering ladder for computing modular expo-
nentiation
Input: n, a, d// n ∈ Z, n ≥ 2; a ∈ Zn, d ∈ Zϕ(n) has bit length 𝓁d
Output: ad mod n
1 R0 = 1
2 R1 = a
3 for j = 𝓁d − 1, j ≥ 0, j −− do
4
if dj = 0 then
5
R1 = R0R1 mod n// aHj = aLj+1Hj+1 for j < 𝓁d − 1
6
R0 = R2 0 mod n// aLj = (aLj+1)2 for j < 𝓁d − 1
7
else
8
R0 = R0R1 mod n// aLj = aLj+1Hj+1 for j < 𝓁d − 1
9
R1 = R2 1 mod n// aHj = (aHj+1)2 for j < 𝓁d − 1
10 return R0
1.2 示例
假设 $n = 23$,$d = 4 = 100_2$,$a = 5$,我们知道 $a^d \mod n = 4$。使用上述算法
RSA高效计算与模幂优化
超级会员免费看
订阅专栏 解锁全文
25

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



