[发明专利]椭圆曲线多倍点运算方法和装置有效
申请号: | 201810652042.1 | 申请日: | 2018-06-22 |
公开(公告)号: | CN108875416B | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 于艳艳;胡晓波;臧仕平;赵东艳;王尧;刘亮;甘杰;谭浪;张喆;涂因子;刘芮彤;杨滢璇 | 申请(专利权)人: | 北京智芯微电子科技有限公司;国网信息通信产业集团有限公司;国家电网有限公司;国网辽宁省电力有限公司电力科学研究院 |
主分类号: | G06F21/72 | 分类号: | G06F21/72;G06F21/55;G06F7/72 |
代理公司: | 北京中誉威圣知识产权代理有限公司 11279 | 代理人: | 周际;李晓康 |
地址: | 100192 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 椭圆 曲线 多倍点 运算 方法 装置 | ||
本发明公开了一种椭圆曲线多倍点运算方法和装置。该椭圆曲线多倍点运算方法包括有序的倍点和点加运算。在点加运算过程中,当扫描到标量K的当前位不为0时则执行真点加运算,当扫描到标量K的当前位为0时则执行等价点转换运算,将所述真点加运算的结果和所述等价点转换运算的结果存到相同的寄存器堆中,所述寄存器堆中包括多个寄存器。所述椭圆曲线多倍点运算方法和装置能够有效抵抗侧信道分析和安全错误攻击。
技术领域
本发明是关于密码芯片领域,特别是关于一种椭圆曲线多倍点运算方法和装置。
背景技术
自从1985年由Neal Koblitz和Victor Miller各自独立将椭圆曲线引入密码学以来,椭圆曲线在密码学中的作用越来越大。
有限域Fq上的椭圆曲线是由点组成的集合,有限域上椭圆曲线在点加运算下构成有限交换群,设K是一个正整数,P是椭圆曲线上的点,称点P的K次加为点P的K倍点运算,记为多倍点Q=[K]P。
类似于有限域乘法群中的乘幂运算,椭圆曲线多倍点运算构成一个单向函数。在多倍点运算中,已知多倍点Q与基点P,求解倍数K的问题称为椭圆曲线离散对数问题。对于一般椭圆曲线的离散对数问题,目前只存在指数级计算复杂度的求解方法。与大数分解问题及有限域上离散对数问题相比,椭圆曲线离散对数问题的求解难度要大得多。因此,在相同安全程度要求下,椭圆曲线密码较其它公钥密码所需的密钥规模要小得多。
椭圆曲线多倍点运算的实现可以有多种方法,常见的多倍点运算包括二进制扫描法、固定窗口扫描法等。
由于固定窗口扫描法与二进制扫描法的运算逻辑相似,下面以从左向右的二进制扫描法为例,介绍现有的多倍点算法,如下:
算法1:
输入:点P,整数K的二进制表示Ki∈{0,1}.
输出:Q=[K]P.
步骤:
1)Q=O;
2)i=n-1 to 0执行
2.1)Q=[2]Q;
2.2)if(Ki=1),则Q=Q+P;
3)返回Q.
随着测量技术和攻击技术的不断进步,对密码算法的各种分析和攻击方法不再局限于算法本身,出现了许多针对密码算法实现载体的攻击方法,侧信道攻击是其中威胁性较强的一种方法。攻击者利用密码设备在运行过程中泄露的侧信息如功耗、时间、电磁辐射等,对密码系统进行侧信道攻击。以上述算法为例,由于只有在Ki为1时才会执行点加运算,攻击者可以通过观察功耗曲线上是否执行点加运算判断当前密钥比特是1还是0。
目前,抵抗侧信道攻击可以通过消除条件分支的方法,不管当前比特是0还是1均执行倍点、点加运算,算法如下:
算法2:
输入:点P,整数K的二进制表示Ki∈{0,1}.
输出:Q=[K]P.
步骤:
1)Q=O;
2)i=n-1 to 0执行
2.1)Q=[2]Q;
2.2)if(Ki=1),则Q=Q+P;
else Q’=Q+P;
3)返回Q.
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智芯微电子科技有限公司;国网信息通信产业集团有限公司;国家电网有限公司;国网辽宁省电力有限公司电力科学研究院,未经北京智芯微电子科技有限公司;国网信息通信产业集团有限公司;国家电网有限公司;国网辽宁省电力有限公司电力科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810652042.1/2.html,转载请声明来源钻瓜专利网。