CN109214213A - 一种大整数模乘加算法的实现电路及方法 - Google Patents

一种大整数模乘加算法的实现电路及方法 Download PDF

Info

Publication number
CN109214213A
CN109214213A CN201710512505.XA CN201710512505A CN109214213A CN 109214213 A CN109214213 A CN 109214213A CN 201710512505 A CN201710512505 A CN 201710512505A CN 109214213 A CN109214213 A CN 109214213A
Authority
CN
China
Prior art keywords
bit
multiplier
big integer
modular multiplication
logic control
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
CN201710512505.XA
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.)
Data Assurance and Communication Security Research Center of CAS
Original Assignee
Data Assurance and Communication Security Research Center of CAS
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 Data Assurance and Communication Security Research Center of CAS filed Critical Data Assurance and Communication Security Research Center of CAS
Priority to CN201710512505.XA priority Critical patent/CN109214213A/zh
Publication of CN109214213A publication Critical patent/CN109214213A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种大整数模乘加算法的实现电路及方法,设置了大整数模乘加算法单元,包括两个16比特位的乘法器、一个加法器,一个272位寄存器及一个33位寄存器,272位寄存器中存储模数M,将大整数分为高16比特位和低16比特位的大整数,采用两个乘法器和加法器,基于272位寄存器中的模数M计算得到高16比特位的大整数模乘结果缓存在33位寄存器中,采用两个乘法器和加法器计算得到低16位比特位的大整数模乘结果后,再采用加法器与33位寄存器中缓存的高16比特位的大整数模乘结果相加,实现大整数模乘加计算,实现资源复用且不会影响计算速度。

Description

一种大整数模乘加算法的实现电路及方法
技术领域
本发明涉及计算机领域中的信息安全技术,特别涉及一种大整数模乘加算法的实现电路及方法。
背景技术
公钥密码算法由于其非对称结构,在一定程度上克服了对称密码体制的不足,不仅可以应用于数据加解密,而且可以广泛应用于身份识别、密钥协商和电子支付、以及智能卡等商业安全领域。在公钥密码算法中,椭圆曲线密码(ECC)算法和公钥加密(RSA)算法是使用程度广泛的两种算法。ECC算法是是建立在椭圆曲线的离散对数问题上的,相比建立在有限域上的离散对数问题的RSA算法有更强的保密性,更加难于破解,同时ECC算法的计算量更小。虽然ECC算法的计算量比RSA算法要小,但是在采用硬件电路实现时也与RSA算法相同,非常消耗资源的。
在ECC算法的硬件电路实现中,消耗资源的模块主要包括:大整数模程模块、大整数模加模块和逻辑控制等模块,这些模块都是非常消耗资源的。其中,大整数模乘模块主要完成ECC算法中的大整数模乘运算,目前使用最广泛的模乘算分是Peter L.Montgomery在1985年提出的蒙哥马利算法,基本思路通过简化模运算中估计商的操作来提高模乘的计算效率。大整数模加模块主要完成ECC算法中的大整数模加和模减等等操作,基本的实现思路就是将大整数进行分段相加进位,用小位款的加法器实现大位宽数的加法。逻辑控制模块涉及到大位宽数据的传递控制等等,会用到大位宽的寄存器等存储逻辑控制,这些大位宽的寄存器都是十分消耗资源的。
ECC算法的硬件电路中通常运行的是嵌入式系统,而嵌入式系统资源受限,在满足一定的运算速度要求的前提下,资源消耗和功耗是主要考虑的因素。如果ECC算法的硬件电路中的运算功能模块功耗设计过高,资源消耗过大,将直接导致资源受限的嵌入式系统无法正常运行。因此,设置一种超低功耗的ECC算法的硬件电路对于嵌入式系统安全的保障是非常有意义的。
在资源受限情况下,资源复用是节省硬件电路设计资源最常用的方法,但是如何做到高效地并且可以同时保证必要的运算速度的设计架构是一个难点。资源复用的设计同时带来的一个问题就是资源使用的控制逻辑变得复杂,这会导致资源使用的增加。因此资源复用技术的使用是一个不断折中的方法,特别是实现复杂的ECC算法的硬件电路,内部有大整数模乘模块、大整数模加模块及逻辑控制等不同模块组成,设置一款超低功耗的硬件电路对于ECC算法在资源受限的嵌入式系统中的推广有很大作用。
发明内容
有鉴于此,本发明实施例提供一种大整数模乘加算法的实现电路,该实现电路可以完成ECC算法中的大整数模乘加算法,实现资源复用且不会影响计算速度。
本发明实施例还提供一种大整数模乘加算法的实现方法,该方法可以完成ECC算法中的大整数模乘加算法,实现资源复用且不会影响计算速度。。
根据上述目的,本发明是这样实现的:
一种大整数乘加算法的实现电路,包括:16比特位的第一乘法器,16比特位的第二乘法器、加法器、272位寄存器及33位寄存器,其中,
272位寄存器,用于存储模数M;
第一乘法器,用于计算大整数中的高16比特位的乘数A与因子x之间的乘积后,保存在33位寄存器中;计算大整数中的低16比特位的乘数B与因子y之间的乘积;
33位寄存器,用于存储乘数A与因子x之间的乘积;
第二乘法器,用于计算中间计算量q与模数M之间的乘法运算;
加法器,用于将33位寄存器存储的乘积、中间计算量q与模数M之间的计乘法运算结果、低16比特位的乘数B与因子y之间的乘积,及高16比特位的乘数A的模乘结果相加,得到最终结果。
所述实现电路基于以下算法实现:
设:模数为M(272-bit),基为216,(-M M′)mod 216=1,M″=(M′mod216)M,(216*17R-1)mod M=1
一种基于上述实现电路的ECC算法的硬件电路,包括:逻辑控制单元、大整数模乘加算法单元、程序ROM及转换单元,其中,
逻辑控制单元,用于将逻辑控制操作指令存储在程序ROM中,通过对程序ROM中存储的具体逻辑控制操作指令的输出,控制大整数模乘加算法单元的运算逻辑;控制转换单元;
大整数模乘加算法单元,用于根据逻辑控制操作指令,进行运算;
程序ROM,用于存储多个逻辑控制操作指令,在逻辑控制单元的指示下,输出其中的逻辑控制操作指令;
转换单元,用于在逻辑控制单元的控制下,控制外部设备与ECC算法的硬件电路中的数据交互的控制。
所述逻辑控制单元的指示使通过指针方式实现的。
一种大整数模乘加算法的实现方法,包括:
设置第一乘法器、第二乘法器、加法器、272位寄存器及33位寄存器;
采用设置的第一乘法器、第二乘法器、加法器、272位寄存器及33位寄存器实现优化后的蒙哥马利算法。
所述优化后的蒙哥马利算法为:
设:模数为M(272-bit),基为216,(-M M′)mod 216=1,M″=(M′mod216)M,(216*17R-1)mod M=1
一种基于上述方法的ECC算法的实现方法,包括:ECC算法的硬件电路中包括逻辑控制单元、大整数模乘加算法单元、程序ROM及转换单元,其中,
逻辑控制单元将逻辑控制操作指令存储在程序ROM中,通过对程序ROM中存储的具体逻辑控制操作指令的输出,控制大整数模乘加算法单元的运算逻辑;
在逻辑控制单元的控制下,转换单元控制外部设备与ECC算法的硬件电路中的数据交互的控制。
由上述方案可以看出,本发明实施例设置了大整数模乘加算法单元,包括两个16比特位的乘法器、一个加法器,一个272位寄存器及一个33位寄存器,272位寄存器中存储模数M,将大整数分为高16比特位和低16比特位的大整数,采用两个乘法器和加法器,基于272位寄存器中的模数M计算得到高16比特位的大整数模乘结果缓存在33位寄存器中,采用两个乘法器和加法器计算得到低16位比特位的大整数模乘结果后,再采用加法器与33位寄存器中缓存的高16比特位的大整数模乘结果相加,实现大整数模乘加计算,实现资源复用且不会影响计算速度。
附图说明
图1为本发明实施例提供的大整数模乘加算法的实现电路结构示意图;
图2为本发明实施例提供的ECC算法的硬件电路;
图3为本发明实施例提供的大整数乘模加算法的实现方法;
图4为本发明实施例提供的ECC算法的实现方法。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
在ECC算法中需要进行大量的大整数模乘加运算,一般通过蒙哥马利模乘算法完成,为了实现资源复用且不会影响计算速度,本发明实施例对蒙哥马利模乘算法进行优化后,采用小位宽的乘法器完成了大整数模乘计算,并且采用加法器完成了大整数模乘结果的模加或模减计算。
具体地说,本发明实施例设置了大整数模乘加算法单元,包括两个16比特位的乘法器、一个加法器,一个272位寄存器及一个33位寄存器,272位寄存器中存储模数M,将大整数分为高16比特位和低16比特位的大整数,采用两个乘法器和加法器,基于272位寄存器中的模数M计算得到高16比特位的大整数模乘结果缓存在33位寄存器中,采用两个乘法器和加法器计算得到低16位比特位的大整数模乘结果后,再采用加法器与33位寄存器中缓存的高16比特位的大整数模乘结果相加,实现大整数模乘加计算,实现资源复用且不会影响计算速度。
更进一步地,本发明实施例还设置了包括上述大整数模乘加算法单元的ECC算法的硬件电路,还包括有逻辑控制单元、程序ROM及转换单元,其中,逻辑控制单元将逻辑控制操作指令存储在程序ROM中,通过对程序ROM中存储的具体逻辑控制操作指令的输出,控制大整数模乘加算法单元的运算逻辑,转换单元控制外部设备与ECC算法的硬件电路中的数据交互的控制,其的逻辑控制也来自于逻辑控制单元。
蒙哥马利的算法如下所示:
设:模数为M,基为2k,首先预计算M′和M″满足:(-M M′)mod 2k=1,M″=(M′mod 2k)M,(2kn R-1)mod M=1//M’只是计算M”所需的中间计算结果,M”才是直接用于运算所需的预计算结果
可以看出,在蒙哥马利的算法中,迭代循环过程的计算量很大,因此,本发明实施例对迭代循环过程进行分解,并另k=16,适合16比特位宽的乘法器。同样地,将模乘中的另一个乘数A分解为:将上述算法中步骤L2分解成为如下所示算法中的循环L21~L41。
具体算法实现如下:
设:模数为M(272-bit),基为216,(-M M′)mod 216=1,M″=(M′mod216)M,(216*17R-1)mod M=1
由于在上述L31步骤中,有2个乘法运算和1个加法运算,因此在大整数模乘的计算单元中实现中使用2个16比特位的乘法器和一个4输入的加法器,这样可以使得L31步骤中乘法进行并行运算,从而一定程度上提高计算单元的运算速度。利用改进的算法,可以在18*17个时钟周期内完成一个大整数的模乘运算。
基于上述的计算,本发明实施例设置大整数模乘加算法单元,完成ECC算法中的大整数模乘加运算,即完成xA+xB的运算,其中A和B为大整数,x和y为16比特的因子,分别作为大整数A和大整数B的系数,将上述算法中的步骤L1、L21、L31、L41及L5的步骤修改为:
其中breg为存储bi或存储ai的寄存器,q对应qi,为中间计算量,在模加运算中将q强制置零,通过步骤L1~L5计算得到xA,结果缓存在Si+1寄存器中,也就是RAM中,步骤L6~L9计算了yB,同时将其与缓存的RAMxA相加,从而最终计算得到xA+yB。
图1为本发明实施例提供的大整数模乘加算法的实现电路结构示意图,包括:16比特位的第一乘法器,16比特位的第二乘法器、加法器、272位寄存器及33位寄存器,其中,
272位寄存器,用于存储模数M;
第一乘法器,用于计算大整数中的高16比特位的乘数A与因子x之间的乘积后,保存在33位寄存器中;计算大整数中的低16比特位的乘数B与因子y之间的乘积;
33位寄存器,用于存储乘数A与因子x之间的乘积;
第二乘法器,用于计算中间计算量q与模数M之间的乘法运算;
加法器,用于将33位寄存器存储的乘积、中间计算量q与模数M之间的计乘法运算结果、低16比特位的乘数B与因子y之间的乘积,及高16比特位的乘数A的模乘结果相加,得到最终结果。
在本发明实施例中,采用图1所述的计算单元实现大整数的模乘加算法,具体为:
设:模数为M(272-bit),基为216,(-M M′)mod 216=1,M″=(M′mod216)M,(216*17R-1)mod M=1
在该方法中,可以将q设置为0;
基于图1所示的计算单元,本发明实施例还提供了ECC算法的硬件电路,如图2所示,图2为本发明实施例提供的ECC算法的硬件电路,包括:逻辑控制单元、大整数模乘加算法单元、程序ROM及转换单元,其中,
逻辑控制单元,用于将逻辑控制操作指令存储在程序ROM中,通过对程序ROM中存储的具体逻辑控制操作指令的输出,控制大整数模乘加算法单元的运算逻辑;控制转换单元;
大整数模乘加算法单元,用于根据逻辑控制操作指令,进行运算;
程序ROM,用于存储多个逻辑控制操作指令,在逻辑控制单元的指示下,输出其中的逻辑控制操作指令;
转换单元,用于在逻辑控制单元的控制下,控制外部设备与ECC算法的硬件电路中的数据交互的控制。
在该结构中,所述逻辑控制单元的指示使通过指针方式实现的。
图3为本发明实施例提供的大整数乘模加算法的实现方法,其具体步骤为:
步骤301、设置第一乘法器、第二乘法器、加法器、272位寄存器及33位寄存器;
步骤302、采用步骤301的设置实现优化后的蒙哥马利算法;
在本步骤中,所述优化后的蒙哥马利算法为:
设:模数为M(272-bit),基为216,(-M M′)mod 216=1,M″=(M′mod216)M,(216*17R-1)mod M=1
其中的q设置为0。
图4为本发明实施例提供的ECC算法的实现方法。其具体步骤为:ECC算法的硬件电路中包括逻辑控制单元、大整数模乘加算法单元、程序ROM及转换单元,其中,
步骤401、逻辑控制单元将逻辑控制操作指令存储在程序ROM中,通过对程序ROM中存储的具体逻辑控制操作指令的输出,控制大整数模乘加算法单元的运算逻辑;
步骤402、在逻辑控制单元的控制下,转换单元控制外部设备与ECC算法的硬件电路中的数据交互的控制。
在该方法中,所述逻辑控制操作指令为点加、倍点、域变换或坐标变换等路基控制操作指令。
在该方法中,为了防止对于ECC算法的硬件电路的攻击,可以在进行点乘运算时,引入倍点,点加顺序执行的路基控制操作指令,虽然引入的这些逻辑控制指令在一定程度上减低了速度,但是可以更好地抵抗攻击。
采用本发明的计算单元就可以输出xA+yB的计算结果,其中当y为负数时,xA+yB的操作就是减法操作,减去一个数,相当于加上这个数的补码再加1,因此减法可以转化成加法进行运算。对应减法,根据符号位判断减法得到的数是否为负数,如果是负数,则加上模数M,直到得到的数为整数为止,这时候得到的正数范围肯定在(0,M)之间。
本发明提供的ECC算法的硬件电路及方法已经在嵌入式系统中实现,比如诸如赛灵思xc3s100e-5vq100FPGA平台上实现,得到的工作频率最高为63.677兆赫兹,完成一次签名运算需要的时钟数为83万个时钟周期,这样该ECC算法的硬件电路在其最高工作频率63.677MHZ下的签名速度为76次/秒,因此ECC算法的硬件电路的资源消耗率是极低的,同时能满足嵌入式系统下的ECC算法的运算速度要求。
以上举较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种大整数乘加算法的实现电路,其特征在于,包括:16比特位的第一乘法器,16比特位的第二乘法器、加法器、272位寄存器及33位寄存器,其中,
272位寄存器,用于存储模数M;
第一乘法器,用于计算大整数中的高16比特位的乘数A与因子x之间的乘积后,保存在33位寄存器中;计算大整数中的低16比特位的乘数B与因子y之间的乘积;
33位寄存器,用于存储乘数A与因子x之间的乘积;
第二乘法器,用于计算中间计算量q与模数M之间的乘法运算;
加法器,用于将33位寄存器存储的乘积、中间计算量q与模数M之间的计乘法运算结果、低16比特位的乘数B与因子y之间的乘积,及高16比特位的乘数A的模乘结果相加,得到最终结果。
2.如权利要求1所述的实现电路,其特征在于,所述实现电路基于以下算法实现:
设:模数为M(272-bit),基为216,(-M M′)mod 216=1,M″=(M′mod 216)M,(216*17 R-1)modM=1
3.一种基于权利要求1或2所述的实现电路的ECC算法的硬件电路,其特征在于,包括:逻辑控制单元、大整数模乘加算法单元、程序ROM及转换单元,其中,
逻辑控制单元,用于将逻辑控制操作指令存储在程序ROM中,通过对程序ROM中存储的具体逻辑控制操作指令的输出,控制大整数模乘加算法单元的运算逻辑;控制转换单元;
大整数模乘加算法单元,用于根据逻辑控制操作指令,进行运算;
程序ROM,用于存储多个逻辑控制操作指令,在逻辑控制单元的指示下,输出其中的逻辑控制操作指令;
转换单元,用于在逻辑控制单元的控制下,控制外部设备与ECC算法的硬件电路中的数据交互的控制。
4.如权利要求3所述的硬件电路,其特征在于,所述逻辑控制单元的指示使通过指针方式实现的。
5.一种大整数模乘加算法的实现方法,其特征在于,包括:
设置第一乘法器、第二乘法器、加法器、272位寄存器及33位寄存器;
采用设置的第一乘法器、第二乘法器、加法器、272位寄存器及33位寄存器实现优化后的蒙哥马利算法。
6.如权利要求5所述的实现方法,其特征在于,所述优化后的蒙哥马利算法为:
设:模数为M(272-bit),基为216,(-M M′)mod 216=1,M″=(M′mod 216)M,(216*17R-1)mod M=1
7.一种基于权利要求5所述的方法的ECC算法的实现方法,其特征在于,包括:ECC算法的硬件电路中包括逻辑控制单元、大整数模乘加算法单元、程序ROM及转换单元,其中,
逻辑控制单元将逻辑控制操作指令存储在程序ROM中,通过对程序ROM中存储的具体逻辑控制操作指令的输出,控制大整数模乘加算法单元的运算逻辑;
在逻辑控制单元的控制下,转换单元控制外部设备与ECC算法的硬件电路中的数据交互的控制。
CN201710512505.XA 2017-06-29 2017-06-29 一种大整数模乘加算法的实现电路及方法 Pending CN109214213A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710512505.XA CN109214213A (zh) 2017-06-29 2017-06-29 一种大整数模乘加算法的实现电路及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710512505.XA CN109214213A (zh) 2017-06-29 2017-06-29 一种大整数模乘加算法的实现电路及方法

Publications (1)

Publication Number Publication Date
CN109214213A true CN109214213A (zh) 2019-01-15

Family

ID=64960591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710512505.XA Pending CN109214213A (zh) 2017-06-29 2017-06-29 一种大整数模乘加算法的实现电路及方法

Country Status (1)

Country Link
CN (1) CN109214213A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365481A (zh) * 2019-07-04 2019-10-22 上海交通大学 加速国密sm2算法的优化实现系统及方法
CN113761822A (zh) * 2020-06-04 2021-12-07 熵码科技股份有限公司 采用迭代计算的模数运算电路
TWI785954B (zh) * 2021-12-30 2022-12-01 新唐科技股份有限公司 節省進位加法器、安全加法器以及執行安全節省進位加法的方法
WO2023071780A1 (en) * 2021-10-29 2023-05-04 International Business Machines Corporation Fused modular multiply and add operation
CN117453291A (zh) * 2023-10-26 2024-01-26 上海合芯数字科技有限公司 一种指令转换系统、方法、处理器芯片和计算机设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942028A (zh) * 2014-04-15 2014-07-23 中国科学院数据与通信保护研究教育中心 应用在密码技术中的大整数乘法运算方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942028A (zh) * 2014-04-15 2014-07-23 中国科学院数据与通信保护研究教育中心 应用在密码技术中的大整数乘法运算方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUAN MA等: "Low-Cost Hardware Implementation of Elliptic Curve Cryptography for General Prime Fields", 《INTERNATIONAL CONFERENCE ON INFORMATION AND COMMUNICATIONS SECURITY》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365481A (zh) * 2019-07-04 2019-10-22 上海交通大学 加速国密sm2算法的优化实现系统及方法
CN113761822A (zh) * 2020-06-04 2021-12-07 熵码科技股份有限公司 采用迭代计算的模数运算电路
WO2023071780A1 (en) * 2021-10-29 2023-05-04 International Business Machines Corporation Fused modular multiply and add operation
TWI785954B (zh) * 2021-12-30 2022-12-01 新唐科技股份有限公司 節省進位加法器、安全加法器以及執行安全節省進位加法的方法
CN117453291A (zh) * 2023-10-26 2024-01-26 上海合芯数字科技有限公司 一种指令转换系统、方法、处理器芯片和计算机设备

Similar Documents

Publication Publication Date Title
CN109214213A (zh) 一种大整数模乘加算法的实现电路及方法
CN101521504B (zh) 一种用于低功耗加密系统的可逆逻辑单元的实现方法
CN101867474B (zh) 数字签名方法
CN103903047B (zh) 一种适用于rfid安全通信的椭圆曲线加密协处理器
CN101834723A (zh) 一种rsa算法及其ip核
CN101097511A (zh) 使用折叠的模归约
CN100428140C (zh) 椭圆曲线密码体制协处理器的实现方法
Liu et al. Design and implementation of an ECC-based digital baseband controller for RFID tag chip
CN103942031A (zh) 椭圆域曲线运算方法和椭圆域曲线运算器
CN105471855A (zh) 一种用于电子标签快速身份鉴别的低功耗椭圆曲线加密引擎
CN110704109B (zh) 一种椭圆曲线密码协处理器
Harb et al. FPGA implementation of the ECC over GF (2m) for small embedded applications
Qiu et al. Implementing RSA for sensor nodes in smart cities
KR20030051992A (ko) 아이씨카드용 알에스에이 암호 연산 장치
US20090268900A1 (en) Signed montgomery arithmetic
Zhang et al. {FLASH}: Towards a high-performance hardware acceleration architecture for cross-silo federated learning
Hu et al. A high speed processor for elliptic curve cryptography over NIST prime field
CN109889328A (zh) 基于直接匿名证明的装置和方法
CN200990078Y (zh) 快速rsa密码和大数模指数运算的电路
CN101183945A (zh) 基于旁路算子的椭圆曲线抗旁路攻击方法
Rashid et al. A Flexible Architecture for Cryptographic Applications: ECC and PRESENT
KR102241252B1 (ko) 모듈러 연산 방법, 장치 및 시스템
Seo et al. MoTE-ECC based encryption on MSP430
CN113467752A (zh) 用于隐私计算的除法运算装置、数据处理系统及方法
CN106775575B (zh) 基于二次剩余的低成本rfid认证协议的乘法器

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190115

RJ01 Rejection of invention patent application after publication