CN110704109A - 一种椭圆曲线密码协处理器 - Google Patents
一种椭圆曲线密码协处理器 Download PDFInfo
- Publication number
- CN110704109A CN110704109A CN201910940603.2A CN201910940603A CN110704109A CN 110704109 A CN110704109 A CN 110704109A CN 201910940603 A CN201910940603 A CN 201910940603A CN 110704109 A CN110704109 A CN 110704109A
- Authority
- CN
- China
- Prior art keywords
- gate
- reg
- elliptic curve
- module
- data
- 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
Links
- 238000013500 data storage Methods 0.000 claims abstract description 17
- 238000004364 calculation method Methods 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明公开了一种椭圆曲线密码协处理器,包括数据输入模块AHB Interface、运算控制模块PMC、数据存储模块Reg_Array和有限域运算模块FFAU;数据输入模块AHB Interface作为与主处理器通信的接口,用于输入椭圆曲线点乘运算所需的***参数;运算控制模块PMC用于根据随机数最高位的逻辑电平控制选择椭圆曲线点乘公式;数据存储模块Reg_Array用于存储椭圆曲线点乘运算参数、椭圆曲线点乘运算的临时变量和椭圆曲线点乘运算结果;有限域运算模块FFAU用于根据运算控制模块PMC的运算指令和数据存储模块Reg_Array的操作数进行有限域模运算,并将结果返回Reg_Array。本方法简化了控制逻辑和椭圆曲线点乘运算时寄存器数据更新频率,实现了低功耗的椭圆曲线密码协处理,降低了计算资源并在现有基础上提升了计算效率。
Description
技术领域
本发明属于信息安全技术领域,更具体地,涉及一种椭圆曲线密码协处理器。
背景技术
现代公钥密码学建立在三种数学难题之上,分别是整数分解问题(IntegerFactorization Problem,IFP)、离散对数问题(Discrete Logarithm Problem,DLP)和椭圆曲线上的离散对数问题(Elliptic Curve Discrete Logarithm Problem,ECDLP)。基于整数分解问题的RSA算法由于其密钥过长导致硬件计算电路能量开销过大,因而不适合集成在低功耗安全设备中。与RSA相比,椭圆曲线密码学(Elliptic Curve Cryptography,ECC)可以用更短的密钥达到与RSA相同的安全级别,在硬件实现时所需的电路资源更少,因此ECC适合集成在低功耗安全设备中。
ECC的核心计算过程是使用一个随机数k与椭圆曲线上基点G相乘得到椭圆曲线上另一点Q=k×G,这一计算过程称为椭圆曲线标量点乘。在椭圆曲线标量点乘的计算过程中,需要对计算产生的临时点的坐标进行反复存取。坐标存取导致的寄存器数据更新是椭圆曲线密码处理器工作时功耗的主要来源。对于能量供给受限的安全设备而言,现有的基于各运算层级并行计算的结构来实现硬件加速,虽然显著提高其运算效率,但是降低椭圆曲线密码处理器运行时的功耗仍然有待改进,如何设计分时复用、流水线等低资源开销的加密硬件架构以及如何设计并优化椭圆曲线标量乘法算法关系到整个协处理器的性能、功耗及运算效率的能力。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种椭圆曲线密码协处理器,旨在降低椭圆曲线点乘运算时产生的功耗以适应安全设备对功耗的要求。
为实现上述目的,本发明提供了一种椭圆曲线密码协处理器,包括数据输入模块AHB Interface、运算控制模块PMC、数据存储模块Reg_Array和有限域运算模块FFAU;数据输入模块AHB Interface作为与主处理器通信的接口,用于输入椭圆曲线点乘运算所需的***参数;运算控制模块PMC用于根据随机数k最高位的逻辑电平控制选择椭圆曲线点乘公式;数据存储模块Reg_Array用于存储椭圆曲线点乘运算参数、椭圆曲线点乘运算的临时变量和椭圆曲线点乘运算结果;有限域运算模块FFAU用于根据运算控制模块PMC的运算指令和数据存储模块Reg_Array的操作数进行有限域模运算,并将结果返回Reg_Array。
进一步地,主处理器为32位嵌入式微处理器,向协处理器送出协处理器协议指令和进行数据交换。
进一步地,数据输入模块AHB Interface包括7个输入信号,分别是位宽为1bit的HREADY_IN、HSEL、HTRANS[1]、HWRITE;位宽为4bits的HADDR[5:2]、R_addr[3:0];位宽为32bits的写数据总线HWDATA;输出信号为32bits位宽的读数据总线HRDATA;
HREADY_IN、HSEL、HTRANS[1]、HWRITE构成写使能信号Write_access和读控制信号Read_access。
进一步地,数据输入模块AHB Interface的电路包括:
第一非门A、第二非门B、第三非门C、第一与门1、第二与门2、第三与门3、第四与门4、第五与门5、第六与门6、第七与门7、第八与门8、第九与门9、第十与门10、第一二路选择器M1、第二二路选择器M2、D触发器D1以及或门11;
HREADY_IN、HSEL、HTRANS[1]、HWRITE分别连接到第一与门1和第二与门2的输入端,第一与门1和2第二与门的输出端连接到第三与门3的输入端,第三与门3的输出端记作写使能信号Write_access;
HWRITE连接到第一非门A的输入端,第一非门A的输出端与所述HREADY_IN、HSEL、HTRANS[1]分别连接到第四与门4和第五与门5的输入端,第四与门4和5第五与门5的输出端连接到第六与门6的输入端,第六与门6的输出端记作读使能信号Read_access;
HADDR[5:2]和R_addr[3:0]连接到第七与门7的输入端,并且HADDR[5:2]和R_addr[3:0]通过第二非门B、第三非门C连接到第八与门8的输入端,第七与门7和第八与门8的输出端连接到或门11的输入端,或门11的输出端记作特殊功能寄存器选择信号SFR_sel;
特殊功能寄存器选择信号SFR_sel分别与写使能信号Write_access和读使能信号Read_access连接到第九与门9和第十与门10的输入端,第九与门9的输出端记作寄存器写使能信号REG_Wr_en,第十与门10的输出端记作寄存器读使能信号REG_Rd_en;
REG_Wr_en连接到D触发器D1的数据输入端,D触发器D1的数据输出端作为第二二路选择器M2的选择信号,第二二路选择器M2的两个输入信号分别是32bits的读数据总线HWDATA和0,当REG_Wr_en为1时读数据总线HWDATA被送入存储阵列MEM;REG_Rd_en作为第一二路选择器M1的选择信号,第一二路选择器M1的两个输入信号分别是来自存储阵列MEM的32bits数据和0,当REG_Rd_en为1时来自存储阵列MEM的32bits数据被加载到32bits读数据总线HRDATA上。
进一步地,运算控制模块PMC包括数据预计算单元Data Precomputation、坐标交换单元Coordinates Switch、射影坐标下的点加与点倍计算单元Madd/Mdouble以及坐标转换单元Mxy,所述运算控制模块PMC根据点倍计算单元Madd/Mdouble的计算公式给出有限域运算模块所需的具体计算指令,同时也内置了一个计数器来计算随机数k的移位次数。
进一步地,数据存储模块Reg_Array包括三类寄存器,分别是存储椭圆曲线点乘运算参数的REG_k,REG_c,REG_x,REG_y;存储椭圆曲线点乘运算初值和结果的REG_A,REG_B,REG_C,REG_D,REG_T;存储椭圆曲线计算运算临时变量的REG_T1,REG_T2;其中椭圆曲线点乘运算参数由数据输入模块AHB Interface接口通过32bits写数据总线HWDATA导入,有限域运算模块FFAU的源操作数由REG_A,REG_B提供,最终的计算结果由读数据总线HRDATA返回。
进一步地,有限域运算模块FFAU包括模加add、模乘mul以及模平方sqr三个基本计算单元;有限域运算模块FFAU的输入为两个源操作数input_A和input_B、计算使能信号comp_en、操作码oper_code。根据操作码可以决定寄存器Reg_o接收的是来自哪一个基本运算单元的数据。
通过本发明所构思的以上技术方案,与现有技术相比,能够取得以下有益效果:
1、本发明提供椭圆曲线密码协处理器分为四个子模块,分别是数据输入模块AHBInterface、运算控制模块PMC、数据存储模块Reg_Array和有限域运算模块FFAU,其中PMC优化射影坐标到仿射坐标的转换方式简化了控制逻辑,从而减少了椭圆曲线点乘运算时寄存器数据更新频率,实现了低功耗的椭圆曲线密码协处理;FFAU在点乘模块中优化了点加和点倍的计算逻辑,采用串行移位模乘单元以及模加和模减单元复用设计,从而降低了计算资源并在原有基础上提升了计算效率;
2、本发明通过分开处理椭圆曲线点乘过程中点加和点倍计算的共性部分与特性部分,减少了寄存器中逻辑“0”与逻辑“1”的相互转换次数,从而降低了椭圆曲线密码协处理器工作时的功耗。
附图说明
图1为本发明实施例提供的椭圆曲线密码协处理器的结构示意图;
图2为本发明实施例提供的AHB Interface接口电路图;
图3为本发明实施例提供的运算控制模块PMC的结构示意图;
图4为本发明实施例提供的数据存储模块Reg_Array的结构示意图;
图5为本发明实施例提供的运算控制模块PMC的结构示意图;
图6为本发明实施例进行椭圆曲线点乘预算的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间不构成冲突就可以相互组合。
本发明提供了一种椭圆曲线密码协处理器,如图1所示,包括数据输入模块AHBInterface、运算控制模块PMC、数据存储模块Reg_Array和有限域运算模块FFAU;数据输入模块AHB Interface作为与主处理器通信的接口,用于输入椭圆曲线点乘运算所需的***参数;运算控制模块PMC用于根据随机数k最高位的逻辑电平控制选择椭圆曲线点乘公式;数据存储模块Reg_Array用于存储椭圆曲线点乘运算参数、椭圆曲线点乘运算的临时变量和椭圆曲线点乘运算结果;有限域运算模块FFAU用于根据运算控制模块PMC的运算指令和数据存储模块Reg_Array的操作数进行有限域模运算,并将结果返回Reg_Array。
具体地,主处理器为32位嵌入式微处理器,向协处理器送出协处理器协议指令和进行数据交换。
如图2所示,数据输入模块AHB Interface包括7个输入信号,分别是位宽为1bit的HREADY_IN、HSEL、HTRANS[1]、HWRITE;位宽为4bits的HADDR[5:2]、R_addr[3:0];位宽为32bits的写数据总线HWDATA;输出信号为32bits位宽的读数据总线HRDATA;
HREADY_IN、HSEL、HTRANS[1]、HWRITE构成写使能信号Write_access和读控制信号Read_access。
具体地,数据输入模块AHB Interface的电路包括:
第一非门A、第二非门B、第三非门C、第一与门1、第二与门2、第三与门3、第四与门4、第五与门5、第六与门6、第七与门7、第八与门8、第九与门9、第十与门10、第一二路选择器M1、第二二路选择器M2、D触发器D1以及或门11;
HREADY_IN、HSEL、HTRANS[1]、HWRITE分别连接到第一与门1和第二与门2的输入端,第一与门1和2第二与门的输出端连接到第三与门3的输入端,第三与门3的输出端记作写使能信号Write_access;
HWRITE连接到第一非门A的输入端,第一非门A的输出端与所述HREADY_IN、HSEL、HTRANS[1]分别连接到第四与门4和第五与门5的输入端,第四与门4和第五与门5的输出端连接到第六与门6的输入端,第六与门6的输出端记作读使能信号Read_access;
HADDR[5:2]和R_addr[3:0]连接到第七与门7的输入端,并且HADDR[5:2]和R_addr[3:0]通过第二非门B、第三非门C连接到第八与门8的输入端,第七与门7和第八与门8的输出端连接到或门11的输入端,或门11的输出端记作特殊功能寄存器选择信号SFR_sel;
特殊功能寄存器选择信号SFR_sel分别与写使能信号Write_access和读使能信号Read_access连接到第九与门9和第十与门10的输入端,第九与门9的输出端记作寄存器写使能信号REG_Wr_en,第十与门10的输出端记作寄存器读使能信号REG_Rd_en;
REG_Wr_en连接到D触发器D1的数据输入端,D触发器D1的数据输出端作为第二二路选择器M2的选择信号,第二二路选择器M2的两个输入信号分别是32bits的读数据总线HWDATA和0,当REG_Wr_en为1时读数据总线HWDATA被送入存储阵列MEM;REG_Rd_en作为第一二路选择器M1的选择信号,第一二路选择器M1的两个输入信号分别是来自存储阵列MEM的32bits数据和0,当REG_Rd_en为1时来自存储阵列MEM的32bits数据被加载到32bits读数据总线HRDATA上。
如图3所示,运算控制模块PMC包括数据预计算单元Data Precomputation、坐标交换单元Coordinates Switch、射影坐标下的点加与点倍计算单元Madd/Mdouble以及坐标转换单元Mxy,所述运算控制模块PMC根据点倍计算单元Madd/Mdouble的计算公式给出有限域运算模块所需的具体计算指令,同时也内置了一个计数器来计算随机数k的移位次数。
如图4所示,进一步地,数据存储模块Reg_Array包括三类寄存器,分别是存储椭圆曲线点乘运算参数的REG_k,REG_c,REG_x,REG_y;存储椭圆曲线点乘运算初值和结果的REG_A,REG_B,REG_C,REG_D,REG_T;存储椭圆曲线计算运算临时变量的REG_T1,REG_T2;其中椭圆曲线点乘运算参数由数据输入模块AHB Interface接口通过32bits写数据总线HWDATA导入,有限域运算模块FFAU的源操作数由REG_A,REG_B提供,最终的计算结果由读数据总线HRDATA返回。
如图5所示,有限域运算模块FFAU包括模加add、模乘mul以及模平方sqr三个基本计算单元;有限域运算模块FFAU的输入为两个源操作数input_A和input_B、计算使能信号comp_en、操作码oper_code。根据操作码可以决定寄存器Reg_o接收的是来自哪一个基本运算单元的数据。
椭圆曲线标量点乘运算Q=k×G是椭圆曲线密码体制的核心运算,其中G点为椭圆曲线上基点,k一般由随机数产生器提供,计算结果Q仍为椭圆曲线上一点。在计算椭圆曲线标量点乘时,通常采用的是L-D射影坐标下的蒙哥马利点乘算法,其计算流程如图6所示。
在步骤602中,输入椭圆曲线的基点坐标G以及随机数k,其中每次循环对应位置的ki为随机数k的第i位数据,比特长度与椭圆曲线坐标的比特长度相同。
在步骤604中,待输出的结果Q被预置为0,i=m为循环次数。
在步骤606中,进行预计算操作,并用计算结果对图5所示寄存器REG_A,REG_B,REG_C,REG_D进行初始化。
在步骤608中,i自减一后判断是否为0。若为0则说明计算结束,跳转到步骤616,执行Mxy操作。若为1则执行步骤610。
在步骤610中,判断ki的值是否为0。若不为0转到步骤614进行点加计算。若为0则转到步骤612进行点倍计算。
在步骤612中,点倍计算完成后返回步骤608进行下一次循环。
在步骤614中,点加计算完成后返回步骤608进行下一次循环。
在步骤616中,执行Mxy操作并将计算结果赋给Q。
其中Madd/Mdouble和Mxy的计算公式为:
其中Q点的初始化坐标为(0,0);令X1=x,Z1=1,X2=x4+b,Z2=x2;从计算流程来看,ki的取值不影响Madd的结果。在图5所示的寄存器阵列中,REG_A,REG_B,REG_C,REG_D在每次循环计算完成后分别存放X1,Z1,X2,Z2的值。基于上述观察,可以在每次计算之前根据ki的值决定是否需要交换寄存器REG_A,REG_B,REG_C,REG_D中存放的值,从而实现点加和点倍的计算。例如,当ki为0时,只需先将循环寄存器组中的值依次转移三次,即可实现REG_A,REG_B,REG_C,REG_D分别存放X2,Z2,X1,Z1的值,然后可以按照ki为1时的计算流程进行计算,从而简化了点加和点倍的计算流程,进而达到减少功耗的目的。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种椭圆曲线密码协处理器,其特征在于,包括数据输入模块AHB Interface、运算控制模块PMC、数据存储模块Reg_Array和有限域运算模块FFAU;
所述数据输入模块AHB Interface作为与主处理器通信的接口,用于输入椭圆曲线点乘运算参数;所述运算控制模块PMC用于控制选择椭圆曲线点乘公式;所述数据存储模块Reg_Array用于存储椭圆曲线点乘运算参数、椭圆曲线点乘运算的临时变量和椭圆曲线点乘运算结果;所述有限域运算模块FFAU用于根据所述运算控制模块PMC的运算指令和所述数据存储模块Reg_Array的操作数进行有限域模运算。
2.根据权利要求1所述的椭圆曲线密码协处理器,其特征在于,所述主处理器为32位嵌入式微处理器,向协处理器送出协处理器协议指令和进行数据交换。
3.根据权利要求1所述的椭圆曲线密码协处理器,其特征在于,所述数据输入模块AHBInterface包括7个输入信号,分别是位宽为1bit的HREADY_IN、HSEL、HTRANS[1]、HWRITE;位宽为4bits的HADDR[5:2]、R_addr[3:0];位宽为32bits的写数据总线HWDATA;输出信号为32bits位宽的读数据总线HRDATA;
所述HREADY_IN、HSEL、HTRANS[1]、HWRITE构成写使能信号Write_access和读控制信号Read_access。
4.根据权利要求3所述的椭圆曲线密码协处理器,其特征在于,所述数据输入模块AHBInterface的电路包括:
第一非门、第二非门、第三非门、第一与门、第二与门、第三与门、第四与门、第五与门、第六与门、第七与门、第八与门、第九与门、第十与门、第一二路选择器、第二二路选择器、D触发器以及或门;
所述HREADY_IN、HSEL、HTRANS[1]、HWRITE分别连接到第一与门和第二与门的输入端,第一与门和第二与门的输出端连接到第三与门的输入端,第三与门的输出端记作写使能信号Write_access;
所述HWRITE连接到第一非门的输入端,第一非门的输出端与所述HREADY_IN、HSEL、HTRANS[1]分别连接到第四与门和第五与门的输入端,第四与门和第五与门的输出端连接到第六与门的输入端,第六与门的输出端记作读使能信号Read_access;
所述HADDR[5:2]和R_addr[3:0]连接到第七与门的输入端,并且HADDR[5:2]和R_addr[3:0]通过第二非门、第三非门连接到第八与门的输入端,第七与门和第八与门的输出端连接到或门的输入端,或门的输出端记作特殊功能寄存器选择信号SFR_sel;
所述特殊功能寄存器选择信号SFR_sel分别与写使能信号Write_access和读使能信号Read_access连接到第九与门和第十与门的输入端,第九与门的输出端记作寄存器写使能信号REG_Wr_en,第十与门的输出端记作寄存器读使能信号REG_Rd_en;
所述REG_Wr_en连接到D触发器的数据输入端,D触发器的数据输出端作为第二二路选择器的选择信号,第二二路选择器的两个输入信号分别是32bits的读数据总线HWDATA和0,当REG_Wr_en为1时读数据总线HWDATA被送入存储阵列MEM;所述REG_Rd_en作为第一二路选择器的选择信号,第一二路选择器的两个输入信号分别是来自存储阵列MEM的32bits数据和0,当REG_Rd_en为1时来自存储阵列MEM的32bits数据被加载到32bits读数据总线HRDATA上。
5.根据权利要求1所述的椭圆曲线密码协处理器,其特征在于,所述运算控制模块PMC包括数据预计算单元Data Precomputation、坐标交换单元Coordinates Switch、射影坐标下的点加与点倍计算单元Madd/Mdouble以及坐标转换单元Mxy,所述运算控制模块PMC根据点倍计算单元Madd/Mdouble的计算公式给出有限域运算模块所需的具体计算指令,同时也内置了一个计数器来计算随机数k的移位次数。
6.根据权利要求1所述的椭圆曲线密码协处理器,其特征在于,所述数据存储模块Reg_Array包括三类寄存器,分别是存储椭圆曲线点乘运算参数的REG_k,REG_c,REG_x,REG_y;存储椭圆曲线点乘运算初值和结果的REG_A,REG_B,REG_C,REG_D,REG_T;存储椭圆曲线计算运算临时变量的REG_T1,REG_T2;其中椭圆曲线点乘运算参数由数据输入模块AHBInterface接口通过32bits写数据总线HWDATA导入,有限域运算模块FFAU的源操作数由REG_A,REG_B提供,最终的计算结果由读数据总线HRDATA返回。
7.根据权利要求1所述的椭圆曲线密码协处理器,其特征在于,所述有限域运算模块FFAU包括模加add、模乘mul以及模平方sqr三个基本计算单元;有限域运算模块FFAU的输入为两个源操作数input_A和input_B、计算使能信号comp_en、操作码oper_code。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910940603.2A CN110704109B (zh) | 2019-09-30 | 2019-09-30 | 一种椭圆曲线密码协处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910940603.2A CN110704109B (zh) | 2019-09-30 | 2019-09-30 | 一种椭圆曲线密码协处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704109A true CN110704109A (zh) | 2020-01-17 |
CN110704109B CN110704109B (zh) | 2021-10-08 |
Family
ID=69197910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910940603.2A Active CN110704109B (zh) | 2019-09-30 | 2019-09-30 | 一种椭圆曲线密码协处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704109B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865560A (zh) * | 2020-06-23 | 2020-10-30 | 华中科技大学 | 一种aes密码协处理器及终端设备 |
CN114489571A (zh) * | 2022-04-15 | 2022-05-13 | 广州万协通信息技术有限公司 | 一种非对称算法计算电路 |
CN116186794A (zh) * | 2022-12-30 | 2023-05-30 | 海光信息技术股份有限公司 | 密码协处理器、密码处理方法、芯片和计算机设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070185950A1 (en) * | 2006-02-09 | 2007-08-09 | Masayuki Yoshino | Modular multiplication processing apparatus |
CN101826142A (zh) * | 2010-04-19 | 2010-09-08 | 中国人民解放军信息工程大学 | 一种可重构椭圆曲线密码处理器 |
CN102156836A (zh) * | 2011-04-25 | 2011-08-17 | 天津大学 | 一种椭圆曲线密码处理器 |
CN102279725A (zh) * | 2011-09-01 | 2011-12-14 | 北京华大信安科技有限公司 | Ecc协处理器 |
CN102307090A (zh) * | 2011-06-21 | 2012-01-04 | 西安电子科技大学 | 基于ⅱ型最优正规基的椭圆曲线密码协处理器 |
EP2521024A1 (de) * | 2011-05-04 | 2012-11-07 | Giesecke & Devrient GmbH | Beschleunigte kryptographische Berechnung, insbesondere ECC-Berechnung, in Prozessor mit Montgomery-Koprozessor |
CN103903047A (zh) * | 2014-03-27 | 2014-07-02 | 华中科技大学 | 一种适用于rfid安全通信的椭圆曲线加密协处理器 |
-
2019
- 2019-09-30 CN CN201910940603.2A patent/CN110704109B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070185950A1 (en) * | 2006-02-09 | 2007-08-09 | Masayuki Yoshino | Modular multiplication processing apparatus |
CN101826142A (zh) * | 2010-04-19 | 2010-09-08 | 中国人民解放军信息工程大学 | 一种可重构椭圆曲线密码处理器 |
CN102156836A (zh) * | 2011-04-25 | 2011-08-17 | 天津大学 | 一种椭圆曲线密码处理器 |
EP2521024A1 (de) * | 2011-05-04 | 2012-11-07 | Giesecke & Devrient GmbH | Beschleunigte kryptographische Berechnung, insbesondere ECC-Berechnung, in Prozessor mit Montgomery-Koprozessor |
CN102307090A (zh) * | 2011-06-21 | 2012-01-04 | 西安电子科技大学 | 基于ⅱ型最优正规基的椭圆曲线密码协处理器 |
CN102279725A (zh) * | 2011-09-01 | 2011-12-14 | 北京华大信安科技有限公司 | Ecc协处理器 |
CN103903047A (zh) * | 2014-03-27 | 2014-07-02 | 华中科技大学 | 一种适用于rfid安全通信的椭圆曲线加密协处理器 |
Non-Patent Citations (3)
Title |
---|
JIAWANG HU 等: "A Novel Architecture of ECC Coprocessor for STT-MRAM Based Smart Card Chip", 《2018 IEEE INTERNATIONAL CONFERENCE ON INTEGRATED CIRCUITS, TECHNOLOGIES AND APPLICATIONS (ICTA)》 * |
JIAWANG HU 等: "Design and Hardware Implementation of a STT-MRAM Based SoC Architecture for Smart Card Chip", 《2018 IEEE ASIA PACIFIC CONFERENCE ON CIRCUITS AND SYSTEMS (APCCAS)》 * |
曾晓洋 等: "一种新型椭圆曲线密码***协处理器的VLSI设计", 《***工程与电子技术》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865560A (zh) * | 2020-06-23 | 2020-10-30 | 华中科技大学 | 一种aes密码协处理器及终端设备 |
CN111865560B (zh) * | 2020-06-23 | 2021-07-27 | 华中科技大学 | 一种aes密码协处理器及终端设备 |
CN114489571A (zh) * | 2022-04-15 | 2022-05-13 | 广州万协通信息技术有限公司 | 一种非对称算法计算电路 |
CN116186794A (zh) * | 2022-12-30 | 2023-05-30 | 海光信息技术股份有限公司 | 密码协处理器、密码处理方法、芯片和计算机设备 |
CN116186794B (zh) * | 2022-12-30 | 2024-04-16 | 海光信息技术股份有限公司 | 密码协处理器、密码处理方法、芯片和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110704109B (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704109B (zh) | 一种椭圆曲线密码协处理器 | |
Lee et al. | Elliptic-curve-based security processor for RFID | |
Düll et al. | High-speed Curve25519 on 8-bit, 16-bit, and 32-bit microcontrollers | |
US6035317A (en) | Modular arithmetic coprocessor comprising two multiplication circuits working in parallel | |
CN103942031B (zh) | 椭圆域曲线运算方法 | |
CN101170406B (zh) | 双核公钥密码算法运算协处理器的一种实现方法 | |
Kocabaş et al. | Implementation of binary Edwards curves for very-constrained devices | |
CN104579656A (zh) | 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器 | |
JPH09274560A (ja) | べき乗剰余演算回路及びべき乗剰余演算システム及びべき乗剰余演算のための演算方法 | |
CN102043916B (zh) | 一种高性能可扩展公钥密码协处理器结构 | |
CN101834723A (zh) | 一种rsa算法及其ip核 | |
CN103903047B (zh) | 一种适用于rfid安全通信的椭圆曲线加密协处理器 | |
CN100583757C (zh) | 一种ecc\rsa加解密协处理器 | |
Yang et al. | Poseidon: Practical homomorphic encryption accelerator | |
WO2000076119A1 (en) | Cryptographic processing system | |
Liu et al. | Design and implementation of an ECC-based digital baseband controller for RFID tag chip | |
CN105790939A (zh) | 一种vlsi实现加速器的素数域椭圆曲线密码*** | |
US8781112B2 (en) | Signed montgomery arithmetic | |
Zhu et al. | A high-performance hardware implementation of saber based on Karatsuba algorithm | |
CN109144472B (zh) | 一种二元扩域椭圆曲线的标量乘法及其实现电路 | |
CN114579078A (zh) | 一种加速器、加速方法和电子设备 | |
CN109214213A (zh) | 一种大整数模乘加算法的实现电路及方法 | |
CN100518058C (zh) | 一种用于公钥密码运算加速的方法及其体系结构 | |
CN109284082A (zh) | 一种ecc和sm2通用的点运算方法及装置 | |
CN101819519B (zh) | 多功能数字签名电路 |
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 |