CN102279725A - Ecc协处理器 - Google Patents
Ecc协处理器 Download PDFInfo
- Publication number
- CN102279725A CN102279725A CN2011102574505A CN201110257450A CN102279725A CN 102279725 A CN102279725 A CN 102279725A CN 2011102574505 A CN2011102574505 A CN 2011102574505A CN 201110257450 A CN201110257450 A CN 201110257450A CN 102279725 A CN102279725 A CN 102279725A
- Authority
- CN
- China
- Prior art keywords
- mould
- point
- control module
- computing
- control unit
- 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.)
- Pending
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
本发明提供了一种ECC协处理器,内部包括命令/状态寄存器,译码控制单元,数据寄存器,双端口SRAM,点加控制单元,点倍控制单元,模幂控制单元,模乘控制单元、模加/模减控制单元,基本运算单元。本发明的ECC协处理器实现并对外提供大整数模乘、模加/模减、模幂和椭圆曲线点加/点倍运算功能,点加和点倍运算的对外接口中椭圆曲线点的坐标采用雅可比坐标,可以支持外部控制器灵活实现多种点乘运算。
Description
技术领域
本发明涉及公钥密码算法的实现技术,更具体而言涉及大整数模乘、模加/模减、模幂以及素数域上椭圆曲线的点加/点倍运算的硬件实现。
背景技术
当前主流的公钥密码算法有RSA和椭圆曲线密码(ECC)两种,RSA是基于大整数运算实现的,ECC一般基于两种有限域:二元扩域和素数域(Fp),其中Fp上ECC的实现也基于大整数运算,这使得RSA和Fp上的ECC很方便用同一个协处理器实现,因此Fp上的ECC协处理器大都同时支持ECC和RSA算法。ECC协处理器一般为一个集成电路(IC)模块,最典型的型态是IP核。
为了满足应用对于ECC性能的要求,一般采用软硬件协同的方式实现ECC算法:将一些耗时的关键运算用ECC协处理器实现,其余部分用外部控制器的软件实现。实现ECC算法涉及到的运算包括大整数运算(模乘、模加/模减、模逆)和有限域上的椭圆曲线点运算(点加、点倍、点乘),而ECC协处理器选择实现哪些运算将导致其功能定义和实现结构的差异。
根据现有的ECC协处理器的功能定义可分为两大类:1、不实现椭圆曲线点运算;2、实现椭圆曲线点运算。
不实现点运算的ECC协处理器仅实现大整数运算,需要外部控制器用软件实现椭圆曲线点运算,再实现完整的ECC算法,这导致ECC算法的实现效率不高。但是这种ECC协处理器的优点在于外部控制器中ECC实现软件的灵活性很大。
对于实现点运算的ECC协处理器,ECC算法中用外部控制器软件实现的部分较少,因此ECC算法的实现效率较高。这类ECC协处理器对外提供的点运算功能(点加、点倍、点乘)、点的坐标形式(仿射坐标、投影坐标、雅可比坐标),都会影响外部控制器中ECC实现软件的灵活性。现有实现点运算的ECC协处理器一般都实现点乘运算,对外提供点加、点倍、点乘功能,虽然在ECC协处理器的内部运算过程中,点的坐标会采用投影坐标或雅可比坐标,但在所有点运算的对外接口中,椭圆曲线点的坐标选择为仿射坐标,这会限制外部控制器中用软件实现点乘及整个ECC算法的灵活性。
因此,需要设计一款运算效率高、电路面积小,且能支持外部控制器灵活实现多种点乘运算(包括各种特殊点乘)的ECC协处理器,同时支持RSA算法。
发明内容
本发明从ECC协处理器的功能定义、实现算法设计、电路结构设计三方面综合考虑,提出一种Fp上的ECC协处理器,具有运算效率高、电路面积小、实用性强(支持外部控制器用软件灵活实现多种点乘算法)的优点,本协处理器还支持RSA算法。
根据本发明的一个实施例,提供一种ECC协处理器,对外提供椭圆曲线点加/点倍运算功能,点加和点倍运算的对外接口中椭圆曲线点的坐标采用雅可比坐标以支持外部控制器灵活实现多种点乘运算。
另外,上述ECC协处理器还对外提供大整数模乘、模加/模减和模幂运算功能。
另外,上述ECC协处理器外部需要连接外部控制器,内部包含复杂运算控制单元和模运算单元。另外,上述复杂运算控制单元可以包括模幂控制单元、点加控制单元和点倍控制单元;模运算单元包括大整数运算控制单元和基本运算单元,其中大整数运算控制单元包括模加/模减控制单元和模乘控制单元,基本运算单元包括乘法器和累加器,其中,复杂运算控制单元基于相应的运算命令被启动,产生运算控制信号序列给模运算单元以完成相应的运算;模运算单元基于相应的运算命令或从复杂运算控制单元接收的运算控制信号序列来完成相应的运算。
另外,当运算命令为点加运算命令时,点加控制单元被启动,产生点加运算控制信号序列并提供给大整数运算控制单元以完成点加运算;当运算命令为点倍运算命令时,点倍控制单元被启动,产生点倍运算控制信号序列并提供给大整数运算控制单元以完成点倍运算;当运算命令为模幂运算命令时,模幂控制单元被启动,产生模幂运算控制信号序列并提供给模乘控制单元以完成模幂运算。
另外,模乘控制单元在当运算命令为模乘运算命令或者当从复杂运算控制单元接收到点加、点倍或模幂运算控制信号序列时被启动,产生模乘运算控制信号序列并提供给基本运算单元以完成模乘运算;模加/模减控制单元在当运算命令为模加运算命令或模减运算命令或者当从复杂运算控制单元接收到点加或点倍运算控制信号序列时被启动,产生模加/模减运算控制信号序列并提供给累加器以完成模加/模减运算。
另外,乘法器响应模乘运算控制信号序列中的乘法信号来执行乘法运算并输出乘法运算结果;累加器响应模乘运算控制信号序列和模加/模减运算控制信号中的累加信号来执行累加运算并输出累加运算结果。
本发明的ECC协处理器还可以包括接口总线,命令/状态寄存器,译码控制单元,数据寄存器,双端口SRAM。
外部控制器经接口总线将运算命令写入命令/状态寄存器,或从命令/状态寄存器中读出状态字。译码控制单元对命令/状态寄存器中接收到的运算命令进行译码,产生相应的运算控制信号,启动复杂运算控制单元或模运算单元完成相应的运算,运算结束后通过设置命令/状态寄存器中的状态字通知外部控制器运算已经结束。数据寄存器可以包括:蒙哥马利常数寄存器MC,存储模乘运算所需的蒙哥马利常数;模字长寄存器NLen,存储模乘、模加/模减运算的模的字长,供模乘控制单元和模加/模减控制单元控制基本运算(乘法、累加)的循环次数;幂指数寄存器EReg,存储模幂运算所需的幂指数。双端口SRAM接收并存储经从外部输入的除蒙哥马利常数、模的字长和幂指数之外所有运算输入数据,接收并存储来自基本运算单元的中间数据和结果数据,向基本运算单元提供运算输入数据,存储的各种运算的结果数据可供外部控制器读出。
另外,上述的幂指数寄存器EReg为一个字长,幂指数被按字长分段传送到EReg,外部控制器通过循环设置EReg来完成一次完整的模幂运算。
另外,上述的模幂运算支持基于费马小定理的模逆运算。
附图说明
图1是根据外部控制器与本发明的ECC协处理器的连接关系示意框图,外部控制器通过调用ECC协处理器的功能实现完整的ECC算法。
图2是根据本发明的一个实施例的图1所示的ECC协处理器中的主要运算单元结构示意框图。
图3是根据本发明的一个实施例的图2所示的ECC协处理器的详细结构示意图。
图4是根据本发明的一个实施例的外部控制器调用本发明的ECC协处理器完成一次运算的流程图。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,并且这些决定可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构,而省略了与本发明关系不大的其他细节。
下面结合附图来详细描述本发明。
图1是根据本发明的实施例的实现ECC算法的外部控制器和ECC协处理器的连接关系图。外部控制器通过调用ECC协处理器的功能实现完整的ECC算法。参见图1,完整的ECC实现方案包括ECC协处理器1和外部控制器2。ECC协处理器1提供包括点加、点倍运算的运算单元,ECC协处理器1的点加和点倍运算的对外接口中椭圆曲线点的坐标采用雅可比坐标。点乘运算由外部控制器2基于ECC协处理器1的点加、点倍运算来通过软件来实现。根据本发明的实施例,ECC协处理器对外提供雅可比坐标的点加和点倍运算,可以支持外部控制器灵活实现多种点乘运算。根据本发明的一个实施例,外部控制器2与ECC协处理器1相耦接,基于运算命令或程序命令来调用ECC协处理器1执行相应的运算。
下面参照图2来详细描述图1的ECC协处理器1的主要运算单元结构。图2是根据本发明的一个实施例的ECC协处理器的主要运算单元结构框图,包括复杂运算控制单元11和模运算单元12,其中复杂运算控制单元11通过对模运算单元12进行控制以执行复杂运算(点加、点倍和模幂)。根据本发明的一个实施例,复杂运算控制单元11基于运算命令产生复杂运算控制信号序列即点加运算控制信号序列、点倍运算控制信号序列或模幂运算控制信号序列并将其发送给模运算单元12,模运算单元12在相应的运算控制信号序列的控制下执行完成相应的复杂运算。
下面进一步参照图3来详细描述图2的ECC协处理器1。图3是根据本发明的一个实施例的ECC协处理器的更加详细的结构框图。如图3所示,具体地,图2的复杂运算控制单元11包括:点加控制单元111、点倍控制单元112、模幂控制单元113,其中,点加控制单元111在运算命令cmd为点加运算命令时,产生点加运算控制信号序列,并将点加运算控制信号序列提供给模运算单元12以完成点加运算;点倍控制单元112在运算命令cmd为点倍运算命令时,产生点倍运算控制信号序列,并将点倍运算控制信号序列提供给模运算单元12以完成点倍运算;模幂控制单元113在运算命令cmd为模幂运算命令时,产生模幂运算控制信号序列,并将模幂运算控制信号序列提供给模运算单元12以执行模幂运算。如图3所示,模运算单元12包括大整数运算控制单元121和基本运算单元122。大整数运算控制单元121包括:模乘控制单元1211,模乘控制单元1211在当运算命令cmd为模乘运算命令或者从复杂运算控制单元接收到点加、点倍或模幂运算控制信号序列时被启动,产生并输出模乘控制信号序列给基本运算单元122;和模加/模减控制单元1212,模加/模减控制单元1212在当运算命令cmd为模加/模减运算命令或者从复杂运算控制单元接收到点加或点倍运算控制信号序列时被启动,产生并输出模加/模减控制信号序列给基本运算单元122。如图3所示,基本运算单元122包括乘法器1221和累加器1222。乘法器1221响应于模乘控制信号序列中的乘法信号来执行乘法运算并输出乘法运算结果,累加器1222响应于模乘控制信号或模加/模减控制信号中的累加信号来执行累加运算。
此外,进一步地,本发明的ECC协处理器1还可以包括:接口总线,接口总线实现外部控制器2与ECC协处理器1的数据、命令cmd和状态sta的读写访问;命令/状态寄存器CSR,外部控制器2将运算命令cmd写入命令/状态寄存器CSR,从命令/状态寄存器CSR中读出的是ECC协处理器1的状态字sta;译码控制单元,译码控制单元对CSR中的运算命令cmd进行译码来启动相应的运算控制单元,其中包括复杂运算控制单元11和模运算单元12中的大整数运算控制单元121;三个数据寄存器:蒙哥马利常数寄存器MC存储蒙哥马利常数mc,mc是蒙哥马利模乘运算过程中一些乘法运算所需要的输入参数,模字长寄存器NLen存储模n(n是一个大整数,存储在双端口SRAM的指定单元中)的字长nlen,乘法器的位长为m(即m*m乘法器),则n的位长是nlen*m,nlen是模乘控制单元和模加/模减控制单元必需的输入参数,决定了相应运算的循环次数,幂指数寄存器EReg存储幂指数e的一个字,e是模幂控制单元必需的输入参数,决定了模幂运算的循环次数及运算过程,由于e可能是一个跟n一样长度的大整数,为了节省电路面积,将EReg设置为一个字长的寄存器,外部控制器2将e按照字长分段,每次往EReg中写入e的一个字,通过循环设置完成一次完整的模幂运算。双端口SRAM,接收并存储从外部输入的除蒙哥马利常数、模的字长和幂指数之外所有运算输入数据,接收并存储来自基本运算单元的结果数据,向基本运算单元提供运算输入数据,并且所存储的结果数据经由接口总线可被外部控制器读出。
如上所述,译码控制单元根据外部控制器2写入命令/状态寄存器的运算命令cmd进行译码来启动相应的运算控制单元,例如,当运算命令cmd为点加、点倍或模幂运算命令时,点加控制单元111、点倍控制单元112和模幂控制单元113被启动来控制和执行点加、点倍或模幂运算;而当运算命令cmd为模乘或模加/模减命令时,模乘控制单元1211或模加/模减控制单元1212被启动来执行模乘或模加/模减运算。
ECC协处理器内各种运算控制单元的启动及运算完成的过程如下。
1、模加/模减:如上所述,译码控制单元、点加控制单元、点倍控制单元都可以启动模加/模减控制单元,模加/模减控制单元根据模的字长nlen确定循环次数,通过控制累加器完成大整数模加/模减运算。
2、模乘:如上所述,译码控制单元、模幂控制单元、点加控制单元、点倍控制单元都可以启动模乘控制单元,模乘减控制单元根据模的字长nlen确定循环次,通过控制乘法器和累加器完成大整数模乘运算。
3、模幂:如上所述,当运算命令cmd是模幂运算命令时,译码控制单元启动模幂控制单元,模幂控制单元根据幂指数e,通过控制模乘控制单元完成模幂运算。外部控制器2将幂指数e按照字长分段送往EReg,通过循环设置EReg完成一次完整的模幂运算。这里,模幂运算支持基于费马小定理的模逆运算。因此,本发明的ECC协处理器不需要专门的模逆控制单元。
4、点加:如上所述,当运算命令cmd是点加运算命令时,译码控制单元启动点加控制单元,点加控制单元产生点加运算控制信号序列来控制模乘控制单元、模加/模减控制单元完成点加运算。
点加运算的输入为两个雅可比坐标点:J(X1,Y1,Z1)和J(X2,Y2,1),输出为一个雅可比坐标点:J(X3,Y3,Z3),其运算公式为:J(X1,Y1,Z1)+J(X2,Y2,1)=J(X3,Y3,Z3),C=A-X1,D=B-Y1,X3=D2-(C3+2X1C2),Y3=D(X1C2-X3)-Y1C3,Z3=Z1C。
5、点倍:如上所述,当运算命令cmd是点倍运算命令时,译码控制单元启动点倍控制单元,点倍控制单元产生点倍运算控制信号序列来控制模乘控制单元、模加/模减控制单元完成点倍运算。
点倍运算的输入为一个雅可比坐标点:J(X1,Y1,Z1),输出为一个雅可比坐标点:J(X3,Y3,Z3),其运算公式为:2J(X1,Y1,Z1)=J(X3,Y3,Z3), X3=C2-2A,Y3=C(A-X3)-B,Z3=2Y1Z1。
图4是根据本发明的一个实施例的外部控制器调用本发明的ECC协处理器完成一次运算的流程图。
S1,通过读CSR中的sta或检测R/B的电平,判断ECC协处理器是否处于空闲(Ready)状态,如果是则可以进行下面的操作,否则需要等待;
S2,根据运算对mc、nlen或e的需要,设置相应的MC、NLen或EReg寄存器;
S3,将运算的输入参数写入双端口SRAM的指定单元中;
S4,往CSR中写入cmd,启动ECC协处理器运算;
S5,ECC协处理器改变CSR中的sta和R/B的电平,表示处于忙碌(Busy)状态,译码控制单元根据cmd启动相应的运算控制单元完成运算;
S6,运算完成后,ECC协处理器改变CSR中的sta和R/B的电平,表示运算已经完成,处于空闲(Ready)状态;
S7,外部控制器2监测到sta或R/B的变化(为Ready),从双端口SRAM的指定单元读取运算结果。
经发明人研究、实验和测试发现:1、点乘运算在ECC协处理器中实现和在外部控制器2中的软件实现,对ECC算法的实现效率影响很小(经流片测试表明<3%);2、将点乘运算实现到ECC协处理器中,对外提供的点加、点倍和点乘运算接口中,点的坐标如果只支持仿射坐标,会限制外部控制器2中用软件实现点乘及整个ECC算法的灵活性,不方便实现一些特殊的点乘运算,而这些特殊的点乘运算往往可以提高ECC的实现效率和安全性,譬如:带预计算的固定点乘运算可以提高ECC签名产生的效率,双点乘混合运算可以提高ECC验证签名的效率,含抵抗差分电源分析(DPA)措施的点乘运算可以提高ECC私钥运算(签名、解密、密钥协商)的安全性。
如上所述,本发明提出一种Fp上的ECC协处理器,实现并对外提供大整数模乘、模加/模减、模幂和椭圆曲线点加/点倍等运算功能,点加和点倍运算对外接口中椭圆曲线点的坐标采用雅可比坐标。相对于其它ECC协处理器,本发明的ECC协处理器的优点和有益效果在于:
1、通过对外提供采用雅可比坐标的点倍和点加运算,可以支持外部控制器通过软件灵活实现多种点乘运算,包括带预计算的固定点乘、双点乘的混合运算、加入了防DPA措施的点乘等各种特殊的点乘运算,相对于现有的内部实现点乘运算、但对外部控制器实现点乘运算支持不够的ECC协处理器,能更好地适应各种应用环境对于ECC算法及点乘运算的各种变化要求。经发明人实验和测试证明:点乘运算在ECC协处理器中实现和在外部控制器中的软件实现,对ECC算法的实现效率影响很小(经流片测试表明<3%)。
2、EReg寄存器设置为一个字长的寄存器,支持外部控制器将e按字长分段输入,通过循环设置EReg完成一次完整的模幂运算,相对于将e一次性全部存入内部寄存器的方案,既节省了电路面积,又对模幂运算效率的影响很小;
3、模幂运算支持实现基于费马小定理的模逆运算,不需要专门的模逆控制单元;
4、通过设置nlen,可支持实现多种位长的ECC、RSA和DSA算法。
以上虽然结合附图详细描述了本发明的实施例,但是应当明白,上面所描述的实施方式只是用于说明本发明,而并不构成对本发明的限制。对于本领域的技术人员来说,可以对上述实施方式作出各种修改和变更而没有背离本发明的实质和范围。因此,本发明的范围仅由所附的权利要求及其等效含义来限定。
Claims (10)
1.一种ECC协处理器,其特征在于:
对外提供椭圆曲线点加/点倍运算功能,点加和点倍运算的对外接口中椭圆曲线点的坐标采用雅可比坐标以支持外部控制器灵活实现多种点乘运算。
2.如权利要求1所述的ECC协处理器,其特征在于:
还对外提供大整数模乘、模加/模减和模幂运算功能。
3.如权利要求1所述的ECC协处理器,其特征在于:
外部需要连接外部控制器,内部包含复杂运算控制单元和模运算单元。
4.如权利要求3所述的ECC协处理器,其特征在于:
复杂运算控制单元包括模幂控制单元、点加控制单元和点倍控制单元;模运算单元包括大整数运算控制单元和基本运算单元,其中大整数运算控制单元包括模加/模减控制单元和模乘控制单元,基本运算单元包括乘法器和累加器,
其中,复杂运算控制单元基于相应的运算命令被启动,产生运算控制信号序列给模运算单元以完成相应的运算;模运算单元基于相应的运算命令或从复杂运算控制单元接收的运算控制信号序列来完成相应的运算。
5.如权利要求4所述的ECC协处理器,在所述复杂运算控制单元中:
当运算命令为点加运算命令时,点加控制单元被启动,产生点加运算控制信号序列并提供给大整数运算控制单元以完成点加运算;
当运算命令为点倍运算命令时,点倍控制单元被启动,产生点倍运算控制信号序列并提供给大整数运算控制单元以完成点倍运算;
当运算命令为模幂运算命令时,模幂控制单元被启动,产生模幂运算控制信号序列并提供给模乘控制单元以完成模幂运算。
6.如权利要求4所述的ECC协处理器,在所述模运算单元中:
模乘控制单元在当运算命令为模乘运算命令或者当从复杂运算控制单元接收到点加、点倍或模幂运算控制信号序列时被启动,产生模乘运算控制信号序列并提供给基本运算单元以完成模乘运算;
模加/模减控制单元在当运算命令为模加或模减运算命令或者当从复杂运算控制单元接收到点加或点倍运算控制信号序列时被启动,产生模加/模减运算控制信号序列并提供给累加器以完成模加/模减运算。
7.如权利要求4所述的ECC协处理器,在所述基本运算单元中:
乘法器响应模乘运算控制信号序列中的乘法信号来执行乘法运算并输出乘法运算结果;累加器响应模乘运算控制信号序列和模加/模减运算控制信号中的累加信号来执行累加运算并输出累加运算结果。
8.如权利要求4所述的ECC协处理器,还包括接口总线,命令/状态寄存器,译码控制单元,数据寄存器,双端口SRAM,其中:
外部控制器经接口总线将运算命令写入命令/状态寄存器,或从命令/状态寄存器中读出状态字;
译码控制单元对命令/状态寄存器中接收到的运算命令进行译码,产生相应的运算控制信号,启动复杂运算控制单元或模运算单元完成相应的运算,运算结束后通过设置命令/状态寄存器中的状态字通知外部控制器运算已经结束;
数据寄存器包括:
蒙哥马利常数寄存器MC,存储模乘运算所需的蒙哥马利常数,
模字长寄存器NLen,存储模乘、模加/模减运算的模的字长,供模乘控制单元和模加/模减控制单元控制基本运算(乘法、累加)的循环次数,
幂指数寄存器EReg,存储模幂运算所需的幂指数,供模幂控制单元产生模幂运算控制信号序列,
双端口SRAM接收并存储经从外部输入的除蒙哥马利常数、模的字长和幂指数之外所有运算输入数据,接收并存储来自基本运算单元的中间数据和结果数据,向基本运算单元提供运算输入数据,存储的各种运算的结果数据可供外部控制器读出。
9.如权利要求8所述的ECC协处理器,其中,所述幂指数寄存器EReg为一个字长,所述幂指数被按字长分段传送到EReg,外部控制器通过循环设置EReg来完成一次完整的模幂运算。
10.如权利要求9所述的ECC处理器,模幂运算支持基于费马小定理的模逆运算。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102574505A CN102279725A (zh) | 2011-09-01 | 2011-09-01 | Ecc协处理器 |
CN2011104266335A CN102609239A (zh) | 2011-09-01 | 2011-12-19 | Ecc协处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102574505A CN102279725A (zh) | 2011-09-01 | 2011-09-01 | Ecc协处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102279725A true CN102279725A (zh) | 2011-12-14 |
Family
ID=45105196
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102574505A Pending CN102279725A (zh) | 2011-09-01 | 2011-09-01 | Ecc协处理器 |
CN2011104266335A Pending CN102609239A (zh) | 2011-09-01 | 2011-12-19 | Ecc协处理器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104266335A Pending CN102609239A (zh) | 2011-09-01 | 2011-12-19 | Ecc协处理器 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN102279725A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103107879A (zh) * | 2012-12-21 | 2013-05-15 | 杭州晟元芯片技术有限公司 | 一种rsa加速器 |
CN103336680A (zh) * | 2013-06-27 | 2013-10-02 | 清华大学 | 改进的二进制左移模逆算法 |
CN104731552A (zh) * | 2013-12-23 | 2015-06-24 | 恩智浦有限公司 | 使用混合仿射雅可比坐标进行ecc点加的硬件架构和方法 |
CN104731553A (zh) * | 2013-12-23 | 2015-06-24 | 恩智浦有限公司 | 用于进行ecc点倍的优化硬件架构和方法 |
CN106371803A (zh) * | 2015-07-22 | 2017-02-01 | 华邦电子股份有限公司 | 用于蒙哥马利域的计算方法和计算装置 |
WO2017177686A1 (zh) * | 2016-04-14 | 2017-10-19 | 深圳市中兴微电子技术有限公司 | 同时实现rsa/ecc加解密算法的装置 |
CN107294719A (zh) * | 2017-06-19 | 2017-10-24 | 北京万协通信息技术有限公司 | 一种双线性对运算的加解密协处理器 |
US9929862B2 (en) | 2013-12-23 | 2018-03-27 | Nxp B.V. | Optimized hardware architecture and method for ECC point doubling using Jacobian coordinates over short Weierstrass curves |
CN109479003A (zh) * | 2016-08-26 | 2019-03-15 | 英特尔公司 | 安全椭圆曲线密码指令 |
CN110704109A (zh) * | 2019-09-30 | 2020-01-17 | 华中科技大学 | 一种椭圆曲线密码协处理器 |
WO2020037565A1 (zh) * | 2018-08-22 | 2020-02-27 | 深圳市汇顶科技股份有限公司 | 模逆运算器、模逆运算方法及安全系统 |
CN111323149A (zh) * | 2020-03-13 | 2020-06-23 | 上海申矽凌微电子科技有限公司 | 含纠正otp错误功能的温度传感器装置及otp错误的纠正方法 |
CN112436941A (zh) * | 2020-11-03 | 2021-03-02 | 海光信息技术股份有限公司 | 支持标识密码算法的协处理器、方法、芯片及电子设备 |
CN116186794A (zh) * | 2022-12-30 | 2023-05-30 | 海光信息技术股份有限公司 | 密码协处理器、密码处理方法、芯片和计算机设备 |
CN118211277A (zh) * | 2024-05-22 | 2024-06-18 | 山东航天人工智能安全芯片研究院 | 一种非对称加解密协处理器的设计电路及设计方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572021B (zh) * | 2015-01-27 | 2017-09-19 | 聚辰半导体(上海)有限公司 | 一种高效的公钥加密引擎 |
CN109284082A (zh) * | 2017-07-21 | 2019-01-29 | 深圳市中兴微电子技术有限公司 | 一种ecc和sm2通用的点运算方法及装置 |
CN114840174B (zh) * | 2022-05-18 | 2023-03-03 | 广州万协通信息技术有限公司 | 一种使用多乘法器快速实现蒙哥马利模乘的系统及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1696894B (zh) * | 2004-05-10 | 2010-04-28 | 华为技术有限公司 | 大数模乘计算乘法器 |
CN101782845B (zh) * | 2009-01-20 | 2014-11-26 | 北京华大信安科技有限公司 | 一种椭圆曲线密码的高速运算装置和方法 |
CN102043916B (zh) * | 2010-12-01 | 2012-10-03 | 戴葵 | 一种高性能可扩展公钥密码协处理器结构 |
-
2011
- 2011-09-01 CN CN2011102574505A patent/CN102279725A/zh active Pending
- 2011-12-19 CN CN2011104266335A patent/CN102609239A/zh active Pending
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103107879B (zh) * | 2012-12-21 | 2015-08-26 | 杭州晟元芯片技术有限公司 | 一种rsa加速器 |
CN103107879A (zh) * | 2012-12-21 | 2013-05-15 | 杭州晟元芯片技术有限公司 | 一种rsa加速器 |
CN103336680A (zh) * | 2013-06-27 | 2013-10-02 | 清华大学 | 改进的二进制左移模逆算法 |
CN103336680B (zh) * | 2013-06-27 | 2016-01-13 | 清华大学 | 实现二进制左移模逆算法的电路 |
US9929862B2 (en) | 2013-12-23 | 2018-03-27 | Nxp B.V. | Optimized hardware architecture and method for ECC point doubling using Jacobian coordinates over short Weierstrass curves |
CN104731552A (zh) * | 2013-12-23 | 2015-06-24 | 恩智浦有限公司 | 使用混合仿射雅可比坐标进行ecc点加的硬件架构和方法 |
CN104731553A (zh) * | 2013-12-23 | 2015-06-24 | 恩智浦有限公司 | 用于进行ecc点倍的优化硬件架构和方法 |
CN104731552B (zh) * | 2013-12-23 | 2018-11-16 | 恩智浦有限公司 | 使用混合仿射雅可比坐标进行ecc点加的硬件架构和方法 |
US9979543B2 (en) | 2013-12-23 | 2018-05-22 | Nxp B.V. | Optimized hardware architecture and method for ECC point doubling using jacobian coordinates over short weierstrass curves |
CN106371803B (zh) * | 2015-07-22 | 2018-12-25 | 华邦电子股份有限公司 | 用于蒙哥马利域的计算方法和计算装置 |
CN106371803A (zh) * | 2015-07-22 | 2017-02-01 | 华邦电子股份有限公司 | 用于蒙哥马利域的计算方法和计算装置 |
WO2017177686A1 (zh) * | 2016-04-14 | 2017-10-19 | 深圳市中兴微电子技术有限公司 | 同时实现rsa/ecc加解密算法的装置 |
CN109479003B (zh) * | 2016-08-26 | 2023-07-18 | 英特尔公司 | 用于安全椭圆曲线密码指令的处理器、系统、方法和设备 |
CN109479003A (zh) * | 2016-08-26 | 2019-03-15 | 英特尔公司 | 安全椭圆曲线密码指令 |
CN107294719A (zh) * | 2017-06-19 | 2017-10-24 | 北京万协通信息技术有限公司 | 一种双线性对运算的加解密协处理器 |
WO2020037565A1 (zh) * | 2018-08-22 | 2020-02-27 | 深圳市汇顶科技股份有限公司 | 模逆运算器、模逆运算方法及安全系统 |
CN110704109A (zh) * | 2019-09-30 | 2020-01-17 | 华中科技大学 | 一种椭圆曲线密码协处理器 |
CN111323149A (zh) * | 2020-03-13 | 2020-06-23 | 上海申矽凌微电子科技有限公司 | 含纠正otp错误功能的温度传感器装置及otp错误的纠正方法 |
CN112436941A (zh) * | 2020-11-03 | 2021-03-02 | 海光信息技术股份有限公司 | 支持标识密码算法的协处理器、方法、芯片及电子设备 |
CN116186794A (zh) * | 2022-12-30 | 2023-05-30 | 海光信息技术股份有限公司 | 密码协处理器、密码处理方法、芯片和计算机设备 |
CN116186794B (zh) * | 2022-12-30 | 2024-04-16 | 海光信息技术股份有限公司 | 密码协处理器、密码处理方法、芯片和计算机设备 |
WO2024138867A1 (zh) * | 2022-12-30 | 2024-07-04 | 海光信息技术股份有限公司 | 密码协处理器、密码处理方法、芯片和计算机设备 |
CN118211277A (zh) * | 2024-05-22 | 2024-06-18 | 山东航天人工智能安全芯片研究院 | 一种非对称加解密协处理器的设计电路及设计方法 |
CN118211277B (zh) * | 2024-05-22 | 2024-08-09 | 山东航天人工智能安全芯片研究院 | 一种非对称加解密协处理器的设计电路及设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102609239A (zh) | 2012-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102279725A (zh) | Ecc协处理器 | |
Lee et al. | Elliptic-curve-based security processor for RFID | |
US11983280B2 (en) | Protection of cryptographic operations by intermediate randomization | |
De Clercq et al. | Ultra low-power implementation of ECC on the ARM Cortex-M0+ | |
Lai et al. | Energy-adaptive dual-field processor for high-performance elliptic curve cryptographic applications | |
Kocabaş et al. | Implementation of binary Edwards curves for very-constrained devices | |
JP2006227562A (ja) | 暗号処理演算方法、および暗号処理装置、並びにコンピュータ・プログラム | |
US9588696B2 (en) | Montgomery modular multiplication-based data processing method | |
Varchola et al. | MicroECC: A lightweight reconfigurable elliptic curve crypto-processor | |
CN100579006C (zh) | 一种实现快速大素数生成的rsa加密方法 | |
JPH09274560A (ja) | べき乗剰余演算回路及びべき乗剰余演算システム及びべき乗剰余演算のための演算方法 | |
Kudithi | An efficient hardware implementation of the elliptic curve cryptographic processor over prime field | |
Marzouqi et al. | An FPGA implementation of NIST 256 prime field ECC processor | |
Seo et al. | Multi-precision multiplication for public-key cryptography on embedded microprocessors | |
US20230254145A1 (en) | System and method to improve efficiency in multiplicationladder-based cryptographic operations | |
Bosmans et al. | A tiny coprocessor for elliptic curve cryptography over the 256-bit NIST prime field | |
WO2007080825A1 (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
Wenger et al. | An 8-bit AVR-based elliptic curve cryptographic RISC processor for the internet of things | |
KR101925868B1 (ko) | 모듈러 계산 유닛 및 그것을 포함하는 보안 시스템 | |
CN113032797A (zh) | 在处理设备中执行加密操作的方法 | |
US8023645B2 (en) | Circuit arrangement for and method of performing an inversion operation in a cryptographic calculation | |
WO2017012351A1 (zh) | 一种并行计算的方法及终端 | |
CN104503730A (zh) | 一种基于指令的大数点加、倍点运算电路及实现方法 | |
Bos et al. | ECC2K-130 on cell CPUs | |
Simka et al. | Hardware factorization based on elliptic curve method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20111214 |