一种同时多点乘实现方法及装置制造方法及图纸

技术编号:38494001 阅读:25 留言:0更新日期:2023-08-15 17:05
一种同时多点乘实现方法及装置,包括:对同时多点乘运算中的每个标量采用预设编码方式进行编码;基于经过编码的标量获取同时多点乘运算的计算结果,并根据编码过程中标量的变换处理内容对计算结果进行还原处理;预设编码方式包括:输入窗口宽度w,k=(k

【技术实现步骤摘要】
一种同时多点乘实现方法及装置


[0001]本文涉及信息安全技术,尤指一种同时多点乘实现方法及装置。

技术介绍

[0002]双标量乘Q=kG+tP是椭圆曲线密码验签算法的一个核心运算步骤,也是最耗时的一个运算步骤。。
[0003]相关技术中,大多数厂商将双标量乘Q=kG+tP其看作两个标量乘算法(kG和tP)分别进行计算,然后再进行一次点加运算,常见的标量乘方法有二进制扫描法、加减法、蒙哥马利阶梯法、滑动窗口法和COMB编码法,部分厂商将其看作整体进行计算,即通过同时多点乘算法实现的。
[0004]然而,现有的同时多点乘运算在编码时得到的窗口值K
i
和T
i
有可能出现窗口0值,因此窗口会出现“非零窗口”和“零窗口”之分,攻击者可通过采集功耗曲线并分析“非零窗口”与“零窗口”的差异性,以获取标量的部分信息,因此现有的同时多点乘不能抵抗简单功耗分析(Simple Power Analysis,SPA)攻击和故障攻击(Fault Attack,FA)。

技术实现思路

[0005]本申请提供了一种同时多点乘实现方法及装置,能够消除“零窗口”的出现,使得同时多点乘能够抵抗SPA攻击和FA攻击。
[0006]一方面,本申请提供了一种同时多点乘实现方法,包括:
[0007]对同时多点乘运算中的每个标量采用预设编码方式进行编码;
[0008]基于经过编码的标量获取所述同时多点乘运算的计算结果,并根据编码过程中所述标量的变换处理内容对所述同时多点乘运算的计算结果进行还原处理;
[0009]其中,所述预设编码方式包括:以窗口宽度w,k=(k
l
‑1,

,k1,k0)2,作为输入,执行以下步骤,输出(u
d
,u
d
‑1,

,u0)
w
,其中,k
j
∈{0,1},j=0,1

,l

1;所述以下步骤包括:
[0010]步骤1.i=0;
[0011]步骤2.若k为奇数,计算k

=k+2,若k为偶数,计算k

=k+1;
[0012]步骤3.当k

>1时,重复执行步骤3.1

3.3;
[0013]步骤3.1计算u
i
=k

mod2
w+1
‑2w

[0014]步骤3.2计算k

=(k
′‑
u
i
)/2
w

[0015]步骤3.3计算i=i+1;
[0016]步骤4.当k

=1,置u
d
=1;
[0017]步骤5.返回(u
d
,u
d
‑1,

,u0)
w

[0018]另一方面,本申请提供了一种同时多点乘实现装置,包括:存储器和处理器,所述存储器用于保存可执行程序;
[0019]所述处理器用于读取执行所述可执行程序,以实现上述的同时多点乘实现方法。
[0020]与相关技术相比,本申请包括通过计算u
i
=k

mod2
w+1
‑2w
得到负值,通过计算k

=(k
′‑
u
i
)/2
w
将位于当前窗口(第w整数倍比特位所位于的窗口)的下一个窗口中最低比特位w的整数倍+1比特由0变为1,这样当前窗口计算得到负数,保证了当前窗口为非零窗口,而当前窗口的下一个窗口的最低比特位为1,保证下一个窗口也为非零窗口,这样循环下去,保证所有窗口都为非零窗口,从而消除“零窗口”的出现,使得同时多点乘能够抵抗SPA攻击和FA攻击。
[0021]本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
[0022]附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
[0023]图1为本申请实施例提供的一种同时多点乘实现方法的流程示意图。
具体实施方式
[0024]本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
[0025]本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的专利技术方案。任何实施例的任何特征或元件也可以与来自其它专利技术方案的特征或元件组合,以形成另一个由权利要求限定的独特的专利技术方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
[0026]此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
[0027]本申请实施例提供了一种同时多点乘实现方法,如图1所示,包括:
[0028]步骤101、对同时多点乘运算中的每个标量采用预设编码方式进行编码;
[0029]步骤102、基于经过编码的标量获取所述同时多点乘运算的计算结果,并根据编码过程中所述标量的变换处理内容对所述同时多点乘运算的计算结果进行还原处理;
[0030]其中,所述预设编码方式包括:以窗口宽度w,编码对象k=(k
l
‑1,

,k1,k0)2,作为输入,执行以下步骤,输出(u
d
,u
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种同时多点乘实现方法,其特征在于,包括:对同时多点乘运算中的每个标量采用预设编码方式进行编码;基于经过编码的标量获取所述同时多点乘运算的计算结果,并根据编码过程中所述标量的变换处理内容对所述同时多点乘运算的计算结果进行还原处理;其中,所述预设编码方式包括:以窗口宽度w,编码对象k=(k
l
‑1,

,k1,k0)2,作为输入,执行以下步骤,输出(u
d
,u
d
‑1,

,u0)
w
,其中,k
j
∈{0,1},j=0,1

,l

1,所述以下步骤包括:步骤1、i=0;步骤2、若k为奇数,计算k

=k+2,若k为偶数,计算k

=k+1;步骤3、当k

>1时,重复执行步骤3.1

3.3;步骤3.1、计算u
i
=k

mod 2
w+1
‑2w
;步骤3.2、计算k

=(k
′‑
u
s
)/2
w
;步骤3.3、计算i=i+1;步骤4、当k

=1,置u
d
=1;步骤5、返回(u
d
,u
d
‑1,

,u0)
w
。2.根据权利要求1所述的方法,其特征在于,当所述同时多点乘运算为椭圆曲线双标量乘运算kG+tP,所述椭圆曲线双标量乘运算的计算结果为R时,所述根据编码过程中所述标量的变换处理内容对所述同时多点乘运算的计算结果进行还原处理,包括:若k为奇数,计算R=R

2G,若k为偶数,计算R=R

G;若t为奇数,计算R=R

2P,若t为偶数,计算R=R

P;其中,k、t为标量。3.根据权利要求2所述的方法,其特征在于,所述基于经过编码的标量获取所述同时多点乘运算的计算结果,包括:预计算iG,iP,其中,i∈(0,2
w

1]的奇数;当i=d时,计算R=K
d
G+T
d

【专利技术属性】
技术研发人员:雷翻翻纪云鹏马贵霞
申请(专利权)人:大唐微电子技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1