CN103645883A - 基于fpga的高基模乘器 - Google Patents

基于fpga的高基模乘器 Download PDF

Info

Publication number
CN103645883A
CN103645883A CN201310696478.8A CN201310696478A CN103645883A CN 103645883 A CN103645883 A CN 103645883A CN 201310696478 A CN201310696478 A CN 201310696478A CN 103645883 A CN103645883 A CN 103645883A
Authority
CN
China
Prior art keywords
data
cbuf
multiplier
module
carry
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
Application number
CN201310696478.8A
Other languages
English (en)
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.)
Sichuan Westone Information Safe Platform Technology Co Ltd
Original Assignee
Sichuan Westone Information Safe Platform 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 Sichuan Westone Information Safe Platform Technology Co Ltd filed Critical Sichuan Westone Information Safe Platform Technology Co Ltd
Priority to CN201310696478.8A priority Critical patent/CN103645883A/zh
Publication of CN103645883A publication Critical patent/CN103645883A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种基于FPGA的高基模乘器,它包括MMM_CONTROL模块、第一乘法器、第一加法器、第二乘法器、第二加法器、Cbufupdate模块和DATA_OUT模块,数据输入MMM_CONTROL模块中,MMM_CONTROL模块的输出端分别与第一乘法器、第二乘法器和Cbufupdate模块相连,第一乘法器的输出端通过第一加法器与Cbufupdate模块相连,Cbufupdate模块通过第二乘法器与第二加法器相连,第二加法器的输出与Cbufupdate模块相连,更新Cbufupdate模块中的数据,Cbufupdate模块在每一次更新后读入一个新的Bi数据送给第一乘法器,在第一乘法器中进行Bi*Aj的运算,Cbufupdate模块通过DATA_OUT模块输出最终结果。本发明提供了一种高基、高流水度的模乘器,能根据硬件资源实现高性能、高资源比的模乘运算,且有利于实现模乘器集群。

Description

基于FPGA的高基模乘器
技术领域
本发明涉及通信、电子信息安全领域加解密算法中的功能部件,特别是涉及一种基于FPGA的高基模乘器。
背景技术
在大多数非对称加密算法中,大数模乘是最基本的运算,例如RSA(公钥加密算法)利用多次大数模乘运算实现大数的模幂运算,又如ECC(椭圆曲线加密算法)利用多次大数模乘运算实现点加、倍点等运算。大数模乘运算在RSA中占算法开销90%以上,在ECC中则占75%以上,可见模乘器的性能高低直接决定算法性能。随着电子信息近20年来的飞速发展,512位密钥长度的RSA加密算法安全性早已受到威胁,在高安全性的应用中必须将密钥长度增加到2048位;而高安全性的ECC加密算法则要求模长至少为256位。这些都对模乘器性能提出了更高的要求。
由于大整数模乘运算中运算量很大,1985 年Montgomery 提出了一种计算模乘的有效算法,其设计思想是借助一个特殊的剩余项,将普通模乘转换为易于计算的特殊模乘,即通过乘法和加法完成的模乘运算。模乘运算的首要原则就是要避免直接计算A*B。
现有的硬件蒙哥马利模乘器性能/资源消耗比较小,不利于构建蒙哥马利模乘器集群;现有的基于流水线的蒙哥马利模乘器大多采用较小的基进行运算,运算效率有限。
发明内容
本发明的目的在于克服现有技术的不足,提供一种实现高基、高流水度的基于FPGA的高基模乘器,它根据基的不同,可以通过具体的硬件资源实现高性能、高资源比的模乘运算,也有利于构建大规模的模乘器集群。
本发明的目的是通过以下技术方案来实现的:基于FPGA的高基模乘器,用于计算大数模乘式A*B %N,其中A≥0,B<N,A、B和N均为二进制无符号大数,它包括MMM_CONTROL模块、第一乘法器、第一加法器、第二乘法器、第二加法器、Cbuf update模块和DATA_OUT模块,数据输入MMM_CONTROL模块中,MMM_CONTROL模块的输出端分别与第一乘法器、第二乘法器和Cbuf update模块相连,MMM_CONTROL模块用于对输入的数据进行管理,并控制数据的模乘过程,第一乘法器用于完成Bi*Aj的运算,第一乘法器的输出端通过第一加法器与Cbuf update模块相连,第一加法器用于完成Bi*Aj与进位Carry的和运算,Cbuf update模块用于存储、更新运算结果,并控制每一次循环运算,Cbuf update模块通过第二乘法器与第二加法器相连,第二乘法器用于完成q*Nj的运算,第二加法器用于完成q*Nj与进位Carry的和运算,第二加法器的输出与Cbuf update模块相连,更新Cbuf update模块中的数据,Cbuf update模块在每一次更新后读入一个新的Bi数据送给第一乘法器,在第一乘法器中进行Bi*Aj的运算,DATA_OUT模块的输入端与Cbuf update模块的数据输出端相连,接收并处理Cbuf update模块输出的数据,产生最终结果。
所述的MMM_CONTROL模块包括DATA_IN子模块、Init子模块、Counter control子模块、A_BUF子模块和N_BUF子模块,数据A、B、N、n0通过DATA_IN子模块输入,Init子模块用于完成计数器的初始化,以及对Cbuf全部清零的命令,Counter control子模块用于控制模乘运算的启动或停止,A_BUF子模块用于存储数据A,N_BUF子模块用于存储数据N。
所述的DATA_OUT模块包括Cbuf-N子模块和比较模块,Cbuf-N子模块用于接收Cbuf update模块输出的Cbuf数据、进位Carry数据和N数据,对Cbuf数据和N数据进行借位减法操作,并在完成循环借位减法操作后产生借位数据C,比较模块用于判断进位Carry数据与借位数据C的关系,并产生最终结果。
所述的比较模块产生最终结果具体包括:①若进位Carry==1,则直接输出Cbuf数据和N数据进行借位减法所产生的结果;②若进位Carry==0且借位数据C==0,则直接输出Cbuf数据和N数据进行借位减法所产生的结果;③进位Carry==0且借位数据C==1,则直接输出Cbuf数据。
在计算大数模乘式A*B %N时,将求A*B %N转换为C'=(C'+A*B+q*N)/r,并将C'=(C'+A*B+q*N)/r分解为以下三个式子进行计算:
(1)C'=C'+A*B;
(2)C'=C'+q*N;
(3)C'= C'/r,其中q=(C'[0]+A*B[0])*m %r,r为任何值。 
本发明的有益效果是:数据采用高流水度的处理流程,每一次模乘运算中,各个乘法器和加法器几乎可以一直满负工作,资源利用率高,使得整个模乘器的性能资源比较高,有利于构建大规模的模乘器集群。 
附图说明
图1为本发明的原理框图;
图2为MMM_CONTROL模块的原理框图;
图3为DATA_OUT模块的原理框图;
图4为本发明实现流水线模乘运算的流程图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
本发明以基2^32、模长N为256位为例进行说明。本发明以32位的操作数进行数据处理,256位的数据总共需要进行8次循环处理;每次循环通过流水线的方式实现了两次大数和32 bit字的乘加操作。在计算大数模乘式A*B %N时,将求A*B %N转换为C'=(C'+A*B+q*N)/r,并将C'=(C'+A*B+q*N)/r分解为以下三个式子进行计算:
式1:C'=C'+A*B;
式2:C'=C'+q*N;
式3:C'= C'/r,其中q=(C'[0]+A*B[0])*m %r,r为任何值。
如图1所示,基于FPGA的高基模乘器,用于计算大数模乘式A*B %N,其中A≥0,B<N,A、B和N均为二进制无符号大数,它包括MMM_CONTROL模块、第一乘法器(Bi*Aj乘法器)、第一加法器、第二乘法器(q*Nj乘法器)、第二加法器、Cbuf update模块和DATA_OUT模块,数据A、B、N和n0输入MMM_CONTROL模块中,MMM_CONTROL模块的输出端分别与第一乘法器、第二乘法器和Cbuf update模块相连,MMM_CONTROL模块用于对输入的数据进行管理,并控制数据的模乘过程,即数据A、B和N的分发,以及通过i和j的值对模乘过程进行控制。通过MMM_CONTROL模块启动模乘过程以后,中间的乘法器、加法器以及Cbuf update模块便以流水线的方式对数据进行运算,即DATA_PROCESS:第一乘法器用于完成Bi*Aj的运算,第一乘法器的输出端通过第一加法器与Cbuf update模块相连,第一加法器用于完成Bi*Aj与进位Carry的和运算,Cbuf update模块用于存储、更新运算结果,并控制每一次循环运算,Cbuf update模块通过第二乘法器与第二加法器相连,第二乘法器用于完成q*Nj的运算,第二加法器用于完成q*Nj与进位Carry的和运算,第二加法器的输出与Cbuf update模块相连,更新Cbuf update模块中的数据,Cbuf update模块在每一次更新后读入一个新的Bi数据送给第一乘法器,在第一乘法器中进行Bi*Aj的运算,重复执行模乘过程,直到MMM_CONTROL模块检测到i和j达到结束限制时,控制Cbuf update模块停止对Cbuf的更新,并将Cbuf输出到DATA_OUT模块。DATA_OUT模块接收并处理Cbuf update模块输出的数据,产生最终结果,具体为:DATA_OUT模块对Cbuf和N进行比较,如果Cbuf大于N,则输出(Cbuf-N)的值,否则直接输出Cbuf。
所述的MMM_CONTROL模块主要对蒙哥马利模乘过程进行管理,包括对数据输入的管理,对数据映射的管理和对DATA_PROCESS的管理。如图2所示,MMM_CONTROL模块包括DATA_IN子模块、Init子模块、Counter control子模块、A_BUF子模块和N_BUF子模块,数据A、B、N、n0通过DATA_IN子模块输入,DATA_IN子模块通过判断LD和INIT,更新内部对数据A、B、N、n0的存储,A_BUF子模块用于存储数据A,N_BUF子模块用于存储数据N,A和N都在乘法运算中被反复利用。Init子模块用于完成计数器的初始化,以及对Cbuf全部清零的命令,Counter control子模块用于控制模乘运算的启动或停止,启动信号包括Bi和i,当检测到i==8时,Counter control子模块发出结束信号,DATA_PROCESS接收到结束信号后开始将Cbuf输出给DATA_OUT模块,至此,虽然数据还未最终输出,但是READY信号已经置高,表示已经可以输入下一组数据。
DATA_PROCESS流程的核心是对整个模乘过程进行流水线处理。由于N为256bit,以32bit字长进行计算,所以每一次循环需要进行8次式1和式2运算。如图4所示为DATA_PROCESS的流程图,虚线标注方框为完成一次式1和式2的运算,在CLK3的时候使用第二乘法器(q*Nj乘法器)计算q,所以延迟了一个时钟周期再计算q*N0。在CLK7的时候就可以输出Cbuf0,以此类推。在CLK8的时候虽然第一乘法器(Bi*Aj乘法器)已经空闲,可以计算B1*A0,但是由于第二乘法器(q*Nj乘法器)计算q延迟了一个时钟周期,所以在CLK8的时候第一乘法器(Bi*Aj乘法器)IDLE(即闲置),下面的加法器等处理过程同理。由于r=2^32,所以式3即右移32位,在此处通过一组乒乓寄存器进行更新,即Cbuf0’=Cbuf1,Cbuf1’=Cbuf2,……,Cbuf6’=Cbuf7,Cbuf7’=(qnc7+Cbuf7)[63:32],Carry=(qnc7+Cbuf7)[65:64]。
由图4可知,每一次蒙哥马利模乘过程开始时,需要9个CLK把流水线填满,而后的每一次循环需要9个CLK,总共8个循环,也就是说从CLK0开始需要72个CLK就可以开始输出Cbuf0,并在后续CLK依次输出Cbuf1、Cbuf2……至此完成一次蒙哥马利模乘的循环求积的过程。
DATA_PROCESS运算过程主要通过2个乘法器和2个加法器完成,通过Cbuf update模块内的一组乒乓寄存器(Cbuf,Cbuf’)来控制每一次循环。如图4所示,在CLK8输出的Cbuf1即被存储到Cbuf’中的Cbuf0,在CLK10中需要用的Cbuf0即为在CLK8中存储在Cbuf’中的Cbuf0。在两个循环重叠的运算过程中Cbuf和Cbuf’交替使用和更新。
DATA_PROCESS收到启动命令后就开始流水处理数据,它只需要维护好乒乓寄存器,并且在每一次更新Cbuf的时候读入一个新的Bi送给Bi*Aj乘法器。DATA_PROCESS内部维护了一个计数器,当计数器达到MMM_CONTROL启动流水处理时预置的值时变开始停止运算并输出Cbuf。以图4为例,在CLK64时停止Bi*Aj的运算,并且直接将Cbuf1输出;在CLK65时停止Bi*Aj与进位Carry的和运算,并且输出Cbuf2,以此类推。
如图3所示,所述的DATA_OUT模块主要完成对Cbuf的后处理,即如果Cbuf大于N,则DATA=Cbuf-N,即Cbuf与N的差值;否则DATA=Cbuf。DATA_OUT模块包括Cbuf-N子模块和比较模块,Cbuf-N子模块用于接收Cbuf update模块输出的Cbuf数据、进位Carry数据和N数据,对Cbuf数据和N数据进行借位减法操作,并在完成循环借位减法操作后产生借位数据C,比较模块用于判断进位Carry数据与借位数据C的关系,并产生最终结果。
DATA_OUT模块工作流程如下:接收Cbuf数据后,开始进行Cbuf-N的减法操作,最初为Cbuf0-N0,在完成了8次借位减法后,产生一个借位数据C,然后判断借位数据C与进位Carry的关系:①若进位Carry==1,则直接输出Cbuf数据和N数据进行借位减法所产生的结果,即Cbuf-N的结果;②若进位Carry==0且借位数据C==0,则直接输出Cbuf数据和N数据进行借位减法所产生的结果,即Cbuf-N的结果;③若进位Carry==0且借位数据C==1,则直接输出Cbuf数据。
基于FPGA的高基模乘器对外呈现的工作流程如下:如图1所示,当READY信号为高时,表示该高基模乘器空闲,可以进行数据输入处理;当LD和INIT同时为高时,通过A、B、N、n0输入参数和数据,经过数个时钟周期输入完成后LD和INIT同时拉低;当LD为高且INIT为低时,仅输入A和B,因为大多数情况下N和n0是不变的;模乘运算完成后开始输出数据,输出数据的时候OUT为高,数据由DATA_OUT模块通过DATA输出,经过数个时钟周期输出完成后OUT拉低,完成一次蒙哥马利模乘。在内部完成了DATA_PROCESS后,READY信号便可置高,所以并不是数据输出完成后READY信号才置高。 

Claims (5)

1.基于FPGA的高基模乘器,用于计算大数模乘式A*B %N,其中A≥0,B<N,A、B和N均为二进制无符号大数,其特征在于:它包括MMM_CONTROL模块、第一乘法器、第一加法器、第二乘法器、第二加法器、Cbuf update模块和DATA_OUT模块,数据输入MMM_CONTROL模块中,MMM_CONTROL模块的输出端分别与第一乘法器、第二乘法器和Cbuf update模块相连,MMM_CONTROL模块用于对输入的数据进行管理,并控制数据的模乘过程,第一乘法器用于完成Bi*Aj的运算,第一乘法器的输出端通过第一加法器与Cbuf update模块相连,第一加法器用于完成Bi*Aj与进位Carry的和运算,Cbuf update模块用于存储、更新运算结果,并控制每一次循环运算,Cbuf update模块通过第二乘法器与第二加法器相连,第二乘法器用于完成q*Nj的运算,第二加法器用于完成q*Nj与进位Carry的和运算,第二加法器的输出与Cbuf update模块相连,更新Cbuf update模块中的数据,Cbuf update模块在每一次更新后读入一个新的Bi数据送给第一乘法器,在第一乘法器中进行Bi*Aj的运算,DATA_OUT模块的输入端与Cbuf update模块的数据输出端相连,接收并处理Cbuf update模块输出的数据,产生最终结果。
2.根据权利要求1所述的基于FPGA的高基模乘器,其特征在于:所述的MMM_CONTROL模块包括DATA_IN子模块、Init子模块、Counter control子模块、A_BUF子模块和N_BUF子模块,数据A、B、N、n0通过DATA_IN子模块输入,Init子模块用于完成计数器的初始化,以及对Cbuf全部清零的命令,Counter control子模块用于控制模乘运算的启动或停止,A_BUF子模块用于存储数据A,N_BUF子模块用于存储数据N。
3.根据权利要求1所述的基于FPGA的高基模乘器,其特征在于:所述的DATA_OUT模块包括Cbuf-N子模块和比较模块,Cbuf-N子模块用于接收Cbuf update模块输出的Cbuf数据、进位Carry数据和N数据,对Cbuf数据和N数据进行借位减法操作,并在完成循环借位减法操作后产生借位数据C,比较模块用于判断进位Carry数据与借位数据C的关系,并产生最终结果。
4.根据权利要求3所述的基于FPGA的高基模乘器,其特征在于:所述的比较模块产生最终结果具体包括:①若进位Carry==1,则直接输出Cbuf数据和N数据进行借位减法所产生的结果;②若进位Carry==0且借位数据C==0,则直接输出Cbuf数据和N数据进行借位减法所产生的结果;③进位Carry==0且借位数据C==1,则直接输出Cbuf数据。
5.根据权利要求1所述的基于FPGA的高基模乘器,其特征在于:在计算大数模乘式A*B %N时,将求A*B %N转换为C'=(C'+A*B+q*N)/r,并将C'=(C'+A*B+q*N)/r分解为以下三个式子进行计算:
(1)C'=C'+A*B;
(2)C'=C'+q*N;
(3)C'= C'/r,其中q=(C'[0]+A*B[0])*m %r,r为任何值。
CN201310696478.8A 2013-12-18 2013-12-18 基于fpga的高基模乘器 Pending CN103645883A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310696478.8A CN103645883A (zh) 2013-12-18 2013-12-18 基于fpga的高基模乘器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310696478.8A CN103645883A (zh) 2013-12-18 2013-12-18 基于fpga的高基模乘器

Publications (1)

Publication Number Publication Date
CN103645883A true CN103645883A (zh) 2014-03-19

Family

ID=50251108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310696478.8A Pending CN103645883A (zh) 2013-12-18 2013-12-18 基于fpga的高基模乘器

Country Status (1)

Country Link
CN (1) CN103645883A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572012A (zh) * 2015-01-29 2015-04-29 东南大学 一种基于aop的多项式基gf(2227)高速模乘法器
CN106126193A (zh) * 2016-08-24 2016-11-16 四川卫士通信息安全平台技术有限公司 基于Zynq的椭圆曲线点加运算加速器及加速方法
CN107045434A (zh) * 2016-02-06 2017-08-15 京微雅格(北京)科技有限公司 一种fpga中多功能硬件专用乘法器及fpga芯片
CN110716709A (zh) * 2019-09-12 2020-01-21 无锡江南计算技术研究所 支持进位借位正常传递的多精度大整数算术运算加速单元

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1375765A (zh) * 2001-03-19 2002-10-23 深圳市中兴集成电路设计有限责任公司 一种快速大数模乘运算电路
US20040019622A1 (en) * 2001-02-16 2004-01-29 Astrid Elbe Method and apparatus for modular multiplying and calculating unit for modular multiplying
US20040215686A1 (en) * 2003-04-25 2004-10-28 Samsung Electronics Co., Ltd. Montgomery modular multiplier and method thereof using carry save addition
US20050198093A1 (en) * 2004-03-02 2005-09-08 Hee-Kwan Son Montgomery modular multiplier
CN1811698A (zh) * 2006-03-01 2006-08-02 成都卫士通信息产业股份有限公司 大数模幂系统的硬件高基实现方法
CN101122850A (zh) * 2007-09-21 2008-02-13 清华大学 基于二次Booth编码的大数乘法器
CN102393812A (zh) * 2011-09-20 2012-03-28 四川卫士通信息安全平台技术有限公司 椭圆曲线密码体制中的快速点乘算法的实现方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019622A1 (en) * 2001-02-16 2004-01-29 Astrid Elbe Method and apparatus for modular multiplying and calculating unit for modular multiplying
CN1375765A (zh) * 2001-03-19 2002-10-23 深圳市中兴集成电路设计有限责任公司 一种快速大数模乘运算电路
US20040215686A1 (en) * 2003-04-25 2004-10-28 Samsung Electronics Co., Ltd. Montgomery modular multiplier and method thereof using carry save addition
US20050198093A1 (en) * 2004-03-02 2005-09-08 Hee-Kwan Son Montgomery modular multiplier
CN1811698A (zh) * 2006-03-01 2006-08-02 成都卫士通信息产业股份有限公司 大数模幂系统的硬件高基实现方法
CN101122850A (zh) * 2007-09-21 2008-02-13 清华大学 基于二次Booth编码的大数乘法器
CN102393812A (zh) * 2011-09-20 2012-03-28 四川卫士通信息安全平台技术有限公司 椭圆曲线密码体制中的快速点乘算法的实现方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
寇文: "RSA密码芯片的FPGA实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》, no. 4, 15 April 2006 (2006-04-15) *
王冕: "快速模幂乘算法的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》, no. 6, 15 June 2007 (2007-06-15) *
葛峰等: "1024位RSA算法的FPGA设计研究", 《军事通信技术》, vol. 30, no. 1, 25 March 2009 (2009-03-25) *
薛念: "公钥密码算法研究及关键模块设计验证", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 8, 15 August 2010 (2010-08-15) *
许伟: "基于FPGA的RSA密码算法的模幂模乘的快速实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 9, 15 September 2010 (2010-09-15) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572012A (zh) * 2015-01-29 2015-04-29 东南大学 一种基于aop的多项式基gf(2227)高速模乘法器
CN107045434A (zh) * 2016-02-06 2017-08-15 京微雅格(北京)科技有限公司 一种fpga中多功能硬件专用乘法器及fpga芯片
CN107045434B (zh) * 2016-02-06 2020-06-30 京微雅格(北京)科技有限公司 一种fpga中多功能硬件专用乘法器及fpga芯片
CN106126193A (zh) * 2016-08-24 2016-11-16 四川卫士通信息安全平台技术有限公司 基于Zynq的椭圆曲线点加运算加速器及加速方法
CN110716709A (zh) * 2019-09-12 2020-01-21 无锡江南计算技术研究所 支持进位借位正常传递的多精度大整数算术运算加速单元

Similar Documents

Publication Publication Date Title
CN103176767B (zh) 一种低功耗高吞吐的浮点数乘累加单元的实现方法
CN101547089B (zh) 集成电路中素数域椭圆曲线密码算法的实现方法
CN103970720B (zh) 基于大规模粗粒度嵌入式可重构系统及其处理方法
CN103645883A (zh) 基于fpga的高基模乘器
CN103226461B (zh) 一种用于电路的蒙哥马利模乘方法及其电路
CN103761068B (zh) 优化的蒙哥马利模乘硬件
CN101599828A (zh) 一种高效的rsa加解密方法及其协处理器
CN104679474A (zh) 有限域gf(2^227)上的乘法器及模乘算法
CN104579656A (zh) 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器
CN103942031A (zh) 椭圆域曲线运算方法和椭圆域曲线运算器
CN102707924A (zh) 一种rfid智能卡芯片的rsa协处理器
CN109214213A (zh) 一种大整数模乘加算法的实现电路及方法
KR102132261B1 (ko) 비교 연산이 필요없이 최종 모듈러 감소를 하는 몽고메리 곱셈 방법 및 곱셈기
CN101630244B (zh) 一种流水线型椭圆曲线双标量乘法系统及方法
CN108259179A (zh) 一种基于sm9标识密码算法的加解密协处理器及其运算方法
CN103279323A (zh) 一种加法器
CN104407836A (zh) 利用定点乘法器进行级联乘累加运算的装置和方法
CN109144472A (zh) 一种二元扩域椭圆曲线的标量乘法及其实现电路
CN102253822A (zh) 一种模(2n-3)乘法器
CN103888246A (zh) 低功耗小面积的数据处理方法及其数据处理装置
CN102135871B (zh) 利用混沌原理产生随机数的装置及其动态口令牌
CN103944714A (zh) 基于ecc实现抗dpa攻击的标量乘算法的方法及装置
CN102646033A (zh) 模乘运算的实现方法和装置
CN103699729B (zh) 模乘法器
CN203119915U (zh) 一种基于硬件加密数据的装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140319

RJ01 Rejection of invention patent application after publication