ECC中计算倍点的两种方法

本文介绍了ECC加密算法中计算倍点的两种方法,分别是基于二进数的计算(包括从左向右和从右向左遍历)和基于NAF序列的计算(NAF2和NAFw)。详细阐述了每种方法的算法步骤,并提到了窗口方法可以优化计算效率。
摘要由CSDN通过智能技术生成

最近在看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计算点乘的算法。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值