[发明专利]椭圆曲线密码的点乘运算结果的获取方法和装置有效
申请号: | 201410515936.8 | 申请日: | 2014-09-29 |
公开(公告)号: | CN104298646B | 公开(公告)日: | 2017-08-29 |
发明(设计)人: | 王磊;王新龙;张建龙;张文婧 | 申请(专利权)人: | 北京宏思电子技术有限责任公司 |
主分类号: | G06F17/10 | 分类号: | G06F17/10 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 吴贵明,张永明 |
地址: | 100191 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 椭圆 曲线 密码 运算 结果 获取 方法 装置 | ||
技术领域
本发明涉及数据处理领域,具体而言,涉及一种椭圆曲线密码的点乘运算结果的获取方法和装置。
背景技术
当前的椭圆曲线密码算法的高效实现,通常都集中于对曲线点算法和实现的研究,点乘的实现速度基本决定了椭圆曲线密码算法的实现速度。
现有计算点乘的方式主要有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编码对所述低位系数与所述曲线点坐标进行点乘计算得到所述第二点乘子结果。
采用本发明实施例,不是直接计算点乘系数与曲线点坐标的点乘结果,而是将点乘系数进行分解,同时计算第一点乘子结果和第二点乘子结果,这样可以节省点乘计算的时间,解决了现有技术中的获取椭圆曲线密码的点乘运算结果速度慢的问题,实现了快速获取点乘结果的效果。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京宏思电子技术有限责任公司,未经北京宏思电子技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410515936.8/2.html,转载请声明来源钻瓜专利网。