CN112099763B - 用于sm2的快速安全硬件乘法器及其应用 - Google Patents

用于sm2的快速安全硬件乘法器及其应用 Download PDF

Info

Publication number
CN112099763B
CN112099763B CN202010945337.5A CN202010945337A CN112099763B CN 112099763 B CN112099763 B CN 112099763B CN 202010945337 A CN202010945337 A CN 202010945337A CN 112099763 B CN112099763 B CN 112099763B
Authority
CN
China
Prior art keywords
multiplication
calculation
algorithm
register file
multiply
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
CN202010945337.5A
Other languages
English (en)
Other versions
CN112099763A (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.)
Shanghai Jiaotong University
Beijing Smartchip Microelectronics Technology Co Ltd
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University, Beijing Smartchip Microelectronics Technology Co Ltd filed Critical Shanghai Jiaotong University
Priority to CN202010945337.5A priority Critical patent/CN112099763B/zh
Publication of CN112099763A publication Critical patent/CN112099763A/zh
Application granted granted Critical
Publication of CN112099763B publication Critical patent/CN112099763B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/728Methods 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 using Montgomery reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Abstract

一种用于SM2的快速安全硬件乘法器及其应用,包括:乘加模块、模乘控制器、用于存放计算中间结果的寄存器堆和减法器,其中:乘加模块包含两个独立的乘加器,每个乘加器对64位操作数执行(c,z)=a+xy+b的运算,模乘控制器分别与乘加模块和寄存器堆相连并按时钟周期发送执行指令,乘加模块输出计算中间结果至寄存器堆,寄存器堆的输出端分别与乘加模块的输入端以及减法器的输入端相连以实现循环计算和结果输出,减法器的输出端与寄存器堆的输出端与对外接口相连以输出最终结果。本发明能够大幅度缩短Montgomery模乘运算延时的同时,针对算法中存在的侧信道攻击漏洞采取了有效的防护手段,使其在快速执行SM2底层运算的同时不会泄露隐私数据,具有快速、安全的特点。

Description

用于SM2的快速安全硬件乘法器及其应用
技术领域
本发明涉及的是一种信息安全领域的技术,具体是一种用于SM2的快速安全硬件乘法器及其应用。
背景技术
现有的Montgomery模乘运算是SM2加密计算过程中的重要环节,其算法过程为:
现有技术硬件结构复杂,运算时间长,没有有效地针对SM2参数进行设计。
通过分析算法可见:第5步和第6步,第8步和第9步之间没有数据相关性,即后面一步的输入值不依赖于前面一步的计算结果,因此可以使用两个独立的乘加器来并行执行这几步运算,尤其是第8步和第9步的并行计算,可以将内层循环的计算时间缩短一半,从而起到良好的加速效果。
发明内容
本发明针对现有技术存在的上述不足,提出一种用于SM2的快速安全硬件乘法器及其应用,利用参数特点减少所需耗费的时钟周期;执行(c,z)=a+xy+b运算,其数据通路能够尽可能缩短关键路径上的延时,能够大幅度缩短Montgomery模乘运算延时的同时,针对算法中存在的侧信道攻击漏洞采取了有效的防护手段,使其在快速执行SM2底层运算的同时不会泄露隐私数据,具有快速、安全的特点。
本发明是通过以下技术方案实现的:
本发明涉及一种用于SM2的快速安全硬件乘法器,包括:乘加模块、模乘控制器、用于存放计算中间结果的寄存器堆和减法器,其中:乘加模块包含两个独立的乘加器,每个乘加器对64位操作数执行(c,z)=a+xy+b的运算,模乘控制器分别与乘加模块和寄存器堆相连并按时钟周期发送执行指令,乘加模块输出计算中间结果至寄存器堆,寄存器堆的输出端分别与乘加模块的输入端以及减法器的输入端相连以实现循环计算和结果输出,减法器的输出端与寄存器堆的输出端与对外接口相连以输出最终结果。
本发明涉及一种基于上述乘法器的应用,通过信号选择模数、简化的整除计算和组合逻辑判断,实现256位优化的Montgomery模乘算法。
所述的信号选择模数是指:根据信号选择模数p或n,其中:p和n均为SM2中预定义的参数,由p或n计算的所述Montgomery模乘运算中的w会通过预计算得到,写入乘加模块中,同样根据sel信号进行选择,因此该乘法器可满足SM2的计算需求。
所述的简化的整除计算是指:在所述Montgomery模乘运算中,w=-p-1mod r,r=2n,因为p是n-Montgomery友好模数(即p满足-p-1mod2n=1,其中:p为模数,n为正整数),得到w的值为1,所以在所述Montgomery模乘运算中的第4步计算ti←Z0w mod r简化为ti←Z0mod r。
所述的组合逻辑判断是指:将最后一步减法计算设计为组合逻辑形式,即在条件判断之前就把循环结束得到的结果输入减法器进行Z-P计算,根据减法器是否产生借位s判断Z是否大于P,当大于则选择输出Z-P的计算结果,否则选择输出约减之前的Z作为最终结果。
技术效果
本发明整体解决了现有技术缺少能够快速安全实现Montgomery模乘运算的硬件乘法器。本发明针对SM2协议中的椭圆曲线参数,将核心计算单元复制成两个,同时完成部分计算;通过优化核心计算单元,缩短关键路径的延时;针对模数p的特点对实现Montgomery模乘运算的算法作进一步优化的同时针对算法中存在的侧信道攻击漏洞采取了有效的防护手段。
附图说明
图1为实现Montgomery模乘运算的乘法器整体架构图;
图2为本发明乘加器示意图。
具体实施方式
如图1所示,为本实施例涉及一种实现Montgomery模乘运算的乘法器,包括:乘加模块、模乘控制器、用于存放计算中间结果的寄存器堆和减法器以及若干选择器,其中:模乘控制器和第一选择器均与乘加模块相连并分别输入状态信息state和算法输入数据P,乘加模块根据输入数据A、B、P和状态信息state进行(c,z)=a+xy+b的运算并输出结果至寄存器堆,寄存器堆输出数据Z的中间结果至第四选择器,输出中间数据ti,ca,cb,v,Z至乘加模块,减法器根据寄存器堆输出数据Z以及算法输入数据P分别输出计算结果Z-P和借位标志s至第四选择器,第四选择器根据借位标志s判断输出模乘运算结果。
所述的模乘控制器,通过状态转换的方式控制算法的执行顺序,在收到start信号之后,其状态由空闲转为开始运行,之后每个时钟周期状态转换一次,同时向乘加模块和寄存器堆发送当前状态下的执行命令。
所述的第一选择器的输入SM2参数p和n,根据选择信号sel输出P,当sel=0,则P=p,否则P=n。
所述的第四选择器的输入寄存器堆中当前存储的Z,和经过减法器计算得到的Z-P,根据减法器输出借位标志s输出最终结果Z,当s=0,则Z=Z-P,否则Z=Z。
所述的乘加模块包括两个并行执行(c,z)=a+xy+b的乘加器及其对应的选择器,其中:第二选择器的输出端与第一乘加器的输入端口a,x,y,b相连,第三选择器的输出端与第二乘加器的输入端口a,x,y,b相连,两个乘加器分别输出两组128位中间结果的高64位数据c和低64位数据z至寄存器堆的中间数据ti,ca,cb,v,Z,不同状态下两个乘加器输出数据的具体排列组合为{(Ca,Z0),(0,0)},{(0,ti),(0,0)},{(cb,Z0),(ca,Z1)},{(cb,Zj-1),(ca,Zj+1)},{(cb,Zm-2),(0,0)},{(v,Zm-1),(0,0)}。
所述的第二选择器和第三选择器,分别不同状态根据Montgomery模乘算法选择对应的数据输入至乘加器的输入端口a,x,y,b,具体为:第二选择器的输入Montgomery模乘算法的输入值A,B,P,常数0,1,以及寄存器堆中的中间数据ti,ca,cb,v,Z,根据state信号输出(a,x,y,b)。当state=0,则(a,x,y,b)=(Z0,Ai,B0,0);当state=1,则(a,x,y,b)=(0,Z0,w,0);当state=2,则(a,x,y,b)=(Z0,ti,P0,0);当state=3,则(a,x,y,b)=(Zj,ti,Pj,cb);当state=4,则(a,x,y,b)=(Zm-1,ti,Pm-1,cb);当state=5,则(a,x,y,b)=(ca,cb,1,v);第三选择器的输入Montgomery模乘算法的输入值A,B,P,常数0,1,以及寄存器堆中的中间数据ti,ca,cb,v,Z,根据state信号输出(a,x,y,b)。当state=0,则(a,x,y,b)=(0,0,0,0);当state=1,则(a,x,y,b)=(0,0,0,0);当state=2,则(a,x,y,b)=(Z1,Ai,B1,ca);当state=3,则(a,x,y,b)=(Zj+1,Ai,Bj+1,ca);当state=4,则(a,x,y,b)=(0,0,0,0);当state=5,则(a,x,y,b)=(0,0,0,0)。
由此得到不同状态下两个乘加器输入数据的具体排列组合为:{(Z0,Ai,B0,0),(0,0,0,0)},{(0,Z0,w,0),(0,0,0,0)},{(Z0,ti,P0,0),(Z1,Ai,B1,ca)},{(Zj,ti,Pj,cb),(Zj+1,Ai,Bj+1,ca)},{(Zm-1,ti,Pm-1,cb),(0,0,0,0)},{(ca,cb,1,v),(0,0,0,0)},其中:Ai是将算法输入数据A按比特位划分成m段后的第i段的值,B0,B1,Bj+1分别是将算法输入数据B按比特位划分成m段后的第0,1,j+1段的值,P0,Pj,Pm-1分别是将算法输入数据P按比特位划分成m段后的第0,j,m-1段的值,w是算法输入数据中的预计算值,ti,ca,cb,v是算法执行过程中的中间结果,Z0,Zj,Zj+1,Zm-1分别是将算法每轮循环的输出数据Z按比特位划分成m段后的第0,j,j+1,m-1段的值,i,j分别为算法当前的外层和内层循环次数。
为了尽可能降低关键路径上的延时,本实施例对乘加模块中包含的两个并行执行(c,z)=a+xy+b的乘加器采取了一定的优化设计,如图2所示,所述的两个并行执行(c,z)=a+xy+b的乘加器结构相同,均包括:若干阵列方式设置的乘法计算单元以及与之相连的树状方式设置的加法计算单元,其中:64位乘数x,y以16位为单位从高到低分解成{x3,x2,x1,x0}和{y3,y2,y1,y0}并同时输出至十六个乘法计算单元实现两两互乘,得到十六个32位部分积,七个加法计算单元将32位部分积在移位、合并之后分别进行两两相加,再将相加结果进行两次合并相加得到128位计算结果,其中高64位通过c端口输出,低64位通过z端口输出。
所述的两两相加,按照部分积乘数的位置,如x0y1需左移16位,移位之后相差32位的数据可以直接合并,如左移16位的x0y1和左移48位的x0y3,再使用四个加法计算单元将合并之后的数据相加,包括a+b的和。
所述的乘加器的整个计算过程在一个时钟周期内完成,最长延时路径包括1个乘法计算单元和3个加法计算单元,在FPGA上此路径延时小于10ns,有效地提高了乘法器的最高工作频率。
本实施例乘法器计算一次Montgomery模乘所耗费的周期数与m的取值有关,m取值越大周期数越少,但同时会导致乘加模块的计算延时增加,降低时钟频率,所以需要平衡时钟频率和周期数之间的关系。通过实验发现,对256位Montgomery模乘,当m=4时可以在计算速度上达到最优,此时n=64,即乘加模块的输入输出数据为64位。当不采用并行化设计方法,所需耗费的时钟周期数为40个,而采用了并行化设计方法后,所需耗费的时钟周期数减少为25个,并行化设计方法使乘法器的计算速度提高了37.5%。
优选地,本实施例对SM2中的模数p,即所述的sel信号选择的模数p做了进一步的优化,优化的依据是在所述Montgomery模乘算法中,预计算值w=-p-1mod r,r=2n,因为p是n-Montgomery友好模数(即p满足-p-1mod2n=1,其中:p为模数,n为正整数),得到w=1,所以算法中的第4步运算ti←Z0w mod r可以简化为ti←Z0mod r,在每次循环中减少了一步模乘运算,当m=4时即节省了4个时钟周期,使得在执行对模数p的Montgomery模乘运算时,所述乘法器所需耗费的时钟周期数由25个减少为21个,计算速度提高了16%。
优选地,由于对Montgomery模乘运算的侧信道攻击一般来自于算法实现过程中的不等时操作,如所述Montgomery模乘运算的最后一步条件约减。本实施例将最后一步减法计算设计为组合逻辑形式,即在条件判断之前就把循环结束得到的结果输入减法器进行Z-P计算,根据减法器是否产生借位判断Z是否大于P,当大于则选择输出Z-P的计算结果,否则选择输出约减之前的Z作为最终结果。
因为最终结果是在减法执行结束后进行选择的,所以这一过程不会因为条件不同而导致执行时间上存在差异,可以抵抗根据时间信息而进行的侧信道攻击。因为这一组合逻辑不耗费额外的时钟周期,并且低于乘加器的逻辑延时,所以不会降低乘法器的整体性能。
经过具体实际实验,在Xilinx ZYNQ-7ZC706评估板的具体环境设置下,以SM2参数及示例数据启动/运行上述装置/方法,能够得到的实验数据是:乘法器的最高工作频率为110MHz,关键路径上的延时约为9.1ns,每25个时钟执行一次对模数n的模乘运算,每秒可执行4.4×106次,每21个时钟执行一次对模数p的模乘运算,每秒可执行5.2×106次。在资源使用方面,乘法器共占用783个Slice,其中LUT的使用量为2,222个,Register的使用量为0个,另外还使用了32个DSP资源。
综上,本实施例能够显著时钟周期数的减少和最高工作频率的提高。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

Claims (6)

1.一种用于SM2的快速安全硬件乘法器,其特征在于,包括:乘加模块、模乘控制器、用于存放计算中间结果的寄存器堆、减法器以及若干选择器,其中:乘加模块包含两个独立的乘加器,每个乘加器对64位操作数执行(c,z)=a+xy+b的运算,模乘控制器分别与乘加模块和寄存器堆相连并按时钟周期发送执行指令,乘加模块输出计算中间结果至寄存器堆,寄存器堆的输出端分别与乘加模块的输入端以及减法器的输入端相连以实现循环计算和结果输出,减法器的输出端与寄存器堆的输出端与对外接口相连以输出最终结果;
所述的乘加模块包括两个并行执行(c,z)=a+xy+b的乘加器,不同状态根据Montgomery模乘算法选择对应的数据输入至乘加器的输入端口a,x,y,b;
所述的模乘控制器和第一选择器均与乘加模块相连并分别输入状态信息state和算法输入数据P,乘加模块根据输入数据A、B、P和状态信息state进行(c,z)=a+xy+b的运算并输出结果至寄存器堆,寄存器堆输出数据Z的中间结果至第四选择器,输出中间数据ti,ca,cb,v,Z至乘加模块,减法器根据寄存器堆输出数据Z以及算法输入数据P分别输出计算结果Z-P和借位标志s至第四选择器,第四选择器根据借位标志s判断输出模乘运算结果。
2.根据权利要求1所述的快速安全硬件乘法器,其特征是,所述的模乘控制器,通过状态转换的方式控制算法的执行顺序,在收到start信号之后,其状态由空闲转为开始运行,之后每个时钟周期状态转换一次,同时向乘加模块和寄存器堆发送当前状态下的执行命令。
3.根据权利要求1所述的快速安全硬件乘法器,其特征是,所述的乘加模块具体包括:两个并行执行(c,z)=a+xy+b的乘加器及其对应的选择器,其中:第二选择器的输出端与第一乘加器的输入端口a,x,y,b相连,第三选择器的输出端与第二乘加器的输入端口a,x,y,b相连,两个乘加器分别输出两组128位中间结果的高64位数据c和低64位数据z至寄存器堆的中间数据ti,ca,cb,v,Z,不同状态下两个乘加器输出数据的排列组合包括:{(Z0,Ai,B0,0),(0,0,0,0)},{(0,Z0,w,0),(0,0,0,0)},{(Z0,ti,P0,0),(Z1,Ai,B1,ca)},{(Zj,ti,Pj,cb),(Zj+1,Ai,Bj+1,ca)},{(Zm-1,ti,Pm-1,cb),(0,0,0,0)},{(ca,cb,1,v),(0,0,0,0)},其中:Ai是将算法输入数据A按比特位划分成m段后的第i段的值,B0,B1,Bj+1分别是将算法输入数据B按比特位划分成m段后的第0,1,j+1段的值,P0,Pj,Pm-1分别是将算法输入数据P按比特位划分成m段后的第0,j,m-1段的值,w是算法输入数据中的预计算值,ti,ca,cb,v是算法执行过程中的中间结果,Z0,Zj,Zj+1,Zm-1分别是将算法每轮循环的输出数据Z按比特位划分成m段后的第0,j,j+1,m-1段的值,i,j分别为算法当前的外层和内层循环次数。
4.根据权利要求3所述的快速安全硬件乘法器,其特征是,所述的第二选择器和第三选择器,分别不同状态根据Montgomery模乘算法选择对应的数据输入至乘加器的输入端口a,x,y,b。
5.一种基于权利要求1-4中任一所述乘法器的Montgomery模乘实现方法,其特征在于,通过信号选择模数、简化的整除计算和组合逻辑判断,实现256位优化的Montgomery模乘算法;
所述的信号选择模数是指:根据信号选择模数p或n,其中:p和n均为SM2中预定义的参数,由p或n计算的所述Montgomery模乘运算中的w会通过预计算得到,写入乘加模块中,同样根据sel信号进行选择,因此该乘法器可满足SM2的计算需求;
所述的简化的整除计算是指:在所述Montgomery模乘运算中,w=-p-1mod r,r=2n,在所述Montgomery模乘运算中的第4步计算ti←Z0w mod r简化为ti←Z0 mod r;
所述的组合逻辑判断是指:将最后一步减法计算设计为组合逻辑形式,即在条件判断之前就把循环结束得到的结果输入减法器进行Z-P计算,根据减法器是否产生借位判断Z是否大于P,当大于则选择输出Z-P的计算结果,否则选择输出约减之前的Z作为最终结果。
6.根据权利要求5所述的方法,其特征是,所述的Montgomery模乘算法,包括:64位乘数x,y以16位为单位从高到低分解成{x3,x2,x1,x0}和{y3,y2,y1,y0}并同时输出至十六个乘法计算单元实现两两互乘,得到十六个32位部分积,七个加法计算单元将32位部分积在移位、合并之后分别进行两两相加,再将相加结果进行两次合并相加得到128位计算结果,其中高64位通过c端口输出,低64位通过z端口输出;
所述的两两相加,按照部分积乘数的位置,移位之后相差32位的数据可以直接合并后再使用四个加法计算单元将合并之后的数据相加。
CN202010945337.5A 2020-09-10 2020-09-10 用于sm2的快速安全硬件乘法器及其应用 Active CN112099763B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010945337.5A CN112099763B (zh) 2020-09-10 2020-09-10 用于sm2的快速安全硬件乘法器及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010945337.5A CN112099763B (zh) 2020-09-10 2020-09-10 用于sm2的快速安全硬件乘法器及其应用

Publications (2)

Publication Number Publication Date
CN112099763A CN112099763A (zh) 2020-12-18
CN112099763B true CN112099763B (zh) 2024-03-12

Family

ID=73752337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010945337.5A Active CN112099763B (zh) 2020-09-10 2020-09-10 用于sm2的快速安全硬件乘法器及其应用

Country Status (1)

Country Link
CN (1) CN112099763B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190211A (zh) * 2021-05-19 2021-07-30 哈尔滨理工大学 一种用于双线性对的四输入fios模乘算法及架构设计
CN115202616A (zh) * 2022-06-24 2022-10-18 上海途擎微电子有限公司 模乘器、安全芯片、电子设备及加密方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731345A (zh) * 2005-08-18 2006-02-08 上海微科集成电路有限公司 可扩展高基蒙哥马利模乘算法及其电路结构
CN104579656A (zh) * 2014-12-31 2015-04-29 北京时代民芯科技有限公司 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731345A (zh) * 2005-08-18 2006-02-08 上海微科集成电路有限公司 可扩展高基蒙哥马利模乘算法及其电路结构
CN104579656A (zh) * 2014-12-31 2015-04-29 北京时代民芯科技有限公司 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Highly-parallel hardware implementation of optimal ate pairing over Barreto-Naehrig curves;Tengfei Wang;Integration, the VLSI Journal;原文第2-4页 *

Also Published As

Publication number Publication date
CN112099763A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
Dang et al. Implementing and benchmarking three lattice-based post-quantum cryptography algorithms using software/hardware codesign
CN112099763B (zh) 用于sm2的快速安全硬件乘法器及其应用
WO2011148558A1 (ja) 署名生成装置、署名方法、及び署名生成プログラムが格納された非一時的なコンピュータ可読媒体
Javeed et al. FPGA based high speed SPA resistant elliptic curve scalar multiplier architecture
D’Anvers et al. Revisiting higher-order masked comparison for lattice-based cryptography: Algorithms and bit-sliced implementations
Bisheh Niasar et al. Efficient hardware implementations for elliptic curve cryptography over Curve448
Niasar et al. Optimized architectures for elliptic curve cryptography over Curve448
Farahmand et al. Implementing and benchmarking seven round 2 lattice-based key encapsulation mechanisms using a software/hardware codesign approach
JP2008304920A (ja) マスキングされたモンゴメリーのモジュラー乗算方法及び関連装置
Banerjee Reversible cryptographic hardware with optimized quantum cost and delay
KR101925868B1 (ko) 모듈러 계산 유닛 및 그것을 포함하는 보안 시스템
CN107992283B (zh) 一种基于降维实现有限域乘法的方法和装置
CN115801244A (zh) 用于资源受限处理器的后量子密码算法实现方法及系统
Hossain et al. Efficient fpga implementation of modular arithmetic for elliptic curve cryptography
Elkhatib et al. Accelerated RISC-V for post-quantum SIKE
Karabulut et al. A hardware-software co-design for the discrete gaussian sampling of falcon digital signature
Li et al. Scalable and parallel optimization of the number theoretic transform based on FPGA
Li et al. Research in fast modular exponentiation algorithm based on FPGA
Will et al. Computing mod without mod
CN114594925A (zh) 适用于sm2加密运算的高效模乘电路及其运算方法
WO2007083377A1 (ja) パリティ生成回路、計数回路および計数方法
CN114527956A (zh) 抗spa攻击的国密sm2算法中非定点标量乘法的计算方法
WO2017037729A1 (en) Concurrent architecture of vedic multiplier-an accelerator scheme for high speed computing
Wang et al. TCPM: A reconfigurable and efficient Toom-Cook-based polynomial multiplier over rings using a novel compressed postprocessing algorithm
Yang et al. Robust timing attack countermeasure on virtual hardware

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