CN103645883A - 基于fpga的高基模乘器 - Google Patents
基于fpga的高基模乘器 Download PDFInfo
- 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
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的高基模乘器。
背景技术
在大多数非对称加密算法中,大数模乘是最基本的运算,例如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为任何值。
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)
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)
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 | 四川卫士通信息安全平台技术有限公司 | 椭圆曲线密码体制中的快速点乘算法的实现方法 |
-
2013
- 2013-12-18 CN CN201310696478.8A patent/CN103645883A/zh active Pending
Patent Citations (7)
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)
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)
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 |