橢圓曲線多倍點運算的實作:有多種方法,下面隻說二進制展開法,從左至右
輸入:點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