天天看点

椭圆曲线多倍点运算的实现:



椭圆曲线多倍点运算的实现:有多种方法,下面只说二进制展开法,从左至右

输入:点P,l bits 的整数k二进制展开为[l,…1],l表示左边起 第1个为1的bit

输出:Q=[k]P

1:第l bit时:置Q=P

2:for (i=l-1;  i>0; i++)

{

     Q=[2]Q

  if(i==1)

     {

         Q=Q+P

     }

}

3:输出Q

例如:

K=00010110

K4  Q=P;

K3 Q=2P;

K2 Q=2Q=4P;

Q=Q+P=5P

K1 Q=2Q=10P;

Q=Q+P=11P

K0 Q=2Q=22P

即[K]P=[22]P

继续阅读