CN111694542A - 一种用于数论变换乘法的基16运算电路 - Google Patents

一种用于数论变换乘法的基16运算电路 Download PDF

Info

Publication number
CN111694542A
CN111694542A CN202010371552.9A CN202010371552A CN111694542A CN 111694542 A CN111694542 A CN 111694542A CN 202010371552 A CN202010371552 A CN 202010371552A CN 111694542 A CN111694542 A CN 111694542A
Authority
CN
China
Prior art keywords
operand
operands
bit
equal
module
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
Application number
CN202010371552.9A
Other languages
English (en)
Other versions
CN111694542B (zh
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.)
Zhongke Yuda Beijing Technology Co ltd
Original Assignee
Changshu Institute of Technology
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 Changshu Institute of Technology filed Critical Changshu Institute of Technology
Priority to CN202010371552.9A priority Critical patent/CN111694542B/zh
Publication of CN111694542A publication Critical patent/CN111694542A/zh
Application granted granted Critical
Publication of CN111694542B publication Critical patent/CN111694542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/503Half or full adders, i.e. basic adder cells for one denomination using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal
    • 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
    • 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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种用于数论变换乘法的基16运算电路,包括16个操作数生成模块,对16个输入数据的每一个进行高位填零后以12比特为一个字分割为6个字,合并输出1路16个96比特操作数、12路6个192比特操作数3路8个192比特操作数,每个操作数生成模块连接一个操作数模加模块,对每个操作数生成模块的输出的操作数进行模加;模p模块,将每个操作数模加模块输出的数据对质数p取模输出,质数p=264‑232+1。本发明将操作数从现有技术的256个合并到112个,大幅减小了计算开销,提高了基16运算的计算效率。

Description

一种用于数论变换乘法的基16运算电路
技术领域
本发明涉及一种运算电路,特别是涉及一种用于数论变换乘法的基16运算电路。
背景技术
大整数乘法除了传统的长乘法,还有
Figure BDA0002478472670000011
-Strassen算法。
Figure BDA0002478472670000012
-Strassen算法的核心思想是:对两个长度为n的大整数分别做一次环上的FFT,转换为频域分布;对两个整数的频域分布做点乘,得到乘积的频域分布;对乘积的频域分布做一次环上的IFFT,由此得到乘积。使用数论变换而不是离散傅立叶变换,可以通过使用模块化算术而不是浮点算术来避免舍入误差问题。数论变换乘法特指
Figure BDA0002478472670000013
-Strassen算法中使用数论变换的乘法。数论变换和逆数论变换作为数论变换乘法中的运算核心,占据了NTT乘法中90%以上的运算量和运算时间,优化数论变换的速度、面积和功耗,对于NTT乘法的整体性能,具有关键性的影响。
一个1048576点的数论变换可以被分解成5级基16运算单元和旋转因子乘法的运算。其中旋转因子的计算可以事先计算好并存于ROM中,需要使用时直接读取即可。基16运算的计算量占数论变换的90%以上,它的优化对数论变换的效率至关重要。
大整数乘法器FPGA设计与实现,谢星等,电子与信息学报,2019年。该论文描述了一种基于
Figure BDA0002478472670000014
-Strassen算法的大整数乘法器硬件架构。论文将65536点的数论变换,分解成64点与1024点的形式,1024点数论变换使用2级基32运算串行构建的结构。其基32运算包括32个移位单元和树形大数求和处理单元。论文所采用的“0”填充的方式,使得每个树形大数求和处理单元,需要处理32个192位的数据,整个基32运算需要处理32*32=1024个操作数。该基32运算电路效率不够高,导致电路实现后所需的功耗和资源比较大。
发明内容
针对上述现有技术的缺陷,本发明提供了一种用于数论变换乘法的基16运算电路,解决基16运算电路功耗及资源开销大的问题。
本发明技术方案如下:一种用于数论变换乘法的基16运算电路,包括:
操作数生成模块,设有16个,16个操作数生成模块编号为Xk,k=0,1,2,...,15,每个所述操作数生成模块包括分割电路、合并电路和填充零电路,所述分割电路对16个输入数据的每一个进行高位填零后以12比特为一个字分割为6个字,分割后的输入数据为xn,m,0≤n<16,0≤m<6,所述合并电路将所述分割为16×6个字的输入数据形成操作数输出,16个所述输出操作数生成模块的所述分割电路中1个输出为16个96比特操作数、12个输出为6个192比特操作数以及3个输出为8个192比特操作数输出,所述填充零电路将所述合并电路输出操作数时的空位填入“0”;
操作数模加模块,对每个所述操作数生成模块的输出的操作数进行模加;
以及,
模p模块,实现将每个所述操作数模加模块输出的数据对质数p取模后输出,所述质数p=264-232+1。
进一步地,所述输出为16个96比特操作数的操作数生成模块编号为X0,每个96比特操作数的后6个字为输入的数据,前2个字被分配为零。
进一步地,所述输出为6个192比特操作数的操作数生成模块编号为Xk,k为奇数,每个操作数OPm由32个不同的输入数据xn,m,0≤n<16,使用相同的字索引m,0≤m<6合并而成,xn,m的最低位在OPm中的位置,是由12×(m+nk)(mod 192)计算所得。
进一步地,所述输出为8个192比特操作数的操作数生成模块编号为X4、X8和X12,8个操作数分为4组,每组2个操作数,OP0和OP1是一组,OP2和OP3是一组,以此类推,每组内的操作数OP2j和OP2j+1由24个不同的输入数据xn,m,4j≤n≤4j+3,0≤m<6合并而成,xn,m的最低位在OP2j和OP2j+1中的位置,是由12×(m+nk)(mod 192)计算所得,xn,m优先置于OP2j中,如OP2j中该位置已经被占用,则置于OP2j+1中对应的位置。
进一步地,所述输出为6个192比特操作数的操作数生成模块编号为除X0、X4、X8和X16外的Xk,k为偶数,6个操作数分为2组,OP0至OP2是一组,OP3至OP5是一组,每组内的操作数OP3j至OP3j+2由48个不同的输入数据xn,m,8j≤n≤8j+7,0≤m<6合并而成,xn,m的最低位在OP3j至OP3j+2中的位置,是由12×(m+nk)(mod 192)计算所得,xn,m以2个字为周期合并操作数,优先置于OP3j至OP3j+2中索引号较小的OP中。
本发明所提供的技术方案的优点在于:
利用操作数移位后的“零填充”的空位,合并数论变换乘法中基16运算的操作数,将操作数从现有技术的256个合并到112个,大幅减小了计算开销,提高了基16运算的计算效率。
附图说明
图1为本发明用于数论变换乘法的基16运算电路的总体结构示意图。
图2为操作数生成模块中分割电路对输入数据填充零分割方法示意图。
图3为操作数生成模块中分割电路示意图。
图4为X0操作数生成模块的合并电路得到的输出数据示意图。
图5为X0操作数生成模块的合并电路示意图。
图6为X1操作数生成模块的合并电路合并后的操作数。
图7为X1操作数生成模块中0号操作数OP0的合并电路。
图8为X3操作数生成模块的合并电路合并后的操作数。
图9为X4操作数生成模块的合并电路合并后的操作数。
图10为X2操作数生成模块的合并电路合并后的操作数。
图11为16操作数模加模块的电路示意图。
图12为6操作数模加模块的电路示意图。
图13为8操作数模加模块的电路示意图。
具体实施方式
下面结合实施例对本发明作进一步说明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等同形式的修改均落于本申请所附权利要求所限定的范围内。
基16运算的公式如下
Figure BDA0002478472670000031
其中,0≤k<16,p是质数,W16是第16个单位根。
在质数p为Solinas质数,p=264-232+1。该质数支持高效的取模操作:2192mod p=1,296mod p=-1,264mod p=232-1。利用该质数计算得到的单位根W16=212是2的幂次方的特性,可以将以上的乘加运算,方便地转换为移位和模加运算,降低数论变换的计算复杂性。由此,基16运算可以写成
Figure BDA0002478472670000032
将每个xn以12比特为一个基本单位,分成6个字,称为xn,m,0≤m<6。xn可以表示为
Figure BDA0002478472670000033
其中m表示第m个字,xn的数据宽度是64比特,xn,m的数据宽度是12比特,xn,5的有效数据位是4比特。将输入数据分割后,基16运算可以写成以下公式,利用“0填充”可以合并移位后的操作数,减少模加的运算操作数。
Figure BDA0002478472670000041
请结合图1所示,本实施例涉及的一种用于数论变换乘法的基16运算电路,包括X0至X15共16个操作数生成模块、操作数模加模块和模p模块,其中操作数模加模块根据输入操作数的数量不同分为16操作数模加模块,6操作数模加模块,8操作数模加模块。电路结构上输入的16个64位比特数据作为每一个操作数生成模块的输入,每个操作数生成模块后连接操作数模加模块,每个操作数模加模块后连接模p模块。
操作数生成模块包括分割电路、合并电路和填充零电路,依次对输入的16个64位比特数据进行分割、合并、填充零处理,形成操作数。请结合图2及图3所示,分割电路将每个64比特输入数据xn的最高8比特填充0,形成72比特数据,然后分割成6个字,每个字包含12比特,第6个字因为最高8比特填充0,所以有效数据位是4比特。数据分割能够很容易的用现有硬件实现,几乎没有硬件开销。
以Xk,k=0,1,2,...,15对操作数生成模块编号,每个操作数生成模块中的合并电路不同,但可以按照类型分成4组,每组内的电路相似。
组一:X0,共1个;组二:X1、X3、X5等k为奇数的,共8个;组三:X4、X8和X12,共3个;组四:除组一和组三外的k为偶数的,有X2、X6、X10、X14,共4个。
以下分组解释每组的数据合并操作:
组一,即X0操作数生成模块的合并电路。
操作数实际上是对齐的输入数据。换句话说,每个操作数都是从分割电路输出数据的6个连续字中派生得出的。合并电路输出为16个96比特的操作数,每个新的96比特操作数由8个字组成,后6个字为输入的数据,前2个字被分配为零。如图4所示,j号操作数OPj有96比特,是将xn置于低72位,高24位填充零得到的,合并电路如图5所示。
组二,X1、X3、X5等奇数操作数生成模块的合并电路。
对于k为奇数的Xk操作数生成模块的合并电路,输入是16个64比特输入数据,输出是6个192比特操作数。每个操作数OPm由16个不同的数据xn,m,0≤n<16,使用相同的字索引m,0≤m<6合并而成。xn,m的最低位在OPm中的位置,是由12×(m+nk)(mod 192)计算所得。以下以X1和X3为例说明输出的操作数构成:
X1操作数生成模块的合并电路合并后的操作数,如图6所示。合并后共有6个操作数,每个操作数由16个不同的数据xn,m,0≤n<16,使用相同的字索引m,0≤m<6合并而成。x0,0的最低位在OP0中的位置为12×(0+0×1)(mod 192)=0,x1,0的最低位在OP0中的位置为12×(0+1×1)(mod 192)=12,而x0,1的最低位在OP1中的位置为12×(1+0×1)(mod 192)=12,x15,1的最低位在OP1中的位置为12×(1+15×1)(mod 192)=0。X1操作数生成模块中0号操作数OP0的合并电路如图7所示。
X3操作数生成模块的合并电路合并后的操作数,如图8所示。x0,0的最低位在OP0中的位置为12×(0+0×3)(mod 192)=0,x1,0的最低位在OP0中的位置为12×(0+1×3)(mod192)=36,而x0,1的最低位在OP1中的位置为12×(1+0×3)(mod 192)=12,x15,1的最低位在OP1中的位置为12×(1+15×3)(mod 192)=168。
其余的操作数生成模块的合并电路输出的操作数依次类推。
组三,X4、X8和X12操作数生成模块的合并电路。
输入是16个64比特输入数据,输出是8个192比特操作数。8个操作数分为4组,每组2个操作数,OP0和OP1是一组,OP2和OP3是一组,以此类推。每组内的操作数OP2j和OP2j+1由24个不同的数据xn,m,4j≤n≤4j+3,0≤m<6合并而成。xn,m的最低位在OP2j和OP2j+1中的位置,是由12×(m+nk)(mod 192)计算所得。xn,m优先置于OP2j中,如OP2j中该位置已经被占用,则置于OP2j+1中对应的位置。其余的空位全部填“0”。以X4操作数生成模块的合并电路输出数据为例,如图9所示,有4组操作数,每组包括2个合并后的操作数。每个新的192位操作数由16个字组成,它们来自4个不同的输入数据。
组四,除组一和组三外的偶数操作数生成模块
对于k为除0、4、8或12以外的偶数,即k为2、6、10、14的Xk操作数生成模块的合并电路,输入是16个64比特输入数据,输出是6个192比特操作数。6个操作数分为2组,每组3个操作数,OP0至OP2是一组,OP3至OP5是一组。每组内的操作数OP3j至OP3j+2由48个不同的数据xn,m,8j≤n≤8j+7,0≤m<6合并而成。xn,m的最低位在OP3j至OP3j+2中的位置,是由12×(m+nk)(mod 192)计算所得。xn,m以2个字为周期合并操作数,优先置于OP3j至OP3j+2中索引号较小的OP中。其余的空位全部填“0”。以X2操作数生成模块的合并电路输出数据为例,如图9所示,有2组操作数,每组包括3个合并后的操作数。第一组包含了OP0至OP2;第二组包括OP3至OP5。每个新的192位操作数由16个字组成,它们来自8个不同的输入数据,每个输入数据提供2个连续的字。
根据上述不同组的操作数生成模块得到操作数数量不同,操作数模加模块包括16操作数模加模块,6操作数模加模块,8操作数模加模块。
16操作数模加模块如图11所示,其中CSA表示保留进位加法器,CPA表示行波进位加法器,“<<1”表示将保留进位加法器的进位端(Carry端)向左移位1比特。16个操作数中保留4i,i=1,2,3,4位置的操作数,其余的操作数每三个输入第一层CSA;第一层CSA的进位端向左移位1比特与其和数端及4i,i=1,2,3,4位置的操作数输入第二层CSA;将每两个第二层CSA的和数端及其中一个第二层CSA的进位端向左移位1比特输入第三层CSA;第三层CSA的进位端向左移位1比特、第三层CSA的和数端及每两个第二层CSA中另一个第二层CSA的进位端向左移位1比特输入第四层CSA;第四层CSA共两个CSA,将第二个CSA的进位端向左移位1比特、第二个CSA的和数端及第一个CSA的和数端输入第五层CSA(共1个);第五层的CSA进位端向左移位1比特、和数端以及第四层第一个CSA的进位端向左移位1比特输入第六层CSA;第六层的CSA进位端向左移位1及和数端输入CPA,结果再输入模加模块。模加模块实现将输入的193比特宽度数据,实现低192位数据与第193位数据相加操作,输出结果与输入数据对质数p同余。
6操作数模加模块如图12所示,其中CSA表示保留进位加法器,CPA表示行波进位加法器,“ROL 1-bit”表示将保留进位加法器的进位端(Carry端)向左循环移位1比特。6个操作数每三个输入第一层CSA(共两个),将第一个CSA的和数端、第二个CSA的进位端向左循环移位1比特、第二个CSA的和数端输入第二层CSA;第二层CSA的进位端向左循环移位1比特、第二层CSA的和数端及第一层第一个CSA的进位端向左循环移位1输入第三层CSA;第三层的CSA进位端向左循环移位1比特及其和数端输入CPA,结果再输入模加模块。模加模块实现将输入的193比特宽度数据,实现低192位数据与第193位数据相加操作,输出结果与输入数据对质数p同余。
8操作数模加模块如图13所示,其中CSA表示保留进位加法器,CPA表示行波进位加法器,“ROL 1-bit”表示将保留进位加法器的进位端(Carry端)向左循环移位1比特。8个操作数中保留第4、8位置的操作数,其余的操作数每三个输入第一层CSA;第一层CSA的进位端向左循环移位1比特与其和数端及4i,i=1,2位置的操作数输入第二层CSA;将第二层第一个CSA的和数端、第二个CSA的进位端向左循环移位1比特、第二个CSA的和数端输入第三层CSA;第三层CSA的进位端向左循环移位1比特、第三层CSA的和数端及第二层第一个CSA的进位端向左循环移位1输入第四层CSA;第四层的CSA进位端向左循环移位1比特及其和数端输入CPA,结果再输入模加模块。模加模块实现将输入的193比特宽度数据,实现低192位数据与第193位数据相加操作,输出结果与输入数据对质数p同余。
模p模块实现对输入的数据对质数p取模。

Claims (5)

1.一种用于数论变换乘法的基16运算电路,其特征在于,操作数生成模块,设有16个,16个操作数生成模块编号为Xk,k=0,1,2,...,15,每个所述操作数生成模块包括分割电路、合并电路和填充零电路,所述分割电路对16个输入数据的每一个进行高位填零后以12比特为一个字分割为6个字,分割后的输入数据为xn,m,0≤n<16,0≤m<6,所述合并电路将所述分割为16×6个字的输入数据形成操作数输出,16个所述输出操作数生成模块的所述分割电路中1个输出为16个96比特操作数、12个输出为6个192比特操作数以及3个输出为8个192比特操作数输出,所述填充零电路将所述合并电路输出操作数时的空位填入“0”;
操作数模加模块,对每个所述操作数生成模块的输出的操作数进行模加;
以及,
模p模块,实现将每个所述操作数模加模块输出的数据对质数p取模后输出,所述质数p=264-232+1。
2.根据权利要求1所述的用于数论变换乘法的基16运算电路,其特征在于,所述输出为16个96比特操作数的操作数生成模块编号为X0,每个96比特操作数的后6个字为输入的数据,前2个字被分配为零。
3.根据权利要求1所述的用于数论变换乘法的基16运算电路,其特征在于,所述输出为6个192比特操作数的操作数生成模块编号为Xk,k为奇数,每个操作数OPm由16个不同的输入数据xn,m,0≤n<16,使用相同的字索引m,0≤m<6合并而成,xn,m的最低位在OPm中的位置,是由12×(m+nk)(mod 192)计算所得。
4.根据权利要求1所述的用于数论变换乘法的基16运算电路,其特征在于,所述输出为8个192比特操作数的操作数生成模块编号为X4、X8和X12,8个操作数分为4组,每组2个操作数,OP0和OP1是一组,OP2和OP3是一组,以此类推,每组内的操作数OP2j和OP2j+1由24个不同的输入数据xn,m,4j≤n≤4j+3,0≤m<6合并而成,xn,m的最低位在OP2j和OP2j+1中的位置,是由12×(m+nk)(mod 192)计算所得,xn,m优先置于OP2j中,如OP2j中该位置已经被占用,则置于OP2j+1中对应的位置。
5.根据权利要求1所述的用于数论变换乘法的基16运算电路,其特征在于,所述输出为6个192比特操作数的操作数生成模块编号为除X0、X4、X8和X12外的Xk,k为偶数,6个操作数分为2组,OP0至OP2是一组,OP3至OP5是一组,每组内的操作数OP3j至OP3j+2由48个不同的输入数据xn,m,8j≤n≤8j+7,0≤m<6合并而成,xn,m的最低位在OP3j至OP3j+2中的位置,是由12×(m+nk)(mod 192)计算所得,xn,m以2个字为周期合并操作数,优先置于OP3j至OP3j+2中索引号较小的OP中。
CN202010371552.9A 2020-05-06 2020-05-06 一种用于数论变换乘法的基16运算电路 Active CN111694542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010371552.9A CN111694542B (zh) 2020-05-06 2020-05-06 一种用于数论变换乘法的基16运算电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010371552.9A CN111694542B (zh) 2020-05-06 2020-05-06 一种用于数论变换乘法的基16运算电路

Publications (2)

Publication Number Publication Date
CN111694542A true CN111694542A (zh) 2020-09-22
CN111694542B CN111694542B (zh) 2021-12-07

Family

ID=72476992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010371552.9A Active CN111694542B (zh) 2020-05-06 2020-05-06 一种用于数论变换乘法的基16运算电路

Country Status (1)

Country Link
CN (1) CN111694542B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870438A (zh) * 2014-02-25 2014-06-18 复旦大学 一种利用数论变换计算循环卷积的电路结构
US20190222412A1 (en) * 2017-04-11 2019-07-18 The Governing Council Of The University Of Toronto Configurable Number Theoretic Transform (NTT) Butterfly Circuit For Homomorphic Encryption
CN110543291A (zh) * 2019-06-11 2019-12-06 南通大学 有限域大整数乘法器及基于ssa算法的大整数乘法的实现方法
CN111079934A (zh) * 2019-11-18 2020-04-28 华中科技大学 应用于环域上误差学习加密算法的数论变换单元和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870438A (zh) * 2014-02-25 2014-06-18 复旦大学 一种利用数论变换计算循环卷积的电路结构
US20190222412A1 (en) * 2017-04-11 2019-07-18 The Governing Council Of The University Of Toronto Configurable Number Theoretic Transform (NTT) Butterfly Circuit For Homomorphic Encryption
CN110543291A (zh) * 2019-06-11 2019-12-06 南通大学 有限域大整数乘法器及基于ssa算法的大整数乘法的实现方法
CN111079934A (zh) * 2019-11-18 2020-04-28 华中科技大学 应用于环域上误差学习加密算法的数论变换单元和方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CLAUDIA P.R-M 等: "High-Throughput Ring-LWE Cryptoprocessors", 《IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS》 *
TUUKKA T 等: "Video filtering with Fermat number theoretic transforms using residue number system", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 *
宋鹏飞: "NTT处理器的研究与实现", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *
李国栋: "基于数论变换的捕获单元ASIC设计与实现", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *

Also Published As

Publication number Publication date
CN111694542B (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
US20210349692A1 (en) Multiplier and multiplication method
Bouguezel et al. A new radix-2/8 FFT algorithm for length-q/spl times/2/sup m/DFTs
JPH076161A (ja) 周波数から時間領域への変換方法及び装置
CN102043760B (zh) 数据处理方法及系统
US20040225705A1 (en) Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding
WO2021226782A1 (zh) 卷积计算装置、方法和计算机存储介质
Al-Khaleel et al. Fast and compact binary-to-BCD conversion circuits for decimal multiplication
JPH11203272A (ja) 高速フーリエ変換処理装置、高速フーリエ変換処理システムおよび高速フーリエ変換処理方法
CN110543291A (zh) 有限域大整数乘法器及基于ssa算法的大整数乘法的实现方法
CN112256236A (zh) 一种基于近似定常数复数乘法器的fft电路及实现方法
Premkumar A formal framework for conversion from binary to residue numbers
Wang et al. High-speed interpolation architecture for soft-decision decoding of Reed–Solomon codes
JPS5858695B2 (ja) 2進数乗算装置
CN111694542B (zh) 一种用于数论变换乘法的基16运算电路
CN116205244B (zh) 一种数字信号处理结构
CN109379191B (zh) 一种基于椭圆曲线基点的点乘运算电路和方法
CN111694541B (zh) 一种用于数论变换乘法的基32运算电路
US5289399A (en) Multiplier for processing multi-valued data
CN114422315B (zh) 一种超高吞吐量ifft/fft调制解调方法
CN111694540B (zh) 一种用于数论变换乘法的基64运算电路
Elango et al. Hardware implementation of residue multipliers based signed RNS processor for cryptosystems
US5999962A (en) Divider which iteratively multiplies divisor and dividend by multipliers generated from the divisors to compute the intermediate divisors and quotients
KR100892292B1 (ko) 병렬 구조 및 파이프라인 방식을 이용한 Radix 2의4승 고속 푸리에 변환 프로세서
Parhami On equivalences and fair comparisons among residue number systems with special moduli
JP3913921B2 (ja) 有限フィールドでの任意要素の逆数具現回路

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Hua Siliang

Inventor after: Liu Yushen

Inventor after: Xu Jian

Inventor after: Bian Jiuhui

Inventor after: Zhang Jingya

Inventor after: Zhang Huiguo

Inventor before: Hua Siliang

Inventor before: Liu Yushen

Inventor before: Xu Jian

Inventor before: Bian Jiuhui

Inventor before: Zhang Jingya

Inventor before: Zhang Huiguo

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220623

Address after: 101400 room 701, building 6, No. 5, Yanqi East 2nd Road, Huairou District, Beijing

Patentee after: ZHONGKE YUDA (BEIJING) TECHNOLOGY Co.,Ltd.

Address before: 215500 Changshou City South Three Ring Road No. 99, Suzhou, Jiangsu

Patentee before: CHANGSHU INSTITUTE OF TECHNOLOGY