当前位置:   article > 正文

ECC中计算倍点的两种方法_ecc点乘运算

ecc点乘运算

最近在看ECC的加密算法,该算法的安全性基于“求离散对数”的困难。下面主要介绍一下ECC在实现倍点过程中的算法,分为两部分:一是基于二进数的计算方法,二是基于NAF序列的计算方法。

基于二进数的计算方法中,分为两种遍历方式,一是从左向右遍历,二是从右向左遍历,该算法类似模幂运算中对于其指数的处理方式。具体算法如下。

ECC中计算倍乘的算法:现计算kP,k=(kt-1,kt-2,.....,k1,k0),PE(Fq)

算法1:从左向右遍历

输入:k=(kt-1,kt-2,.....,k1,k0),PE(Fq)

输出:Q=k P

Q←0(这里0指的是群运算中的单位元)

for i=0 to t-1

begin

  if ki=1 Q=Q+P

  P=2P

end

return Q

算法2:从右向左遍历

输入:k=(kt-1,kt-2,.....,k1,k0),PE(Fq)

输出:Q=k P

Q←0(这里0指的是群运算中的单位元)

for i=t-1 to 0

begin

  Q=2Q

  if ki=1 Q=Q+P

end

return Q

基于NAF序列计算点乘运算中也分为两种情况,一种是基于NAF2,一种是基于NAFw,下面先介绍一下NAF的定义,然后再介绍一下基于NAF计算点乘的算法。

<
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/612185
推荐阅读
相关标签
  

闽ICP备14008679号