CN108875416B - 椭圆曲线多倍点运算方法和装置 - Google Patents

椭圆曲线多倍点运算方法和装置 Download PDF

Info

Publication number
CN108875416B
CN108875416B CN201810652042.1A CN201810652042A CN108875416B CN 108875416 B CN108875416 B CN 108875416B CN 201810652042 A CN201810652042 A CN 201810652042A CN 108875416 B CN108875416 B CN 108875416B
Authority
CN
China
Prior art keywords
point
sub
equivalent
elliptic curve
addition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810652042.1A
Other languages
English (en)
Other versions
CN108875416A (zh
Inventor
于艳艳
胡晓波
臧仕平
赵东艳
王尧
刘亮
甘杰
谭浪
张喆
涂因子
刘芮彤
杨滢璇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Information and Telecommunication Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
State Grid Information and Telecommunication Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Information and Telecommunication Co Ltd, Beijing Smartchip Microelectronics Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201810652042.1A priority Critical patent/CN108875416B/zh
Publication of CN108875416A publication Critical patent/CN108875416A/zh
Priority to PCT/CN2019/091161 priority patent/WO2019242562A1/zh
Priority to US16/970,488 priority patent/US11003769B2/en
Application granted granted Critical
Publication of CN108875416B publication Critical patent/CN108875416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明公开了一种椭圆曲线多倍点运算方法和装置。该椭圆曲线多倍点运算方法包括有序的倍点和点加运算。在点加运算过程中,当扫描到标量K的当前位不为0时则执行真点加运算,当扫描到标量K的当前位为0时则执行等价点转换运算,将所述真点加运算的结果和所述等价点转换运算的结果存到相同的寄存器堆中,所述寄存器堆中包括多个寄存器。所述椭圆曲线多倍点运算方法和装置能够有效抵抗侧信道分析和安全错误攻击。

Description

椭圆曲线多倍点运算方法和装置
技术领域
本发明是关于密码芯片领域,特别是关于一种椭圆曲线多倍点运算方法和装置。
背景技术
自从1985年由Neal Koblitz和Victor Miller各自独立将椭圆曲线引入密码学以来,椭圆曲线在密码学中的作用越来越大。
有限域Fq上的椭圆曲线是由点组成的集合,有限域上椭圆曲线在点加运算下构成有限交换群,设K是一个正整数,P是椭圆曲线上的点,称点P的K次加为点P的K倍点运算,记为多倍点Q=[K]P。
类似于有限域乘法群中的乘幂运算,椭圆曲线多倍点运算构成一个单向函数。在多倍点运算中,已知多倍点Q与基点P,求解倍数K的问题称为椭圆曲线离散对数问题。对于一般椭圆曲线的离散对数问题,目前只存在指数级计算复杂度的求解方法。与大数分解问题及有限域上离散对数问题相比,椭圆曲线离散对数问题的求解难度要大得多。因此,在相同安全程度要求下,椭圆曲线密码较其它公钥密码所需的密钥规模要小得多。
椭圆曲线多倍点运算的实现可以有多种方法,常见的多倍点运算包括二进制扫描法、固定窗口扫描法等。
由于固定窗口扫描法与二进制扫描法的运算逻辑相似,下面以从左向右的二进制扫描法为例,介绍现有的多倍点算法,如下:
算法1:
输入:点P,整数K的二进制表示
Figure GDA0002387954590000011
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的二进制表示
Figure GDA0002387954590000021
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.
虽然算法2虽然无法从功耗曲线上区分出当前比特是0还是1,但是Q’=Q+P这一步由于运算结果Q’不参与后续运算,相当于是冗余操作,无法抵抗安全错误攻击:如果攻击者通过故障注入改变Q’的值,然后观察最终运算结果是否正确,如果正确,说明Q’的改变不影响最终结果,当前比特为0,否则为1。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种椭圆曲线多倍点运算方法和装置,其能够有效抵抗侧信道分析和安全错误攻击。
为实现上述目的,本发明提供了一种椭圆曲线多倍点运算方法。该椭圆曲线多倍点运算方法用于椭圆曲线密码算法中来抵抗攻击者对密码的侧信道分析攻击和安全错误攻击。该椭圆曲线多倍点运算方法包括:对多倍点Q执行有序的倍点运算;对多倍点Q执行点加运算,当扫描到标量K的当前位不为0时,则对多倍点Q执行真点加运算,当扫描到标量K的当前位为0时,则对多倍点Q执行等价点转换运算,所述标量K是二进制形式或多进制形式的整数;将所述真点加运算的结果和所述等价点转换运算的结果存到相同的寄存器堆中,所述寄存器堆中包括多个寄存器。
在一优选的实施方式中,所述真点加运算包括多个真点加子运算步骤,所述等价点转换运算包括多个等价点转换子运算步骤,所述真点加子运算步骤的数目与所述等价点转换子运算步骤的数目相同。
在一优选的实施方式中,当所述真点加运算和所述等价点转换运算分别在执行同一个步骤下的真点加子运算和等价点转换子运算时,该同一个步骤下的两种子运算均执行加减运算或均执行乘法运算。
在一优选的实施方式中,当所述真点加运算和所述等价点转换运算分别在执行同一个步骤下的真点加子运算和等价点转换子运算时,将该相同步骤的两种子运算产生的运算结果存到所述寄存器堆中的相同寄存器中。
本发明还提供了一种椭圆曲线多倍点运算装置。所述椭圆曲线多倍点运算装置采用二进制扫描法进行多倍点运算。所述椭圆曲线多倍点运算装置包括:有序倍点运算模块、扫描模块、真点加运算模块、等价点转换运算模块。有序倍点运算模块用于对多倍点Q进行有序的倍点运算。扫描模块用于扫描标量K,所述标量K是二进制形式或多进制形式的整数。真点加运算模块与所述扫描模块和所述有序倍点运算模块均相耦合,用于当扫描到标量K的当前位不为0时,对多倍点Q执行真实的点加运算。等价点转换运算模块与所述扫描模块和所述有序倍点运算模块均相耦合,用于当扫描到标量K的当前位为0时,对多倍点Q执行等价点转换运算。存储模块与所述有序倍点运算模块、所述真点加运算模块、所述等价点转换运算模块均相耦合。存储模块用于将所述真点加运算的结果和所述等价点转换运算的结果存到相同的寄存器堆中,所述寄存器堆中有多个寄存器。
在一优选的实施方式中,所述真点加运算模块包括N个真点加运算子运算单元,分别用于执行真点加运算的各个子运算步骤,当N个真点加运算子运算单元都执行完相应的子运算后产生所述真点加运算的结果。所述等价点转换运算模块包括N个等价点转换运算子运算单元,分别用于执行等价点转换运算的各个子运算步骤,当N个等价点转换运算子运算单元都执行完相应的子运算后产生所述等价点转换运算的结果。
在一优选的实施方式中,当所述真点加运算和所述等价点转换运算的子运算步骤相同时,该相同步骤的两种子运算均执行加减运算或均执行乘法运算。
在一优选的实施方式中,当所述真点加运算和所述等价点转换运算的子运算步骤相同时,将该相同步骤的两种子运算产生的运算结果存到所述寄存器堆中的相同的寄存器中。
与现有技术相比,根据本发明的椭圆曲线多倍点运算方法和装置,当标量K的当前位为0时执行等价点转换运算,等价点转换运算与真实的点加运算的每一步子运算均按照相同的运算方式执行算法,相当于“伪”点加,攻击者无法从功耗等侧信道信息中区分真实点加运算和“伪”点加运算,可有效抵抗侧信道攻击。此外,等价点转换运算结果更新到真实运算结果寄存器Q中,此过程中没有冗余运算,可有效抵抗安全错误攻击。
附图说明
图1是根据本发明一实施方式的椭圆曲线多倍点运算的方法的流程;
图2是根据本发明一实施方式的椭圆曲线多倍点运算装置的结构示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
根据椭圆曲线的性质,对于雅克比射影坐标系下的两个点(x1,y1,z1)和(x2,y2,z2),若存在某个有限域上的非零元素u使得x1=u2x2,y1=u3y2,z1=u z2,则称这两个三元组等价,表示同一个点。
据此,本发明提出了一种椭圆曲线多倍点运算方法和装置,在进行椭圆曲线多倍点运算过程中,当Ki比特为0时执行等价点转换运算,等价点转换运算与真实的点加运算的每一步子运算均按照相同的运算方式执行算法,相当于“伪”点加,攻击者无法从功耗等侧信道信息中区分真实点加运算和“伪”点加运算,可有效抵抗侧信道攻击。此外,等价点转换运算结果更新到真实运算结果寄存器Q中,此过程中没有冗余运算,可有效抵抗安全错误攻击。
图1是根据本发明一实施方式的椭圆曲线多倍点运算的方法的流程图。
椭圆曲线多倍点运算的方法包括:
s1,对多倍点Q执行有序的倍点运算。
s2,对多倍点Q执行点加运算。该过程包括:
当扫描到标量K的当前位不为0时,则对多倍点Q执行真点加运算S201,所述标量K是二进制形式或多进制形式的整数;当扫描到标量K的当前位为0时,则对多倍点Q执行等价点转换运算S202。
其中,所述真点加运算S201包括N个子运算步骤,从第一步到第N步执行完毕后产生所述真点加运算的结果。所述等价点转换运算S202也包括N个子运算步骤,从第一步到第N步执行完毕后产生所述等价点转换运算的结果。当所述真点加运算S201和所述等价点转换运算S202的子运算步骤相同时,该相同步骤的两种子运算均执行加减运算或均执行乘法运算。将该相同步骤的两种子运算产生的运算结果存到所述寄存堆中的相同的寄存器中。
s3,存储运算结果。将所述真点加运算S201的结果和所述等价点转换运算S202的结果存到相同的寄存器堆中。
在一实施方式中,基于二进制扫描法的多倍点算法如下:
输入:点P,整数K的二进制表示
Figure GDA0002387954590000061
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;//等价点转换,相当于“伪”点加
3)返回Q.
在又一实施方式中,基于固定窗口扫描法的多倍点算法如下:
设窗口长度为w,m=2w,则标量K(多进制数)可以表示为
K=Kt-1mt-1+Kt-1mt-1+…+K1m+K0(0≤Ki<2w)
从左向右的固定窗口扫描法如下:
输入:点P,整数K.
输出:Q=[K]P.
步骤:
1)预计算:
1.1)P1=P;
1.2)for i=2 to 2w-1执行
Pi=Pi-1+P;
2)Q=O;
3)i=t-1 to 0执行
3.1)Q=[2]Q;
3.2)if(Ki≠0),则
Figure GDA0002387954590000071
else Q=Q;//等价点转换,相当于“伪”点加
4)返回Q.
图2是根据本发明一实施方式的椭圆曲线多倍点运算装置的结构示意图。
该椭圆曲线多倍点运算装置包括:有序倍点运算模块10、扫描模块11、真点加运算模块12、等价点转换运算模块13、存储模块14。
有序倍点运算模块10用于对多倍点Q进行有序的倍点运算。扫描模块11用于扫描标量K,所述标量K是二进制形式或多进制形式的整数。真点加运算模块12与所述扫描模块11以及有序倍点运算模块10均相耦合,用于当扫描到标量K的当前位不为0时,对多倍点Q执行真实的点加运算。等价点转换运算模块13与所述扫描模块11以及有序倍点运算模块10均相耦合,用于当扫描到标量K的当前位为0时,对多倍点Q执行等价点转换运算。存储模块14用于将得到的真点加运算结果和伪点加运算结果存到相同的寄存器堆中。
真点加运算模块12包括N个真点加运算子运算单元,分别用于执行真点加运算的各个子运算步骤,当N个真点加运算子运算单元都执行完相应的子运算后产生所述真点加运算的结果。所述等价点转换运算模块13也包括N个等价点转换运算子运算单元,分别用于执行等价点转换运算的各个子运算步骤,当N个等价点转换运算子运算单元都执行完相应的子运算后产生所述等价点转换运算的结果。优选地,当所述真点加运算和所述等价点转换运算的子运算步骤相同时,该相同步骤的两种子运算均执行加减运算或均执行乘法运算。当所述真点加运算和所述等价点转换运算的子运算步骤相同时,将该相同步骤的两种子运算产生的运算结果存到寄存器堆中的相同的寄存器中。
下面以素数域上的椭圆曲线点加及“伪点加”为一实施例进行详细说明。
运算过程详见下表:
Figure GDA0002387954590000081
Figure GDA0002387954590000091
从表中可以看出,点加和“伪”点加每一子运算步骤的运算方式相同(均执行乘法,或者均执行加/减法)。X1,Y1,Z1,X2,Y2都参与运算,而且每一子运算步骤的运算结果都更新到相同的寄存器变量V0,V1,V2,VA,VB,VC,VD或者X1,Y1,Z1中。
综上所述,该椭圆曲线多倍点运算方法和装置当Ki比特为0时执行等价点转换运算,等价点转换运算与真实的点加运算的每个子运算的运算方式相同,相当于“伪”点加,攻击者无法区分真实点加运算和“伪”点加运算,可有效抵抗侧信道攻击。等价点转换运算结果更新到真实运算结果寄存器Q中,此过程中没有冗余运算,可有效抵抗安全错误攻击。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用于说明本发明的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。

Claims (8)

1.一种椭圆曲线多倍点运算方法,该椭圆曲线多倍点运算方法用于椭圆曲线密码算法中来抵抗攻击者对密码的侧信道分析攻击和安全错误攻击,其特征在于,该椭圆曲线多倍点运算方法包括:
对多倍点Q执行有序的倍点运算;
对多倍点Q执行点加运算,当扫描到标量K的当前位不为0时,则对多倍点Q执行真点加运算,当扫描到标量K的当前位为0时,则对多倍点Q执行等价点转换运算,所述标量K是二进制形式或多进制形式的整数,其中,所述真点加运算为Q=Q+P,其中P为椭圆曲线上的点,所述等价点转换运算为Q=Q;
将所述真点加运算的结果和所述等价点转换运算的结果存到相同的寄存器堆中,所述寄存器堆中包括多个寄存器。
2.如权利要求1所述的椭圆曲线多倍点运算方法,其特征在于,
所述真点加运算包括多个真点加子运算步骤,所述等价点转换运算包括多个等价点转换子运算步骤,所述真点加子运算步骤的数目与所述等价点转换子运算步骤的数目相同。
3.如权利要求2所述的椭圆曲线多倍点运算方法,其特征在于,
当所述真点加运算和所述等价点转换运算分别在执行同一个步骤下的真点加子运算和等价点转换子运算时,该同一个步骤下的两种子运算均执行加减运算或均执行乘法运算。
4.如权利要求2所述的椭圆曲线多倍点运算方法,其特征在于,
当所述真点加运算和所述等价点转换运算分别在执行同一个步骤下的真点加子运算和等价点转换子运算时,将该同一个步骤下的两种子运算产生的运算结果存到所述寄存器堆中的相同寄存器中。
5.一种椭圆曲线多倍点运算装置,其特征在于,包括:
有序倍点运算模块,用于对多倍点Q进行有序的倍点运算;
扫描模块,用于扫描标量K,所述标量K是二进制形式或多进制形式的整数;
真点加运算模块,与所述扫描模块和所述有序倍点运算模块均相耦合,用于当扫描到标量K的当前位不为0时,对多倍点Q执行真点加运算,其中,所述真点加运算为Q=Q+P,其中P为椭圆曲线上的点;
等价点转换运算模块,与所述扫描模块和所述有序倍点运算模块均相耦合,用于当扫描到标量K的当前位为0时,对多倍点Q执行等价点转换运算,其中,所述等价点转换运算为Q=Q;
存储模块,与所述有序倍点运算模块、所述真点加运算模块、所述等价点转换运算模块均相耦合,该存储模块用于将所述真点加运算的结果和所述等价点转换运算的结果存到相同的寄存器堆中,所述寄存器堆中有多个寄存器。
6.如权利要求5所述的椭圆曲线多倍点运算装置,其特征在于,
所述真点加运算模块包括N个真点加运算子运算单元,分别用于执行真点加运算的各个子运算步骤,当N个真点加运算子运算单元都执行完相应的子运算后产生所述真点加运算的结果;
所述等价点转换运算模块包括N个等价点转换运算子运算单元,分别用于执行等价点转换运算的各个子运算步骤,当N个等价点转换运算子运算单元都执行完相应的子运算后产生所述等价点转换运算的结果。
7.如权利要求6所述的椭圆曲线多倍点运算装置,其特征在于,
当所述真点加运算和所述等价点转换运算的子运算步骤相同时,该相同步骤的两种子运算均执行加减运算或均执行乘法运算。
8.如权利要求6所述的椭圆曲线多倍点运算装置,其特征在于,
当所述真点加运算和所述等价点转换运算的子运算步骤相同时,将该相同步骤的两种子运算产生的运算结果存到所述寄存器堆中的相同寄存器中。
CN201810652042.1A 2018-06-22 2018-06-22 椭圆曲线多倍点运算方法和装置 Active CN108875416B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810652042.1A CN108875416B (zh) 2018-06-22 2018-06-22 椭圆曲线多倍点运算方法和装置
PCT/CN2019/091161 WO2019242562A1 (zh) 2018-06-22 2019-06-13 椭圆曲线多倍点运算方法和装置
US16/970,488 US11003769B2 (en) 2018-06-22 2019-06-13 Elliptic curve point multiplication operation method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810652042.1A CN108875416B (zh) 2018-06-22 2018-06-22 椭圆曲线多倍点运算方法和装置

Publications (2)

Publication Number Publication Date
CN108875416A CN108875416A (zh) 2018-11-23
CN108875416B true CN108875416B (zh) 2020-05-19

Family

ID=64340867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810652042.1A Active CN108875416B (zh) 2018-06-22 2018-06-22 椭圆曲线多倍点运算方法和装置

Country Status (3)

Country Link
US (1) US11003769B2 (zh)
CN (1) CN108875416B (zh)
WO (1) WO2019242562A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875416B (zh) 2018-06-22 2020-05-19 北京智芯微电子科技有限公司 椭圆曲线多倍点运算方法和装置
CN110048844B (zh) * 2019-03-29 2020-09-11 网御安全技术(深圳)有限公司 实现sm2算法的多倍点计算方法、装置
CN111966324B (zh) * 2020-08-19 2024-01-30 哈尔滨理工大学 面向多椭圆曲线标量乘法器的实现方法、装置及存储介质
CN113014388B (zh) * 2021-03-30 2022-06-28 浙江萤火虫区块链科技有限公司 一种椭圆曲线密码算法中标量乘的加速***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387015A (zh) * 2011-09-14 2012-03-21 中国矿业大学 一种提高椭圆曲线标量乘法计算效率的方法
CN107425974A (zh) * 2017-05-18 2017-12-01 西安电子科技大学 一种FourQ椭圆曲线上KP运算的硬件实现方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2252078C (en) * 1998-10-28 2009-02-17 Certicom Corp. Power signature attack resistant cryptographic system
JP4067818B2 (ja) * 2001-12-10 2008-03-26 富士通株式会社 楕円曲線暗号装置、楕円曲線暗号プログラム及び楕円曲線暗号の演算方法
FR2843506B1 (fr) * 2002-08-09 2004-10-29 Gemplus Card Int Procede de calcul universel applique a des points d'une courbe elliptique definie par une quartique, procede cryptographique et composant electronique associes
WO2004055756A1 (ja) * 2002-12-18 2004-07-01 Fujitsu Limited 秘密鍵を用いた耐タンパ楕円曲線暗号処理
WO2005015526A1 (ja) * 2003-08-06 2005-02-17 Fujitsu Limited 楕円曲線暗号装置,楕円曲線暗号方法,楕円曲線暗号プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
JP4668931B2 (ja) * 2005-01-24 2011-04-13 富士通株式会社 電力解析攻撃に対する耐タンパ性を持った暗号化処理装置
ATE466329T1 (de) * 2005-10-28 2010-05-15 Telecom Italia Spa Verfahren zur skalarmultiplikation in gruppen elliptischer kurven über binäre polynomische körper für nebenkanalattacken-beständige kryptosysteme
KR100850202B1 (ko) * 2006-03-04 2008-08-04 삼성전자주식회사 Ecc 패스트 몽고매리 전력 래더 알고리즘을 이용하여dfa 에 대응하는 암호화 방법
KR100867989B1 (ko) * 2006-12-06 2008-11-10 한국전자통신연구원 단순전력분석에 안전한 Left-to-Right방향으로 리코딩과 스칼라 곱셈을 동시에 수행하는 스칼라곱셈 방법
CN101183945A (zh) * 2007-12-20 2008-05-21 上海交通大学 基于旁路算子的椭圆曲线抗旁路攻击方法
US20100150340A1 (en) * 2008-12-02 2010-06-17 Electronics And Telecommunications Research Institute Device and method for elliptic curve cryptosystem
CN101562522A (zh) * 2009-05-06 2009-10-21 深圳先进技术研究院 抗侧信道攻击的椭圆曲线密码***实现方法
CN104579651B (zh) * 2013-10-28 2018-08-24 上海复旦微电子集团股份有限公司 椭圆曲线密码点乘运算的方法和装置
FR3033965B1 (fr) * 2015-03-18 2018-12-07 Maxim Integrated Products, Inc. Systèmes et procédés de commande de dispositifs de cryptage sur courbe elliptique sécurisés
US10270598B2 (en) * 2016-08-26 2019-04-23 Intel Corporation Secure elliptic curve cryptography instructions
FR3057369B1 (fr) * 2016-10-07 2018-10-19 Idemia Identity And Security Procede de traitement cryptographique comprenant une multiplication d'un point d'une courbe elliptique par un scalaire
CN108875416B (zh) * 2018-06-22 2020-05-19 北京智芯微电子科技有限公司 椭圆曲线多倍点运算方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387015A (zh) * 2011-09-14 2012-03-21 中国矿业大学 一种提高椭圆曲线标量乘法计算效率的方法
CN107425974A (zh) * 2017-05-18 2017-12-01 西安电子科技大学 一种FourQ椭圆曲线上KP运算的硬件实现方法

Also Published As

Publication number Publication date
CN108875416A (zh) 2018-11-23
US11003769B2 (en) 2021-05-11
US20200380122A1 (en) 2020-12-03
WO2019242562A1 (zh) 2019-12-26

Similar Documents

Publication Publication Date Title
CN108875416B (zh) 椭圆曲线多倍点运算方法和装置
Gao et al. Privacy-preserving Naive Bayes classifiers secure against the substitution-then-comparison attack
Bauer et al. Horizontal collision correlation attack on elliptic curves: –Extended Version–
US9772821B2 (en) Cryptography method comprising an operation of multiplication by a scalar or an exponentiation
Bernstein Curve25519: new Diffie-Hellman speed records
Wang et al. Accelerating fully homomorphic encryption using GPU
CN107040362B (zh) 模乘设备和方法
US8498411B1 (en) Using multiples above two with running totals and reference values other than 0 and 2 (window size) in elliptic curve cryptography scalar multiplication acceleration tables
WO2007012179A2 (en) Karatsuba based multiplier and method
US20090136025A1 (en) Method for scalarly multiplying points on an elliptic curve
US20110013770A1 (en) Encrypting method having countermeasure function against power analyzing attacks
US11902432B2 (en) System and method to optimize generation of coprime numbers in cryptographic applications
US20220085999A1 (en) System and method to optimize decryption operations in cryptographic applications
US20220085998A1 (en) System and method to generate prime numbers in cryptographic applications
CN111737757A (zh) 针对隐私数据进行安全运算的方法和装置
US9722773B2 (en) Method of determining a representation of a product of a first element and a second element of a finite set, method of evaluating a function applied to an element of a finite set and associated devices
Putranto et al. Space and time-efficient quantum multiplier in post quantum cryptography era
CN114465728B (zh) 攻击椭圆曲线签名算法的方法、装置、设备及存储介质
Putranto et al. Depth-optimization of quantum cryptanalysis on binary elliptic curves
JP2011512556A (ja) 楕円曲線上の多数の点を計算する装置及び方法
Tiepelt et al. Quantum LLL with an application to mersenne number cryptosystems
US11985221B2 (en) Efficient masking of secure data in ladder-type cryptographic computations
Kabulov et al. Gost R 34.12-2015 (Kuznechik) analysis of a cryptographic algorithm
Babenko et al. Euclidean division method for the homomorphic scheme ckks
Aidong et al. Collision-based chosen-message simple power clustering attack algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20181123

Assignee: CHINA GRIDCOM Corp.,Ltd.

Assignor: BEIJING SMARTCHIP MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Contract record no.: X2021990000247

Denomination of invention: Method and device for computing multiple points of elliptic curve

Granted publication date: 20200519

License type: Common License

Record date: 20210429

EE01 Entry into force of recordation of patent licensing contract