-
-
[求助]ECC中 窗口法计算NAF 看不明白????
-
发表于:
2016-6-7 18:06
13852
-
[求助]ECC中 窗口法计算NAF 看不明白????
用窗口法计算点乘的NAF, 可加快点乘计算速度, 我不理解怎么计算出 负数?
窗口法NAF计算公式如下:
w -- 为窗口宽度
k -- 需要计算的正整数.
out[] -- 输出.
i=0;
如果 k >= 1 时,
如果 k 是奇数, out[i] = k mod 2^w; k -= out[i];
否则 out[i] = 0;
k /= 2; i++;
代码如下:
i = 0;
while (k >= 1)
{
if (k & 1)
{
out[i] = (k % (2^w));
k -= out[i];
}
else out[i] = 0;
k /= 2;
i++;
}
=============
??? 我奇怪 k 是正整数, out[i] = k mod 2^w, 余数 out[i] 也该是正整数, 怎么会有负数?
而且所有网上介绍 窗口法NAF 的结果都有负数....
如 w=3; k=3533;
网上的结果: { 1,0,0,-1,0,0,0,0,-3,0,0,0,-3 }
上面代码计算的结果: { 3,0,0,0,7,0,0,1,0,0,5 }
[注意]APP应用上架合规检测服务,协助应用顺利上架!