原理分析
RSA 算法实现 C=Me mod NC = M^e\ mod\ NC=Me mod N时,当明文取N−1N-1N−1,即,M=N−1M=N-1M=N−1时,在整个模幂运算过程中仅会出现333种运算,但三种运算在整个运算过程中出现的顺序存在着特定的规律。由于输入数据的特殊性,三种运算所对应的功耗差异明显,而进行相同的运算时,功耗接近。
假设密钥 e=1010011e = 1010011e=1010011, 明文为N−1N-1N−1时,从左至右BR算法所对应的运算和数据如下表所示:
密钥位 | 对应的运算 |
---|---|
1 | 1×1 mod N=11\times 1 \ mod\ N=11×1 mod N=1 (S2S2S2) & 1×(N−1) mod N=N−11\times (N-1)\ mod\ N=N-11×(N−1) mod N=N−1 (MMM) |
0 | (N−1)×(N−1) mod N=1(N-1)\times (N-1)\ mod\ N=1(N−1)×(N−1) mod N=1 (S1S1S1) |
1 | < |