CN107896142A - 一种执行模幂运算的方法及装置、计算机可读存储介质 - Google Patents

一种执行模幂运算的方法及装置、计算机可读存储介质 Download PDF

Info

Publication number
CN107896142A
CN107896142A CN201710942868.7A CN201710942868A CN107896142A CN 107896142 A CN107896142 A CN 107896142A CN 201710942868 A CN201710942868 A CN 201710942868A CN 107896142 A CN107896142 A CN 107896142A
Authority
CN
China
Prior art keywords
variable
assigned
outcome
product
precomputation
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.)
Granted
Application number
CN201710942868.7A
Other languages
English (en)
Other versions
CN107896142B (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.)
Datang Microelectronics Technology Co Ltd
Original Assignee
Datang 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 Datang Microelectronics Technology Co Ltd filed Critical Datang Microelectronics Technology Co Ltd
Priority to CN201710942868.7A priority Critical patent/CN107896142B/zh
Publication of CN107896142A publication Critical patent/CN107896142A/zh
Application granted granted Critical
Publication of CN107896142B publication Critical patent/CN107896142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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/727Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computational Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

本申请公开了一种执行模幂运算的方法及装置、计算机可读存储介质,包括获取底数g、指数d、模数q和窗口w;将指数d表示成m进制表示形式:其中0≤di<m,m=2w,dl‑1≠0;根据窗口w的值为预计算变量Ri分配空间,Ri=1,i=1,2,3,…,m;并将底数g赋值给结果变量A;从i=0到l‑2,将预计算变量与结果变量A的乘积循环赋值给并将Am循环赋值给结果变量A;将赋值给结果变量A;将结果变量A与底数g的乘积赋值给结果变量A。本申请通过在每次计算过程中设置一次模平方和模乘运算,实现了完全抗SPA攻击;通过在模幂的整个运算过程中消除伪运算,实现了抗FA攻击;通过设置窗口w,具有更快的计算速度。

Description

一种执行模幂运算的方法及装置、计算机可读存储介质
技术领域
本发明涉及但不限于信息安全技术领域,尤其涉及一种执行模幂运算的方法及装置、计算机可读存储介质。
背景技术
随着计算机技术的发展、社会信息化程度的不断提高,信息安全问题越来越受到人们的广泛重视。在嵌入式单芯片内实现RSA公钥密码算法、SM9标识密码算法或其它一些密码算法时,都会用到模幂运算,模幂运算就是做形如m=gd(mod q)的运算,其中,g是底数,d是指数,q是模数,m是计算结果。在这些公钥密码体制中,总有部分模幂中的指数d需要严格保密,例如在RSA体制中,当d为私钥时,需要严格保密;在SM9签名算法中,若攻击者可获取模幂运算的指数,结合SM9签名结果,可推导出用户的私钥。
侧信道攻击和故障攻击(Fault Attack)是近年提出的具有代表性且对芯片威胁性较强的两种攻击方法。简单功耗分析(Simple Power Analysis,SPA)攻击作为侧信道攻击的一种方法,是攻击者通过简单观察秘密数据操作的功耗曲线,直接推导出关于秘密数据保密信息的技术。功耗分析攻击的前提是功耗曲线与设备执行的指令相关,并与处理的操作数的值有关,这样检查功耗曲线能暴露正在执行的指令和寄存器中数据的信息。故障攻击的基本原理是通过错误注入(如添加时钟毛刺,激光照射,电磁脉冲等)的手段使芯片在密码算法执行的过程中产生瞬态的逻辑错误,攻击者通过分析正确的和错误的加密结果,得到芯片内部的秘密数据信息,例如在SM9/SM2加密算法过程中注入错误,若攻击者可获取随机数,然后结合SM9/SM2加密的计算结果,可推导出真正加密消息的密钥,进而获得真正的消息。
目前,抗SPA攻击的模幂计算方法的主要思路是程序执行线路固定化或随机化,典型的方法有:二进制伪算法、蒙哥马利阶梯法、Joye的平方-乘阶梯法、Joye的改进二进制法。经分析发现,在二进制伪算法、蒙哥马利阶梯法和Joye的平方-乘阶梯法中,不管密钥比特为0或1,均需进行模乘和模平方运算,若在模乘运算时注入错误且该模乘运算为伪操作,则结果正确,对应的密钥比特值为0,否则为1,因此,现有的二进制伪算法、蒙哥马利阶梯法和Joye的平方-乘阶梯法均不能抗FA攻击;Joye的改进二进制法中预计算时,涉及到密钥最低1bit的信息,存在信息泄露的情形,也就是说,Joye的改进二进制法不能完全抗SPA攻击。此外,需要说明的是,这些模幂计算方法常常都是以牺牲效率为代价的,因此计算效率相对较低。
发明内容
为了解决上述技术问题,本发明提供了一种执行模幂运算的方法及装置、计算机可读存储介质,能够使模幂运算可完全抗SPA攻击、抗FA攻击并提高算法的计算效率。
为了达到本发明目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种执行模幂运算的方法,包括:
获取底数g、指数d、模数q和窗口w;
将指数d表示成m进制表示形式:其中0≤di<m,m=2w,dl-1≠0;
根据窗口w的值为预计算变量Ri分配空间,Ri=1,i=1,2,3,…,m;并将底数g赋值给结果变量A;
从i=0到l-2,将预计算变量与结果变量A的乘积循环赋值给并将Am循环赋值给结果变量A;
赋值给结果变量A,其中,·为乘号,∏为乘积运算符;
将结果变量A与底数g的乘积赋值给结果变量A。
进一步地,所述将赋值给结果变量A,具体包括:
将预计算变量Rm赋值给第一中间变量B;
对i=m-1至2,将预计算变量Ri与Ri+1的乘积循环赋值给Ri,并将第一中间变量B与预计算变量Ri的乘积循环赋值给第一中间变量B;
将预计算变量R1与R2的乘积赋值给R1
赋值给结果变量A。
进一步地,所述将赋值给结果变量A,具体包括:
将结果变量A与预计算变量R1的乘积赋值给A;
检测(dl-1-1)>>(w-1)的计算结果是否为真,如果为真,将结果变量A赋值给第二中间变量Q,其中,>>为向右移位运算符;如果为假,将预计算变量R1赋值给第二中间变量Q;
对i=w-1至1,将第二中间变量Q2循环赋值给Q,并检测(dl-1-1)>>(i-1)的计算结果是否为真,如果为真,将第二中间变量Q与A的乘积赋值给第二中间变量Q;如果为假,将第二中间变量Q与预计算变量R1的乘积赋值给第二中间变量Q;
将第一中间变量B与第二中间变量Q的乘积赋值给结果变量A。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有执行模幂运算的程序,所述执行模幂运算的程序被处理器执行时实现以上任一项所述的执行模幂运算的方法的步骤。
本发明实施例还提供了一种执行模幂运算的装置,包括获取单元、编码单元、计算单元,其中:
获取单元,用于获取底数g、指数d、模数q和窗口w,将指数d和窗口w的值输出至编码单元,将底数g、模数q和窗口w输出至计算单元;
编码单元,用于将指数d表示成m进制表示形式:其中0≤di<m,m=2w,dl-1≠0,将di、l与m的值输出至计算单元;
计算单元,用于根据窗口w的值为预计算变量Ri分配空间,Ri=1,i=1,2,3,…,m;并将底数g赋值给结果变量A;从i=0到l-2,将预计算变量与结果变量A的乘积循环赋值给并将Am循环赋值给结果变量A;将赋值给结果变量A,其中,·为乘号,∏为乘积运算符;将结果变量A与底数g的乘积赋值给结果变量A。
进一步地,所述计算单元的将赋值给结果变量A,包括:
将预计算变量Rm赋值给第一中间变量B;
对i=m-1至2,将预计算变量Ri与Ri+1的乘积循环赋值给Ri,并将第一中间变量B与预计算变量Ri的乘积循环赋值给第一中间变量B;
将预计算变量R1与R2的乘积赋值给R1
赋值给结果变量A。
进一步地,所述计算单元的将赋值给结果变量A,包括:
将结果变量A与预计算变量R1的乘积赋值给A;
检测(dl-1-1)>>(w-1)的计算结果是否为真,如果为真,将结果变量A赋值给第二中间变量Q,其中,>>为向右移位运算符;如果为假,将预计算变量R1赋值给第二中间变量Q;
对i=w-1至1,将第二中间变量Q2循环赋值给Q,并检测(dl-1-1)>>(i-1)的计算结果是否为真,如果为真,将第二中间变量Q与A的乘积赋值给第二中间变量Q;如果为假,将第二中间变量Q与预计算变量R1的乘积赋值给第二中间变量Q;
将第一中间变量B与第二中间变量Q的乘积赋值给结果变量A。
本发明的技术方案,具有如下有益效果:
本发明提供的执行模幂运算的方法及装置、计算机可读存储介质,通过在每次计算过程中设置一次模平方和模乘运算,因此实现了完全抗SPA攻击;通过在模幂的整个运算过程中消除伪运算,实现了抗FA攻击,具有更高的安全性;通过设置窗口w,本发明具有更快的计算速度,不仅适用于软件实现,也适用于硬件实现。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例的一种执行模幂运算的方法的流程示意图;
图2为本发明实施例的一种执行模幂运算的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
模幂计算的推导过程如下:
首先将d改写为m进制的形式,即0≤di<m和dl-1≠0。
由此,可将d编码写成
其中
因此,gd=g·gd-1,gd-1的计算过程如下:
其中利用以下步骤计算详细如下:
1、令A=g,Rj=1
2、对j=0to l-2执行
2.1
2.2A=Am
由此可得:
如图1所示,根据本发明的一种执行模幂运算的方法,包括如下步骤:
步骤101:获取底数g、指数d、模数q和窗口w;
步骤102:将指数d表示成m进制表示形式:其中0≤di<m,m=2w,dl-1≠0,≠为不等于符号;
步骤103:根据窗口w的值为预计算变量Ri分配空间,Ri=1,i=1,2,3,…,m;并将底数g赋值给结果变量A;
步骤104:从i=0到l-2,将预计算变量与结果变量A的乘积循环赋值给并将Am循环赋值给结果变量A,每次循环的步长为1;
步骤105:将赋值给结果变量A,其中,·为乘号,∏为乘积运算符;
步骤106:将结果变量A与底数g的乘积赋值给结果变量A。
由于步骤105实现起来比较复杂,实现开销也比较大,因此本发明对步骤105的实现过程进行优化,将步骤105中的可以转化为使其不仅可抗SPA攻击,又降低其计算复杂度。
推导过程如下:
通过以下步骤1-3计算和Rm·Rm-1·…·R2R1
1、令B=Rm
2、对i=m-1to 2执行
2.1Ri=Ri·Ri+1
2.2B=B·Ri
3、R1=R1·R2(根据步骤2得到R2=Rm·Rm-1…·R2)
其中R1=Rm·Rm-1·…·R1,由此可得
进一步地,步骤105中所述将赋值给结果变量A,具体包括:
步骤1051)将预计算变量Rm赋值给第一中间变量B;
步骤1052)对i=m-1至2,将预计算变量Ri与Ri+1的乘积循环赋值给Ri,并将第一中间变量B与预计算变量Ri的乘积循环赋值给第一中间变量B,每次循环的步长为1;
步骤1053)将预计算变量R1与R2的乘积赋值给R1(根据步骤1052得到R2=Rm·Rm-1…·R2);
步骤1054)将赋值给结果变量A。
由于步骤1054实现起来还是比较复杂,对步骤1054的实现过程再次进行优化,可将步骤1054中的的计算转化为
推导过程如下:
1、计算详细描述如下:并将计算结果赋值于Q
2、计算Q·B并将结果赋值给A。
进一步地,步骤1054中将赋值给结果变量A,具体包括:
10541)将结果变量A与预计算变量R1的乘积赋值给A;
10542)检测(dl-1-1)>>(w-1)的计算结果是否为真,如果为真,将结果变量A赋值给第二中间变量Q,其中,>>为向右移位运算符;如果为假,将预计算变量R1赋值给第二中间变量Q;
10543)对i=w-1至1,将第二中间变量Q的平方Q2循环赋值给Q,并检测(dl-1-1)>>(i-1)的计算结果是否为真,如果为真,将第二中间变量Q与A的乘积赋值给第二中间变量Q;如果为假,将第二中间变量Q与预计算变量R1的乘积赋值给第二中间变量Q,每次循环的步长为1;
10544)将第一中间变量B与第二中间变量Q的乘积赋值给结果变量A。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有执行模幂运算的程序,所述执行模幂运算的程序被处理器执行时实现如以上任一项所述的执行模幂运算的方法的步骤。
如图2所示,根据本发明的一种执行模幂运算的装置,包括获取单元201、编码单元202、计算单元203,其中:
获取单元201,用于获取底数g、指数d、模数q和窗口w,将指数d和窗口w的值输出至编码单元202,将底数g、模数q和窗口w输出至计算单元203;
编码单元202,用于将指数d表示成m进制表示形式:其中0≤di<m,m=2w,dl-1≠0,将di、l与m的值输出至计算单元203;
计算单元203,用于根据窗口w的值为预计算变量Ri分配空间,Ri=1,i=1,2,3,…,m;并将底数g赋值给结果变量A;从i=0到l-2,将预计算变量与结果变量A的乘积循环赋值给并将Am循环赋值给结果变量A;将赋值给结果变量A,其中,·为乘号,∏为乘积运算符;将结果变量A与底数g的乘积赋值给结果变量A。
进一步地,所述计算单元203的将赋值给结果变量A,包括:
将预计算变量Rm赋值给第一中间变量B;
对i=m-1至2,将预计算变量Ri与Ri+1的乘积循环赋值给Ri,并将第一中间变量B与预计算变量Ri的乘积循环赋值给第一中间变量B;
将预计算变量R1与R2的乘积赋值给R1
赋值给结果变量A。
进一步地,所述计算单元203的将赋值给结果变量A,包括:
将结果变量A与预计算变量R1的乘积赋值给A;
检测(dl-1-1)>>(w-1)的计算结果是否为真,如果为真,将结果变量A赋值给第二中间变量Q,其中,>>为向右移位运算符;如果为假,将预计算变量R1赋值给第二中间变量Q;
对i=w-1至1,将第二中间变量Q的平方Q2循环赋值给Q,并检测(dl-1-1)>>(i-1)的计算结果是否为真,如果为真,将第二中间变量Q与A的乘积赋值给第二中间变量Q;如果为假,将第二中间变量Q与预计算变量R1的乘积赋值给第二中间变量Q;
将第一中间变量B与第二中间变量Q的乘积赋值给结果变量A。
在SM9算法运算中,涉及到双线性对、(素域和2次扩域)椭圆曲线标量乘、12次扩域上的模幂等运算。本发明抗SPA的核心思想是在12次扩域上模幂运算的实现时,消除模幂运算过程中条件转移情形,即if…else…不配对,本发明通过采用自左向右的二进制展开法计算可以看出在每次计算过程中都会有一次模平方和模乘运算,因此可完全抗SPA攻击;抗FA的核心思想是在12次扩域上模幂运算的实现时,消除模幂运算过程中的伪操作,在模幂的整个运算过程中不存在伪运算,因此可抗FA攻击,具有更高的安全性,攻击者不能通过扩域模幂的执行过程推断出需要严格保密指数的任何1bit取值。本发明克服了通过功耗曲线分析出模幂运算时指数的相关信息,具有更强的抗SPA、FA攻击的能力,通过设置窗口w的大小,本发明具有更快的计算速度,不仅适用于软件实现,也适用于硬件实现。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种执行模幂运算的方法,其特征在于,包括:
获取底数g、指数d、模数q和窗口w;
将指数d表示成m进制表示形式:其中0≤di<m,m=2w,dl-1≠0;
根据窗口w的值为预计算变量Ri分配空间,Ri=1,i=1,2,3,…,m;并将底数g赋值给结果变量A;
从i=0到l-2,将预计算变量与结果变量A的乘积循环赋值给并将Am循环赋值给结果变量A;
赋值给结果变量A,其中,·为乘号,∏为乘积运算符;
将结果变量A与底数g的乘积赋值给结果变量A。
2.根据权利要求1所述的执行模幂运算的方法,其特征在于,所述将赋值给结果变量A,具体包括:
将预计算变量Rm赋值给第一中间变量B;
对i=m-1至2,将预计算变量Ri与Ri+1的乘积循环赋值给Ri,并将第一中间变量B与预计算变量Ri的乘积循环赋值给第一中间变量B;
将预计算变量R1与R2的乘积赋值给R1
赋值给结果变量A。
3.根据权利要求2所述的执行模幂运算的方法,其特征在于,所述将赋值给结果变量A,具体包括:
将结果变量A与预计算变量R1的乘积赋值给A;
检测(dl-1-1)>>(w-1)的计算结果是否为真,如果为真,将结果变量A赋值给第二中间变量Q,其中,>>为向右移位运算符;如果为假,将预计算变量R1赋值给第二中间变量Q;
对i=w-1至1,将第二中间变量Q的平方Q2循环赋值给Q,并检测(dl-1-1)>>(i-1)的计算结果是否为真,如果为真,将第二中间变量Q与A的乘积赋值给第二中间变量Q;如果为假,将第二中间变量Q与预计算变量R1的乘积赋值给第二中间变量Q;
将第一中间变量B与第二中间变量Q的乘积赋值给结果变量A。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有执行模幂运算的程序,所述执行模幂运算的程序被处理器执行时实现如权利要求1至3中任一项所述的执行模幂运算的方法的步骤。
5.一种执行模幂运算的装置,其特征在于,包括获取单元、编码单元、计算单元,其中:
获取单元,用于获取底数g、指数d、模数q和窗口w,将指数d和窗口w的值输出至编码单元,将底数g、模数q和窗口w输出至计算单元;
编码单元,用于将指数d表示成m进制表示形式:其中0≤di<m,m=2w,dl-1≠0,将di、l与m的值输出至计算单元;
计算单元,用于根据窗口w的值为预计算变量Ri分配空间,Ri=1,i=1,2,3,…,m;并将底数g赋值给结果变量A;从i=0到l-2,将预计算变量与结果变量A的乘积循环赋值给并将Am循环赋值给结果变量A;将赋值给结果变量A,其中,·为乘号,∏为乘积运算符;将结果变量A与底数g的乘积赋值给结果变量A。
6.根据权利要求5所述的执行模幂运算的装置,其特征在于,所述计算单元的将赋值给结果变量A,包括:
将预计算变量Rm赋值给第一中间变量B;
对i=m-1至2,将预计算变量Ri与Ri+1的乘积循环赋值给Ri,并将第一中间变量B与预计算变量Ri的乘积循环赋值给第一中间变量B;
将预计算变量R1与R2的乘积赋值给R1
赋值给结果变量A。
7.根据权利要求6所述的执行模幂运算的装置,其特征在于,所述计算单元的将赋值给结果变量A,包括:
将结果变量A与预计算变量R1的乘积赋值给A;
检测(dl-1-1)>>(w-1)的计算结果是否为真,如果为真,将结果变量A赋值给第二中间变量Q,其中,>>为向右移位运算符;如果为假,将预计算变量R1赋值给第二中间变量Q;
对i=w-1至1,将第二中间变量Q的平方Q2循环赋值给Q,并检测(dl-1-1)>>(i-1)的计算结果是否为真,如果为真,将第二中间变量Q与A的乘积赋值给第二中间变量Q;如果为假,将第二中间变量Q与预计算变量R1的乘积赋值给第二中间变量Q;
将第一中间变量B与第二中间变量Q的乘积赋值给结果变量A。
CN201710942868.7A 2017-10-11 2017-10-11 一种执行模幂运算的方法及装置、计算机可读存储介质 Active CN107896142B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710942868.7A CN107896142B (zh) 2017-10-11 2017-10-11 一种执行模幂运算的方法及装置、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710942868.7A CN107896142B (zh) 2017-10-11 2017-10-11 一种执行模幂运算的方法及装置、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN107896142A true CN107896142A (zh) 2018-04-10
CN107896142B CN107896142B (zh) 2021-04-13

Family

ID=61803232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710942868.7A Active CN107896142B (zh) 2017-10-11 2017-10-11 一种执行模幂运算的方法及装置、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN107896142B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112332970A (zh) * 2019-08-05 2021-02-05 上海复旦微电子集团股份有限公司 攻击sm9签名算法的侧信道分析方法、装置、介质及设备
CN112769557A (zh) * 2020-12-30 2021-05-07 北京宏思电子技术有限责任公司 嵌入式***中加快sm9双线性对运算的实现方法及装置
CN112769553A (zh) * 2020-12-30 2021-05-07 北京宏思电子技术有限责任公司 嵌入式***中加快sm9双线性对运算的实现方法及装置
CN112769552A (zh) * 2020-12-30 2021-05-07 北京宏思电子技术有限责任公司 一种在嵌入式***中加快线性对运算的实现方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492316A (zh) * 2003-09-09 2004-04-28 大唐微电子技术有限公司 一种蒙格玛丽模乘算法及其模乘、模幂运算电路
US20120039461A1 (en) * 2009-03-16 2012-02-16 Marc Joye Exponentiation method resistant against side-channel and safe-error attacks
US20120321075A1 (en) * 2011-06-17 2012-12-20 Marc Joye Fault-resistant exponentiationi algorithm
CN103246494A (zh) * 2013-05-27 2013-08-14 上海爱信诺航芯电子科技有限公司 一种抵抗能量分析和错误攻击的安全模幂计算方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492316A (zh) * 2003-09-09 2004-04-28 大唐微电子技术有限公司 一种蒙格玛丽模乘算法及其模乘、模幂运算电路
CN1259617C (zh) * 2003-09-09 2006-06-14 大唐微电子技术有限公司 一种加快rsa加/解密过程的方法及其模乘、模幂运算电路
US20120039461A1 (en) * 2009-03-16 2012-02-16 Marc Joye Exponentiation method resistant against side-channel and safe-error attacks
US20120321075A1 (en) * 2011-06-17 2012-12-20 Marc Joye Fault-resistant exponentiationi algorithm
CN103246494A (zh) * 2013-05-27 2013-08-14 上海爱信诺航芯电子科技有限公司 一种抵抗能量分析和错误攻击的安全模幂计算方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MARC JOYE等: "Highly Regular m-Ary Powering Ladders", 《SPRINGER》 *
YOO-JIN BAEK: "Regular 2w-ary right-to-left exponentiation algorithm with very efficient DPA and FA countermeasures", 《SPRINGER》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112332970A (zh) * 2019-08-05 2021-02-05 上海复旦微电子集团股份有限公司 攻击sm9签名算法的侧信道分析方法、装置、介质及设备
CN112769557A (zh) * 2020-12-30 2021-05-07 北京宏思电子技术有限责任公司 嵌入式***中加快sm9双线性对运算的实现方法及装置
CN112769553A (zh) * 2020-12-30 2021-05-07 北京宏思电子技术有限责任公司 嵌入式***中加快sm9双线性对运算的实现方法及装置
CN112769552A (zh) * 2020-12-30 2021-05-07 北京宏思电子技术有限责任公司 一种在嵌入式***中加快线性对运算的实现方法及装置
CN112769553B (zh) * 2020-12-30 2022-08-19 北京宏思电子技术有限责任公司 嵌入式***中加快sm9双线性对运算的实现方法及装置
CN112769552B (zh) * 2020-12-30 2022-08-23 北京宏思电子技术有限责任公司 一种在嵌入式***中加快线性对运算的实现方法及装置
CN112769557B (zh) * 2020-12-30 2022-10-18 北京宏思电子技术有限责任公司 嵌入式***中加快sm9双线性对运算的实现方法及装置

Also Published As

Publication number Publication date
CN107896142B (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
Aranha et al. LadderLeak: Breaking ECDSA with less than one bit of nonce leakage
US8402287B2 (en) Protection against side channel attacks
CN107896142A (zh) 一种执行模幂运算的方法及装置、计算机可读存储介质
TWI462010B (zh) 使用橢圓曲線上一點之表現法改變之編譯方法及系統
CN107040362A (zh) 模乘设备和方法
JP2007520951A (ja) 電力解析攻撃対策保護
CN103903047B (zh) 一种适用于rfid安全通信的椭圆曲线加密协处理器
CN106464483B (zh) 用于电子部件实现椭圆曲线密码算法的应对方法、电子电路和电子***
US10025559B2 (en) Protection of a modular exponentiation calculation
US11392725B2 (en) Security processor performing remainder calculation by using random number and operating method of the security processor
US11824986B2 (en) Device and method for protecting execution of a cryptographic operation
CN109582284A (zh) 一种芯片中的标量乘实现方法及装置、计算机可读存储介质
US20180060566A1 (en) Protection of a modular calculation
Brenner et al. How practical is homomorphically encrypted program execution? an implementation and performance evaluation
WO2018019233A1 (zh) 一种运算方法和安全芯片
JP2007187958A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US20140079214A1 (en) Cryptographic countermeasure method by deriving a secret data
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
JP5261088B2 (ja) 不正操作検知回路、不正操作検知回路を備えた装置、及び不正操作検知方法
CN110048840B (zh) 一种基于rsa算法的信息处理方法、***及相关组件
TW586086B (en) Method and apparatus for protecting public key schemes from timing, power and fault attacks
JP4351987B2 (ja) モンゴメリ変換装置、演算装置、icカード、暗号装置、復号装置及びプログラム
CN103246494A (zh) 一种抵抗能量分析和错误攻击的安全模幂计算方法
JP2005020735A (ja) データ処理装置におけるサイドチャネル攻撃防止
US11985221B2 (en) Efficient masking of secure data in ladder-type cryptographic computations

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