背景:RSA加密算法: 的计算复杂度
计算原理及步骤
,故将M缩小至n的余数范围内
- (最核心的思想) 不断的将
变为
,举个例子:
,这样的话每一次就只需要计算
,每一步省一半的计算量
- 但如果某一步的
是奇数,就把它直接算到
里面
从第二步可以看出,算法的复杂度是的
int C = 1;
M = M % n;
while(e != 0){
if(e & 1) C = (C * M) % n;
e>>=1;
M = (M*M) % n;
}
背景:RSA加密算法: 的计算复杂度
计算原理及步骤
从第二步可以看出,算法的复杂度是的
int C = 1;
M = M % n;
while(e != 0){
if(e & 1) C = (C * M) % n;
e>>=1;
M = (M*M) % n;
}