椭圆曲线密码的点乘运算结果的获取方法和装置制造方法及图纸

技术编号:10938972 阅读:264 留言:0更新日期:2015-01-21 19:13
本发明专利技术公开了一种椭圆曲线密码的点乘运算结果的获取方法和装置。其中,该方法包括:获取椭圆曲线上的曲线点坐标和点乘系数;将点乘系数分解为高位系数和低位系数;对高位系数与曲线点坐标进行点乘计算得到第一点乘子结果,同时对低位系数与曲线点坐标进行点乘计算得到第二点乘子结果;计算第一点乘子结果和第二点乘子结果的点加,得到点乘数据。通过本发明专利技术,解决了现有技术中的获取椭圆曲线密码的点乘运算结果速度慢的问题,实现了快速获取点乘结果的效果。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,具体而言,涉及一种椭圆曲线密码的点乘运算结果的获取方法和装置
技术介绍
当前的椭圆曲线密码算法的高效实现,通常都集中于对曲线点算法和实现的研究,点乘的实现速度基本决定了椭圆曲线密码算法的实现速度。现有计算点乘的方式主要有2种:窗口法:将点乘系数的若干比特作为一个观察单位,通过预计算的方式计算该观察窗口。NAF编码(椭圆曲线密码编码方式):通过减少点乘系数汉明重量的方式,来减少点加的操作次数。但是采用现有技术中的窗口法通常需要更多的存储空间和更大的逻辑复杂度,电路实现成本高,使用窗口法和NAF编码提高的速度比较有限。针对现有技术中获取椭圆曲线密码的点乘运算结果速度慢的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中获取椭圆曲线密码的点乘运算结果速度慢的问题,目前尚未提出有效的解决方案,为此,本专利技术的主要目的在于提供一种椭圆曲线密码的点乘运算结果的获取方法和装置,以解决上述问题。为了实现上述目的,根据本专利技术的一个方面,提供了一种椭圆曲线密码的点乘数据的获取方法,该方法包括:获取椭圆曲线上的曲线点坐标和点乘系数;将所述点乘系数分解为高位系数和低位系数;对所述高位系数与所述曲线点坐标进行点乘计算得到第一点乘子结果,同时对所述低位系数与所述曲线点坐标进行点乘计算得到第二点乘子结果;计算所述第一点乘子结果和所述第二点乘子结果的点加,得到点乘数据。进一步地,将所述点乘系数分解为高位系数和低位系数包括:获取所述点乘系数的位长;按照点乘的计算时间和所述位长确定所述高位系数和所述低位系数,以使点乘计算所述高位系数与所述曲线点坐标的第一时间与点乘计算所述低位系数与所述曲线点坐标的第二时间符合预设倍数。进一步地,按照点乘的计算时间和所述位长确定所述高位系数和所述低位系数包括:按照如下公式计算低位参数x,所述公式为其中,所述L为所述位长,所述D为一次点倍计算的时间,所述A为一次点加计算的时间;计算所述位长与所述低位参数的差得到高位参数L-x;使用(L-x)确定所述高位系数,使用x确定所述低位系数。进一步地,对所述高位系数与所述曲线点坐标进行点乘计算得到第一点乘子结果,同时对所述低位系数与所述曲线点坐标进行点乘计算得到第二点乘子结果包括:使用窗口法或NAF编码对所述高位系数与所述曲线点坐标进行点乘计算得到所述第一点乘子结果,同时使用窗口法或NAF编码对所述低位系数与所述曲线点坐标进行点乘计算得到所述第二点乘子结果。为了实现上述目的,根据本专利技术的另一方面,提供了一种椭圆曲线密码的点乘数据的获取装置,该装置包括:获取模块,用于获取椭圆曲线上的曲线点坐标和点乘系数;分解模块,用于将所述点乘系数分解为高位系数和低位系数;第一计算模块,用于对所述高位系数与所述曲线点坐标进行点乘计算得到第一点乘子结果,同时对所述低位系数与所述曲线点坐标进行点乘计算得到第二点乘子结果;第二计算模块,用于计算所述第一点乘子结果和所述第二点乘子结果的点加,得到点乘数据。进一步地,所述分解模块包括:第一获取子模块,用于获取所述点乘系数的位长;第一确定模块,用于按照点乘的计算时间和所述位长确定所述高位系数和所述低位系数,以使点乘计算所述高位系数与所述曲线点坐标的第一时间与点乘计算所述低位系数与所述曲线点坐标的第二时间符合预设倍数。进一步地,所述第一确定模块包括:第一计算子模块,用于按照如下公式计算低位参数x,所述公式为其中,所述L为所述位长,所述D为一次点倍计算的时间,所述A为一次点加计算的时间;第二计算子模块,用于计算所述位长与所述低位参数的差得到高位参数L-x;第二确定模块,用于使用(L-x)确定所述高位系数,使用x确定所述低位系数。进一步地,所述第一计算模块包括:第三计算子模块,用于使用窗口法或NAF编码对所述高位系数与所述曲线点坐标进行点乘计算得到所述第一点乘子结果,同时使用窗口法或NAF编码对所述低位系数与所述曲线点坐标进行点乘计算得到所述第二点乘子结果。采用本专利技术实施例,不是直接计算点乘系数与曲线点坐标的点乘结果,而是将点乘系数进行分解,同时计算第一点乘子结果和第二点乘子结果,这样可以节省点乘计算的时间,解决了现有技术中的获取椭圆曲线密码的点乘运算结果速度慢的问题,实现了快速获取点乘结果的效果。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的椭圆曲线密码的点乘数据的获取方法的流程图;以及图2是根据本专利技术实施例的一种椭圆曲线密码的点乘数据的获取装置的示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。图1是根据本专利技术实施例的椭圆曲线密码的点乘数据的获取方法的流程图。如图1所示,该方法可以包括如下步骤:步骤S102:获取椭圆曲线上的曲线点坐标和点乘系数。步骤S104:将点乘系数分解为高位系数和低位系数。步骤S106:对高位系数与曲线点坐标进行点乘计算得到第一点乘子结果,和对低位系数与曲线点坐标进行点乘计算得到第二点乘子结果。步骤S108:计算第一点乘子结果和第二点乘子结果的点加,得到点乘数据。采用本专利技术实施例,不是直接计算点乘系数与曲线点坐标的点乘结果,而是将点乘系数进行分解,同时计算第一点乘子结果和第二点乘子结果,这样可以节省点乘计算的时间,解决了现有技术中的获取椭圆曲线密码的点乘运算结果速度慢的问题,实现了快速获取点乘结果的效果。在本专利技术本文档来自技高网
...
椭圆曲线密码的点乘运算结果的获取方法和装置

【技术保护点】
一种椭圆曲线密码的点乘数据的获取方法,其特征在于,包括:获取椭圆曲线上的曲线点坐标和点乘系数;将所述点乘系数分解为高位系数和低位系数;对所述高位系数与所述曲线点坐标进行点乘计算得到第一点乘子结果,同时对所述低位系数与所述曲线点坐标进行点乘计算得到第二点乘子结果;计算所述第一点乘子结果和所述第二点乘子结果的点加,得到点乘数据。

【技术特征摘要】
1.一种椭圆曲线密码的点乘数据的获取方法,其特征在于,包括:
获取椭圆曲线上的曲线点坐标和点乘系数;
将所述点乘系数分解为高位系数和低位系数;
对所述高位系数与所述曲线点坐标进行点乘计算得到第一点乘子结果,同时对所述
低位系数与所述曲线点坐标进行点乘计算得到第二点乘子结果;
计算所述第一点乘子结果和所述第二点乘子结果的点加,得到点乘数据。
2.根据权利要求1所述的获取方法,其特征在于,将所述点乘系数分解为高位系数和低位
系数包括:
获取所述点乘系数的位长;
按照点乘的计算时间和所述位长确定所述高位系数和所述低位系数,以使点乘计算
所述高位系数与所述曲线点坐标的第一时间与点乘计算所述低位系数与所述曲线点坐标
的第二时间符合预设倍数。
3.根据权利要求2所述的获取方法,其特征在于,按照点乘的计算时间和所述位长确定所
述高位系数和所述低位系数包括:
按照如下公式计算低位参数x,所述公式为其中,所述L为所述位长,
所述D为一次点倍计算的时间,所述A为一次点加计算的时间;
计算所述位长与所述低位参数的差得到高位参数L-x;
使用(L-x)确定所述高位系数,使用x确定所述低位系数。
4.根据权利要求1至3中任意一项所述的获取方法,其特征在于,对所述高位系数与所述
曲线点坐标进行点乘计算得到第一点乘子结果,同时对所述低位系数与所述曲线点坐标
进行点乘计算得到第二点乘子结果包括:
使用窗口法或NAF编码对所述高位系数与所述曲线点坐标进行点乘计算得到所述第
一点乘子结果,同时使用窗口法或NAF编码对所述低位系数与所述曲线点坐标进行点乘
计算得到所述第二点乘子结...

【专利技术属性】
技术研发人员:王磊王新龙张建龙张文婧
申请(专利权)人:北京宏思电子技术有限责任公司
类型:发明
国别省市:北京;11

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

1