CN104793919B - 一种蒙哥马利模乘装置及具有其的嵌入式安全芯片 - Google Patents

一种蒙哥马利模乘装置及具有其的嵌入式安全芯片 Download PDF

Info

Publication number
CN104793919B
CN104793919B CN201510179155.0A CN201510179155A CN104793919B CN 104793919 B CN104793919 B CN 104793919B CN 201510179155 A CN201510179155 A CN 201510179155A CN 104793919 B CN104793919 B CN 104793919B
Authority
CN
China
Prior art keywords
register
montgomery
modular
result
multiplexer
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.)
Active
Application number
CN201510179155.0A
Other languages
English (en)
Other versions
CN104793919A (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.)
Guowei group (Shenzhen) Co., Ltd.
Original Assignee
Shenzhen State Micro 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 Shenzhen State Micro Technology Co Ltd filed Critical Shenzhen State Micro Technology Co Ltd
Priority to CN201510179155.0A priority Critical patent/CN104793919B/zh
Priority to DE112015001160.9T priority patent/DE112015001160T5/de
Priority to PCT/CN2015/083095 priority patent/WO2016165211A1/zh
Publication of CN104793919A publication Critical patent/CN104793919A/zh
Priority to US15/275,580 priority patent/US10175950B2/en
Application granted granted Critical
Publication of CN104793919B publication Critical patent/CN104793919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • G06F7/728Methods 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 using Montgomery reduction
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Logic Circuits (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了一种蒙哥马利模乘装置和嵌入式安全芯片,所述蒙哥马利模乘装置包括:第一蒙哥马利模乘模块,用于根据两个第一预设参数,得到第一运算结果A;次方计算模块,用于根据所述第一蒙哥马利模乘模块输出的第一运算结果A、第一预设参数、第二预设参数和次方计算函数,得到第二运算结果B;第一蒙哥马利模乘模块,还用于根据第一运算结果A和第二运算结果B,得到蒙哥马利模乘转换系数;第二蒙哥马利模乘模块,用于根据所述第一输入参数NA、第二输入参数NB和蒙哥马利模乘转换系数,得到最终模乘结果。该蒙哥马利模乘装置和嵌入式安全芯片可以避开大数模幂方式的计算转换系数,而且不需要事先计算好系数,可以节省存储空间。

Description

一种蒙哥马利模乘装置及具有其的嵌入式安全芯片
技术领域
本发明涉及密码学中非对称密钥算法领域,尤其涉及一种蒙哥马利模乘装置及具有其的嵌入式安全芯片。
背景技术
信息安全的安全保障基于安全算法,安全算法有一类是非对称密钥算法。非对称密钥算法的基本运算是大数的模乘运算,模乘运算算法中效率高、便于实现的算法是蒙哥马利模乘算法。蒙哥马利模乘使用过程中需要把普通数转换成蒙哥马利数,然后在根据系数进行蒙哥马利模乘运算,那么转换过程中需要用到转换系数,该转换系数一般通过大数模幂算法计算得到,使得现有的嵌入式安全芯片中需要进行复杂的大数运算,那么嵌入式安全芯片中的算法需要花费较多的运行时间和资源。
发明内容
本发明的目的旨在至少解决上述技术缺陷之一,提供一种蒙哥马利模乘装置及具有其的嵌入式安全芯片。
本发明提供一种蒙哥马利模乘装置,所述蒙哥马利模乘装置包括:
第一存储模块,用于存储两个第一预设参数,和第二预设参数,其中第一预设参数为常数1;
第一蒙哥马利模乘模块,用于根据两个第一预设参数,得到第一运算结果A;
次方计算模块,用于根据所述第一蒙哥马利模乘模块输出的第一运算结果A、第一预设参数、第二预设参数和次方计算函数,得到第二运算结果B,其中,第二预设参数为W-4,W=φ(N),φ是欧拉函数,N是蒙哥马利模乘中模数,第二 预设参数只与模数N有关,次方计算函数为计算R-1数的多少次方的函数,R与R-1关于模数N互逆;
第一蒙哥马利模乘模块,还用于根据第一运算结果A和第二运算结果B,得到蒙哥马利模乘转换系数;
第二存储模块,用于存储所述第一运算结果A、蒙哥马利模乘转换系数、第一输入参数NA和第二输入参数NB;
第二蒙哥马利模乘模块,用于根据所述第一输入参数NA、第二输入参数NB和蒙哥马利模乘转换系数,得到最终模乘结果。
从上述装置的方案可以看出,次方计算模块只与蒙哥马利模乘模块有关系。即不同的模数N,通过调用不同次数的蒙哥马利模乘模块,就能得到蒙哥马利模乘的转换系数,从而避开大数模幂方式的计算转换系数,而且不需要事先计算好系数,可以节省存储空间,另外在没有复杂大数库基础上,也能完成非对称密钥运算,以及可用于检查一个大数是否为素数的必要条件和可用于检查蒙哥马利模乘算法正确性。如果计算的数越来越长,素数域多个情况下,该算法的优势会更明显。
本发明还提供一种嵌入式安全芯片,所述嵌入式安全芯片包括:上述的蒙哥马利模乘装置。
从上述芯片的方案可以看出,次方计算模块只与蒙哥马利模乘模块有关系,即不同的模数N,通过调用不同次数的蒙哥马利模乘模块,就能得到蒙哥马利模乘的转换系数,从而避开大数模幂方式的计算转换系数,而且不需要事先计算好系数,可以节省存储空间,另外在没有复杂大数库基础上,也能完成非对称密钥运算,以及可用于检查一个大数是否为素数的必要条件和可用于检查蒙哥马利模乘 算法正确性。如果计算的数越来越长,素数域多个情况下,该算法的优势会更明显。
附图说明
图1为本发明蒙哥马利模乘装置一种实施例的结构示意图;
图2为本发明蒙哥马利模乘装置另一种实施例的结构示意图;
图3为本发明次方计算模块一种实施例的结构示意图;
图4为本发明编码单元一种实施例的结构示意图;
图5为本发明第二蒙哥马利模乘模块第一种实施例的结构示意图;
图6为本发明第二蒙哥马利模乘模块第二种实施例的结构示意图;
图7为本发明第二蒙哥马利模乘模块第三种实施例的结构示意图;
图8为本发明嵌入式安全芯片一种实施例的结构示意图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种实施例的蒙哥马利模乘装置10,如图1所示,所述蒙哥马利模乘装置10包括:
第一存储模块1,用于存储两个第一预设参数,和第二预设参数,其中第一预设参数为常数1;
第一蒙哥马利模乘模块2,用于根据两个第一预设参数,得到第一运算结果A;
次方计算模块3,用于根据所述第一蒙哥马利模乘模块2输出的第一运算结果A、第一预设参数、第二预设参数和次方计算函数,得到第二运算结果B,其 中,第二预设参数为W-4,W=φ(N),φ是欧拉函数,N是蒙哥马利模乘中模数,模数位长通常取值为192、239、521、1024、2048;第二预设参数只与模数N有关,次方计算函数为计算R-1数的多少次方的函数,R与R-1关于模数N互逆;
第一蒙哥马利模乘模块2,还用于根据第一运算结果A和第二运算结果B,得到蒙哥马利模乘转换系数;
第二存储模块4,用于存储所述第一运算结果A、蒙哥马利模乘转换系数、第一输入参数NA和第二输入参数NB;
第二蒙哥马利模乘模块5,用于根据所述第一输入参数NA、第二输入参数NB和蒙哥马利模乘转换系数,得到最终模乘结果。
在具体实施中,第一蒙哥马利模乘模块2和第二蒙哥马利模乘模块5中军保存蒙哥马利模乘函数,次方计算模块3中保存次方计算函数,所述蒙哥马利模乘装置实现的功能如下:获取两个第一预设参数,和第二预设参数,其中第一预设参数为常数1;根据两个第一预设参数和蒙哥马利模乘函数,得到第一运算结果A,第一运算结果A=MontF(1,1);根据第一运算结果A、第一预设参数、第二预设参数和次方计算函数,得到第二运算结果B,其中,第二预设参数为W-4,W=φ(N),φ是欧拉函数,N是蒙哥马利模乘中模数,第二预设参数只与模数N有关,次方计算函数CoeffEx为计算R-1数的多少次方的函数,第二运算结果B=CoeffEx(A,W-4),R与R-1关于模数N互逆;根据第一运算结果A、第二运算结果B和所述蒙哥马利模乘函数,得到蒙哥马利模乘转换系数D,D=MontF(A,B),即D=R2;根据第一输入参数NA、第二输入参数NB、蒙哥马利模乘转换系数和所述蒙哥马利模乘函数,得到最终模乘结果RE,RE是第一输入参数NA和第二输入参数NB关于模数N的模乘结果。
从上述装置的方案可以看出,次方计算模块只与蒙哥马利模乘模块有关系。即不同的模数N,通过调用不同次数的蒙哥马利模乘模块,就能得到蒙哥马利模乘的转换系数,从而避开大数模幂方式的计算转换系数,而且不需要事先计算好系数,可以节省存储空间,另外在没有复杂大数库基础上,也能完成非对称密钥运算,以及可用于检查一个大数是否为素数的必要条件和可用于检查蒙哥马利模乘算法正确性。如果计算的数越来越长,素数域多个情况下,该算法的优势会更明显。
在具体实施中,如图2所示,所述第一存储模块1包括常数存储器11,第一寄存器12;所述常数存储器11,用于保存两个常数1;所述第一寄存器12,与所述次方计算模块3的输入端连接,用于保存第二预设参数。
如图2所示,所述第二存储模块4包括第二寄存器41,第三寄存器42、第四寄存器43和第五寄存器44;
所述第二寄存器41,分别与所述次方计算模块3的输入端和第一蒙哥马利模乘模块2的输出端连接,用于保存第一运算结果A;
所述第三寄存器42,分别与第一蒙哥马利模乘模块2的输出端和第二蒙哥马利模乘模块的输入端连接,用于保存蒙哥马利模乘转换系数D;
所述第四寄存器43,与第二蒙哥马利模乘模块5的输入端连接,用于保存第一输入参数NA;
所述第五寄存器44,与第二蒙哥马利模乘模块5的输入端连接,用于保存第二输入参数NB。
如图2所示,第一蒙哥马利模乘模块2包括第一蒙哥马利模乘器21、第一多路复用器22、第二多路复用器23和第一信号分离器24,其中第一多路复用器22 分别与所述常数存储器11、所述第二寄存器41和所述第一蒙哥马利模乘器21的输入端连接,第二多路复用器23分别与所述常数存储器11、所述次方计算模块3的输出端和所述第一蒙哥马利模乘器21的输入端连接,第一信号分离器24分别与所述第二寄存器41、所述第三寄存器42和所述第一蒙哥马利模乘器21的输出端连接。
在具体实施中,如图3所示,所述次方计算模块3包括编码单元31、第六寄存器32、第七寄存器33、第八寄存器34、第九寄存器35、第一比较器36、第一选择器37、第三多路复用器38、第二蒙哥马利模乘器39和第一减法器30;
所述编码单元31,用于所述根据所述第二预设参数转换成计算过程的编码,得到运算标志数T和运算标志数T的位长度len,其中所述编码单元31的输入端与所述第一寄存器12连接;
所述第六寄存器32,用于保存运算标志数T;
所述第七寄存器33,用于运算标志数T的位长度len-1;
所述第八寄存器34,用于将第一运算结果A赋值给中间结果S并保存中间结果S,以及当循环量i小于零值时,输出第二运算结果B,第二运算结果B等于所述中间结果S;
所述第九寄存器35,用于对循环量i初始化,并将len-1值赋值给循环量i;
所述第一比较器36,用于判断循环量i是否大于等于零值,如果循环量i小于零时,发出运行状态信号C0为结束信号;
所述第一选择器37,用于当循环量i大于等于零值时,根据循环量i获取运算标志数T[i]的值,并输出至所述第三多路复用器38;
所述第三多路复用器38,用于连接所述中间结果S和第一预设参数,当运算 标志数T[i]的值不满足逻辑真时,输出所述中间结果S和第一预设参数至所述第二蒙哥马利模乘器39,当运算标志数T[i]的值满足逻辑真时,输出两个所述中间结果S;
所述第二蒙哥马利模乘器39,用于根据所述中间结果S和第一预设参数进行更新,得到一个更新后的所述中间结果S,或者根据两个所述中间结果S进行更新,得到一个更新后的所述中间结果S,其中所述第二蒙哥马利模乘器39的输入端分别与所述第八寄存器34和第三多路复用器38,所述第二蒙哥马利模乘器39的输出端与所述第八寄存器34连接;
所述第一减法器30,用于当所述中间结果S进行更新后,将循环量i的值自减常数1以及将循环量i的值自减常数1的结果写入第九寄存器35,其中所述减法器30与所述第九寄存器35连接,第九寄存器35与所述第一比较器36连接。
在具体实施中,所述次方计算模块3具体实现的功能如下:根据所述第二预设参数E转换成计算过程的编码,得到运算标志数T和运算标志数T的位长度len;将第一运算结果A赋值给中间结果S,即S=A,A值等于R-1数;对循环量i初始化,并将len-1值赋值给循环量i,即i=len-1;判断循环量i是否大于等于零值;当循环量i大于等于零值时,T[i]的值是否满足逻辑真,如果是;当循环量i小于零值时,输出第二运算结果B,第二运算结果B等于所述中间结果S,即S等于AE;当T[i]的值不满足逻辑真时,根据所述中间结果S、第一预设参数和蒙哥马利模乘函数,对所述中间结果S进行更新,即S=MontF(S,1);当T[i]的值满足逻辑真时,根据两个所述中间结果S和蒙哥马利模乘函数,对所述中间结果S进行更新,即S=MontF(S,S);当所述中间结果S进行更新后,循环量i值自减常数1,即i=i-1接着判断循环量i是否大于等于零值。其中计算过程的 编码也可以理解为调用一次CaclStepEncode函数,输入所述第二预设参数E,输出运算标志数T,存储运算后的结果,返回运算标志数T和运算标志数T的数据位长度len=CaclStepEncode(E,T),其中第二预设参数E是需要计算多少次,E的值小于N值,运算标志数T的位长度不会超过E的位长的两倍。T是一个数组,T[i]为数组中的一个元素,T[i]的值只取0或非0。
在具体实施中,如图4所示,所述编码单元31包括第十寄存器311、第十一寄存器312、第十二寄存器313、第十三寄存器314、第十四寄存器315、第二比较器316、第三比较器318、第四比较器319、第五比较器327、逻辑控制器321、第四多路复用器322、第一加法器323、第二加法器324、第三加法器325、第四加法器326、第二选择器317、第二减法器328和第五多路复用器329;
所述第十寄存器311,用于保存第一变量ZeroCounter,并根据逻辑控制器发出RESET1信号对第一变量ZeroCounter进行初始化为零;
所述第十一寄存器312,用于保存第二变量OneCounter,并逻辑控制器发出RESET2信号对所述第二变量OneCounter进行初始化为零;
所述第十二寄存器313,用于保存循环变量i,并根据初始化信号RESET3对所述循环变量i进行初始化;
所述第十三寄存器314,用于保存第三变量Out_i,并根据初始化信号RESET4对所述第三变量Out_i进行初始化;
所述第十四寄存器315,用于保存E_Bitslen,其中E_Bitslen是第二预设参数的位长;
所述第二比较器316,用于判断循环变量i是否小于等于E_Bitslen,并输出第二判断结果F3至所述逻辑控制器321;
所述第三比较器318,用于判断第一变量ZeroCounter是否等于零值,并输出第三判断结果F1至所述逻辑控制器321;
所述第四比较器319,用于判断第二变量OneCounter是否等于零值,并输出第四判断结果F2至所述逻辑控制器321;
所述第二选择器317,根据循环变量i获取E[i]的值,并将E[i]的值E_i输出到所述逻辑控制器321;
所述逻辑控制器321,用于当循环变量i不小于等于E_Bitslen时,输出第一控制信号,当循环变量i小于等于E_Bitslen时,根据E[i]的值E_i、第三判断结果F1和第四判断结果F2,输出第二组控制信号、第三组控制信号、第四组控制信号、第五组控制信号和第六控制信号,其中所述第二组控制信号、第三组控制信号、第四组控制信号和第五组控制信号均包含所述第六控制信号;
所述第四多路复用器322,用于分别连接常数存储器、所述第十寄存器311和所述第十一寄存器312,当接收到所述第三组控制信号时,输出常数1和ZeroCounter的值ZeroI,当接收到第五组控制信号时,输出OneCounter的值OneI;
所述第一加法器323,用于对第三变量Out_i自增一,并计算第三变量Out_i等于Out_i+ZeroCounter,以及将计算结果输出至所述第十三寄存器314;
所述第二加法器324,用于当接收到第二组控制信号时,第二变量OneCounter自增一;
所述第三加法器325,用于当接收到第六控制信号时,对循环变量i自增一;
所述第二比较器316,还用于当循环变量i自增一后,判断循环变量i是否小于等于E_Bitslen,并输出第二判断结果F3至所述逻辑控制器321;
所述第六寄存器32,还用于当接收到第三组控制信号时,将运算标志数T [Out_i]赋值零,以及将运算标志数T[Out_i:Out_i+ZeroCounter-1]赋值1,当接收到所述第五组控制信号时,将运算标志数T[Out_i:Out_i+ZeroCounter-1]赋值为1;
所述第十一寄存器312,还用于当接收到所述第五组控制信号时,将第二变量OneCounter赋值为0;
所述第十寄存器311,还用于当接收到所述第五组控制信号时,将第一变量ZeroCounter赋值为1,当接收到所述第三组控制信号时,将第一变量ZeroCounter赋值为1;
所述第三加法器325,还用于当接收到所述第六控制信号时,对循环变量i自增一;
所述第四加法器326,用于当接收到所述第四组控制信号时,对第一变量ZeroCounter自增一;
所述第五比较器327,用于当接收到所述第一控制信号时,判断第三变量Out_i是否大于零值;
所述第二减法器328,用于当第三变量Out_i大于零值时,对第三变量Out_i自减一;
所述第五多路复用器329,用于分别连接所述第五比较器327、第二减法器328和第七寄存器,当第三变量Out_i大于零值时,输出第三变量Out_i自减一的结果至第七寄存器33,当第三变量Out_i小于等于零值时,输出第三变量Out_i至第七寄存器33。
在具体实施中,逻辑控制器321的真值表:
其中,F1的值是ZeroCounter与零比较判断结果值,F2的值是OneCounter与零比较判断结果值。当ZeroCounter等于零时,F1取值为1,当ZeroCounter不等于零时,F1取值为0;当OneCounter等于零时,F2取值为1,当OneCounter不等于零时,F2取值为0;
其中,如图4所示,信号ZeroI是ZeroCounter计数器当前值,信号OneI是OneCounter计数器当前值。SET1信号把ZeroCounter计数器设置为1,SET2信号把OneCounter计数器设置为1。输入信号F3是根据循环变量i与E_Bitslen的比较结果获得,输入信号E_i是根据循环变量i与第一寄存器E通过选择器获得,输入信号F1是根据ZeroCounter与零的比较结果获得,输入信号F2是根据OneCounter与零的比较结果获得。输出信号T_I、T_V和SET1信号属于第三组控制信号,输出信号T_I、T_V、RESET2和SET1信号属于第五组控制信号。所述第二组控制信号、第三组控制信号、第四组控制信号和第五组控制信号均包含第六控制信号。
在具体实施中,所述编码单元31实现的功能如下:初始化第一变量ZeroCounter,第二变量OneCounter,循环变量i和第三变量Out_i,即ZeroCounter=0,OneCounter=0,i=0,Out_i=0;判断循环变量i是否小于等于E_Bitslen,其中E_Bitslen是第二预设参数的位长;当循环变量i小于等于E_Bitslen时,判断E[i]的值是否满足逻辑真;当E[i]的值满足逻辑真时,判断第一变量ZeroCounter是否等于零值;当第一变量ZeroCounter不等于零值时,判断第二变量OneCounter是否等于零值;当第二变量OneCounter等于零值时,运算标志数T[Out_i]赋值零,第三变量Out_i自增一,运算标志数T[Out_i:Out_i+ZeroCounter-1]赋值1,接着第三变量Out_i等于Out_i+ZeroCounter,第一变量ZeroCounter赋值为1,即T[Out_i]=0,Out_i=Out_i+1,T[Out_i:Out_i+ZeroCounter-1]=1,Out_i=Out_i+ZeroCounter,ZeroCounter=1,进入循环变量i自增一步骤;循环变量i自增一,即i=i+1,接着进入判断循环变量i是否小于等于E_Bitslen步骤;当第一变量ZeroCounter等于零值时,第二变量OneCounter自增一,即OneCounter=OneCounter+1,接着进入循环变量i自增一的步骤;当E[i]的值不满足逻辑真时,判断第二变量OneCounter是否等于零值;当第二变量OneCounter不等于零值,判断第一变量ZeroCounter是否等于零值,如果第一变量ZeroCounter不等于零值,进入循环变量i自增一步骤;当第一变量ZeroCounter等于零值时,运算标志数T[Out_i:Out_i+ZeroCounter-1]赋值为1,第三变量Out_i等于Out_i+ZeroCounter,第二变量OneCounter赋值为零值,第一变量ZeroCounter赋值为1,即T[Out_i:Out_i+ZeroCounter-1]=1,Out_i=Out_i+ZeroCounter,OneCounter=0,ZeroCounter=1,进入循环变量i自增一步骤;当第二变量OneCounter等于零值, 第一变量ZeroCounter自增1,即ZeroCounter=ZeroCounter+1,接着进入循环变量i自增一步骤;当循环变量i不小于等于E_Bitslen时,判断第三变量Out_i值是否大于零;当第三变量Out_i值大于零值时,第三变量Out_i自减1,即Out_i=Out_i-1;接着输出位长度len=Out_i,和运算标志数T,当第三变量Out_i值等于小于零值时,直接输出位长度len=Out_i,和运算标志数T。
在具体实施中,当计算得到蒙哥马利模乘转换系数D之后,通过现有的普通模乘运算,需要执行四次蒙哥马利模乘实现来普通数模乘运算,而改进后方式只需要执行二次蒙哥马利模就实现普通数模乘运算,因此改进后方式的实现控制运算的状态简化了一倍。如图5所示,第二蒙哥马利模乘模块5包括第三蒙哥马利模乘器51、第六多路复用器52、第七多路复用器53、第三信号分离器54、第二十寄存器55和第二十一寄存器56,其中第六多路复用器52与所述第四寄存器43,所述第七多路复用器53分别与所述第三寄存器42和所述第五寄存器44连接;
所述第三蒙哥马利模乘器51,所述第三蒙哥马利模乘器51的输入端分别与第六多路复用器52和第七多路复用器53连接,所述第三蒙哥马利模乘器51的输出端与第三信号分离器54的输入端连接,用于根据第一输入参数NA和蒙哥马利模乘转换系数,得到第一模乘结果NAR;
第二十寄存器55,分别与第三信号分离器54和第六多路复用器52连接,用于保存第一模乘结果NAR;
所述第三蒙哥马利模乘器51,还用于根据第二输入参数NB和第一模乘结果NAR得到最终模乘结果;
第二十一寄存器56,与第三信号分离器54连接,用于保存最终模乘结果。 也就是说,第二蒙哥马利模乘模块5实现的功能如下:根据第一输入参数NA、蒙哥马利模乘转换系数D和所述蒙哥马利模乘函数,得到第一模乘结果NAR;根据第二输入参数NB、第一模乘结果NAR和所述蒙哥马利模乘函数,得到最终模乘结果。对于第三蒙哥马利模乘器51一次使用,也就是调用一次蒙哥马利模乘函数,输入两个参数分别为NA、R2,R2为蒙哥马利模乘转换系数,NAR=MontF(NA,R2),NAR是一个变量。对于第三蒙哥马利模乘器51再一次使用,也就是说,调用一次蒙哥马利模乘函数,输入两个参数分别为NAR、B,RE=MontF(NAR,B),RE是NA和NB关于模数N的模乘结果。
在具体实施中,如图6所示,第二蒙哥马利模乘模块5包括第四蒙哥马利模乘器511、第八多路复用器512、第九多路复用器513、第四信号分离器514、第二十二寄存器515和第二十三寄存器516,其中第八多路复用器512与所述第五寄存器44,所述第九多路复用器513分别与所述第四寄存器43和所述第三寄存器42连接;
所述第四蒙哥马利模乘器511,所述第四蒙哥马利模乘器511的输入端分别与第八多路复用器512和第九多路复用器513连接,所述第四蒙哥马利模乘器511的输出端与第四信号分离器514的输入端连接,用于根据第二输入参数NB和蒙哥马利模乘转换系数,得到第二模乘结果NBR;
第二十二寄存器515,分别与第四信号分离器514和第八多路复用器512连接,用于保存第二模乘结果NBR;
所述第四蒙哥马利模乘器511,还用于根据第一输入参数NA和第二模乘结果NBR得到最终模乘结果;
第二十三寄存器516,与第四信号分离器514连接,用于保存最终模乘结果。 也就是说,第二蒙哥马利模乘模块5实现的功能如下:根据第二输入参数NB、蒙哥马利模乘转换系数和所述蒙哥马利模乘函数,得到第二模乘结果NBR;根据第二输入参数NA、第二模乘结果NBR和所述蒙哥马利模乘函数,得到最终模乘结果。即调用一次蒙哥马利模乘函数,输入两个参数分别为NB、R2,NBR=MontF(NB,R2),BR是一个变量。再调用一次蒙哥马利模乘函数,输入两个参数分别为NA、NBR,RE=MontF(NA,NBR),RE是NA和NB关于模数N的模乘结果。
在具体实施中,如图7所示,第二蒙哥马利模乘模块5包括第五蒙哥马利模乘器521、第十多路复用器522、第十一多路复用器523、第五信号分离器524、第二十四寄存器525和第二十五寄存器526,其中第十多路复用器522与所述第四寄存器43,所述第十一多路复用器522分别与所述第三寄存器42和所述第五寄存器44连接;
所述第五蒙哥马利模乘器521,所述第五蒙哥马利模乘器521的输入端分别与第十多路复用器522和第十一多路复用器523连接,所述第五蒙哥马利模乘器521的输出端与第五信号分离器524的输入端连接,用于根据第一输入参数NA和第二输入参数NB,得到第三模乘结果NANBr;
第二十五寄存器526,分别与第五信号分离器和第十多路复用器连接,用于保存第三模乘结果NANBr;
所述第五蒙哥马利模乘器521,还用于根据蒙哥马利模乘转换系数和第三模乘结果NANBr得到最终模乘结果;
第二十四寄存器525,与第五信号分离器524连接,用于保存最终模乘结果。也就是说,第二蒙哥马利模乘模块5实现的功能如下:根据第一输入参数NA、第二输入参数NB和所述蒙哥马利模乘函数,得到第三模乘结果NANBr;根据第三模乘 结果NANBr、蒙哥马利模乘转换系数和所述蒙哥马利模乘函数,得到最终模乘结果。即调用一次蒙哥马利模乘函数,输入两个参数分别为A、B,NANBr=MontF(NA,NB),NANBr是一个变量。再调用一次蒙哥马利模乘函数,输入两个参数分别为NANBr、R2,RE=MontF(NANBr,R2),RE是NA和NB关于模数N的模乘结果。
在具体实施中,本发明还提供一种实施例的嵌入式安全芯片,如图8所示,所述嵌入式安全芯片100包括上述的蒙哥马利模乘装置10。
从上述芯片的方案可以看出,次方计算模块3只与蒙哥马利模乘模块有关系,即不同的模数N,通过调用不同次数的蒙哥马利模乘模块,就能得到蒙哥马利模乘的转换系数,从而避开大数模幂方式的计算转换系数,而且不需要事先计算好系数,可以节省存储空间,另外在没有复杂大数库基础上,也能完成非对称密钥运算,以及可用于检查一个大数是否为素数的必要条件和可用于检查蒙哥马利模乘算法正确性。如果计算的数越来越长,素数域多个情况下,该算法的优势会更明显。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种蒙哥马利模乘装置,其特征在于:所述蒙哥马利模乘装置包括:
第一存储模块,用于存储两个第一预设参数,和第二预设参数,其中第一预设参数为常数1;
第一蒙哥马利模乘模块,用于根据两个第一预设参数,得到第一运算结果A;
次方计算模块,用于根据所述第一蒙哥马利模乘模块输出的第一运算结果A、第一预设参数、第二预设参数和次方计算函数,得到第二运算结果B,其中,第二预设参数为W-4,W =φ(N),φ是欧拉函数,N是蒙哥马利模乘中模数,第二预设参数只与模数N有关,次方计算函数为计算R-1 数的多少次方的函数,R与 R-1关于模数N互逆;
第一蒙哥马利模乘模块,还用于根据第一运算结果A和第二运算结果B,得到蒙哥马利模乘转换系数;
第二存储模块,用于存储所述第一运算结果A、蒙哥马利模乘转换系数、第一输入参数NA和第二输入参数NB;
第二蒙哥马利模乘模块,用于根据所述第一输入参数NA、第二输入参数NB和蒙哥马利模乘转换系数,得到最终模乘结果。
2.如权利要求1所述的蒙哥马利模乘装置,其特征在于:所述第一存储模块包括常数存储器和第一寄存器;
所述常数存储器,用于保存两个常数1;
所述第一寄存器,与所述次方计算模块的输入端连接,用于保存第二预设参数。
3.如权利要求2所述的蒙哥马利模乘装置,其特征在于:所述第二存储模块包括第二寄存器、第三寄存器、第四寄存器和第五寄存器;
所述第二寄存器,分别与所述次方计算模块的输入端和第一蒙哥马利模乘模块的输出端连接,用于保存第一运算结果A;
所述第三寄存器,分别与第一蒙哥马利模乘模块的输出端和第二蒙哥马利模乘模块的输入端连接,用于保存蒙哥马利模乘转换系数;
所述第四寄存器,与第二蒙哥马利模乘模块的输入端连接,用于保存第一输入参数NA;
所述第五寄存器,与第二蒙哥马利模乘模块的输入端连接,用于保存第二输入参数NB。
4.如权利要求3所述的蒙哥马利模乘装置,其特征在于:第一蒙哥马利模乘模块包括第一蒙哥马利模乘器、第一多路复用器、第二多路复用器和第一信号分离器,其中第一多路复用器分别与所述常数存储器、所述第二寄存器和所述第一蒙哥马利模乘器的输入端连接,第二多路复用器分别与所述常数存储器、所述次方计算模块的输出端和所述第一蒙哥马利模乘器的输入端连接,第一信号分离器分别与所述第二寄存器、所述第三寄存器和所述第一蒙哥马利模乘器的输出端连接。
5.如权利要求3所述的蒙哥马利模乘装置,其特征在于:所述次方计算模块包括编码单元、第六寄存器、第七寄存器、第八寄存器、第九寄存器、第一比较器、第一选择器、第三多路复用器、第二蒙哥马利模乘器和第一减法器;
所述编码单元,用于所述根据所述第二预设参数转换成计算过程的编码,得到运算标志数T和运算标志数T的位长度len,其中所述编码单元的输入端与所述第一寄存器连接;
所述第六寄存器,用于保存运算标志数T;
所述第七寄存器,用于运算标志数T的位长度len-1;
所述第八寄存器,用于将第一运算结果A赋值给中间结果S并保存中间结果S,以及当循环量i小于零值时,输出第二运算结果B,第二运算结果B等于所述中间结果S;
所述第九寄存器,用于对循环量i初始化,并将len-1值赋值给循环量i;
所述第一比较器,用于判断循环量i是否大于等于零值,当循环量i小于零时,发出运行状态信号为结束信号;
所述第一选择器,用于当循环量i大于等于零值时,根据循环量i获取运算标志数T [i]的值,并输出至所述第三多路复用器;
所述第三多路复用器,用于连接所述中间结果S和第一预设参数,当运算标志数T [i]的值不满足逻辑真时,输出所述中间结果S和第一预设参数至所述第二蒙哥马利模乘器,当运算标志数T [i]的值满足逻辑真时,输出两个所述中间结果S;
所述第二蒙哥马利模乘器,用于根据所述中间结果S和第一预设参数进行更新,得到一个更新后的所述中间结果S,或者根据两个所述中间结果S进行更新,得到一个更新后的所述中间结果S,其中所述第二蒙哥马利模乘器的输入端分别与所述第八寄存器和第三多路复用器,所述第二蒙哥马利模乘器的输出端与所述第八寄存器连接;
所述第一减法器,用于当所述中间结果S进行更新后,将循环量i的值自减常数1,以及将循环量i的值自减常数1的结果写入第九寄存器,其中所述减法器与所述第九寄存器连接,所述第九寄存器与所述第一比较器连接。
6.如权利要求5所述的蒙哥马利模乘装置,其特征在于:所述编码单元包括第十寄存器、第十一寄存器、第十二寄存器、第十三寄存器、第十四寄存器、第二比较器、第三比较器、第四比较器、第五比较器、逻辑控制器、第四多路复用器、第一加法器、第二加法器、第三加法器、第四加法器、第二选择器、第二减法器和第五多路复用器;
所述第十寄存器,用于保存第一变量ZeroCounter,并根据初始化信号对第一变量ZeroCounter进行初始化为零;
所述第十一寄存器,用于保存第二变量OneCounter,并根据初始化信号对所述第二变量OneCounter进行初始化为零;
所述第十二寄存器,用于保存循环变量i,并根据初始化信号对所述循环变量i进行初始化为零;
所述第十三寄存器,用于保存第三变量Out_i,并根据初始化信号对所述第三变量Out_i进行初始化为零;
所述第十四寄存器,用于保存E_Bitslen的值,其中E_Bitslen是第二预设参数的位长;
所述第二比较器,用于判断循环变量i是否小于等于E_Bitslen,并输出第二判断结果至所述逻辑控制器;
所述第三比较器,用于判断第一变量ZeroCounter是否等于零值,并输出第三判断结果至所述逻辑控制器;
所述第四比较器,用于判断第二变量OneCounter是否等于零值,并输出第四判断结果至所述逻辑控制器;
所述第二选择器,根据循环变量i获取E[i]的值,并将E[i]的值输出到所述逻辑控制器;
所述逻辑控制器,用于当循环变量i大于E_Bitslen时,输出第一控制信号,当循环变量i等于小于E_Bitslen时,根据E[i]的值、第三判断结果和第四判断结果,输出第二组控制信号、第三组控制信号、第四组控制信号、第五组控制信号和第六控制信号,其中所述第二组控制信号、第三组控制信号、第四组控制信号和第五组控制信号均包含所述第六控制信号;
所述第四多路复用器,用于分别连接常数存储器、所述第十寄存器和所述第十一寄存器,当接收到所述第三组控制信号时,输出常数1和ZeroCounter的值,当接收到第五组控制信号时,输出OneCounter的值;
所述第一加法器,用于对第三变量Out_i自增一,并计算第三变量Out_i等于Out_i+ZeroCounter,以及将计算结果输出至所述第十三寄存器;
所述第二加法器,用于当接收到第二组控制信号时,第二变量OneCounter自增一;
所述第三加法器,用于当接收到第六控制信号时,对循环变量i自增一;
所述第二比较器,还用于当循环变量i自增一后,判断循环变量i是否小于等于E_Bitslen,并输出第二判断结果至所述逻辑控制器;
所述第六寄存器,还用于当接收到第三组控制信号时,将运算标志数T [Out_i]赋值零,以及将运算标志数T [Out_i:Out_i+ ZeroCounter-1]赋值1,当接收到所述第五组控制信号时,将运算标志数T [Out_i:Out_i+ ZeroCounter-1] 赋值为1;
所述第十一寄存器,还用于当接收到所述第五组控制信号时,将第二变量OneCounter赋值为0;
所述第十寄存器,还用于当接收到所述第五组控制信号时,将第一变量ZeroCounter赋值为1, 当接收到所述第三组控制信号时,将第一变量ZeroCounter赋值为1;
所述第四加法器,用于当接收到所述第四组控制信号时,对第一变量ZeroCounter自增一;
所述第五比较器,用于当接收到所述第一控制信号时,判断第三变量Out_i是否大于零值;
所述第二减法器,用于当第三变量Out_i大于零值时,对第三变量Out_i自减一;
所述第五多路复用器,用于分别连接所述第五比较器、第二减法器和第七寄存器,当第三变量Out_i大于零值时,输出第三变量Out_i自减一的结果至第七寄存器,当第三变量Out_i小于等于零值时,输出第三变量Out_i至第七寄存器;
所述E[i]为第二预设参数的各比特位。
7.如权利要求5所述的蒙哥马利模乘装置,其特征在于:第二蒙哥马利模乘模块包括第三蒙哥马利模乘器、第六多路复用器、第七多路复用器、第三信号分离器、第二十寄存器和第二十一寄存器,其中第六多路复用器与所述第四寄存器,所述第七多路复用器分别与所述第三寄存器和所述第五寄存器连接;
所述第三蒙哥马利模乘器,所述第三蒙哥马利模乘器的输入端分别与第六多路复用器和第七多路复用器连接,所述第三蒙哥马利模乘器的输出端与第三信号分离器的输入端连接,用于根据第一输入参数NA和蒙哥马利模乘转换系数,得到第一模乘结果NAR;
第二十寄存器,分别与第三信号分离器和第六多路复用器连接,用于保存第一模乘结果NAR;
所述第三蒙哥马利模乘器,还用于根据第二输入参数NB和第一模乘结果NAR得到最终模乘结果;
第二十一寄存器,与第三信号分离器连接,用于保存最终模乘结果。
8.如权利要求5所述的蒙哥马利模乘装置,其特征在于:第二蒙哥马利模乘模块包括第四蒙哥马利模乘器、第八多路复用器、第九多路复用器、第四信号分离器、第二十二寄存器和第二十三寄存器,其中第八多路复用器与所述第五寄存器,所述第九多路复用器分别与所述第四寄存器和所述第三寄存器连接;
所述第四蒙哥马利模乘器,所述第四蒙哥马利模乘器的输入端分别与第八多路复用器和第九多路复用器连接,所述第四蒙哥马利模乘器的输出端与第四信号分离器的输入端连接,用于根据第二输入参数NB和蒙哥马利模乘转换系数,得到第二模乘结果NBR;
第二十二寄存器,分别与第四信号分离器和第八多路复用器连接,用于保存第二模乘结果NBR;
所述第四蒙哥马利模乘器,还用于根据第一输入参数NA和第二模乘结果NBR得到最终模乘结果;
第二十三寄存器,与第四信号分离器连接,用于保存最终模乘结果。
9.如权利要求5所述的蒙哥马利模乘装置,其特征在于:第二蒙哥马利模乘模块包括第五蒙哥马利模乘器、第十多路复用器、第十一多路复用器、第五信号分离器、第二十四寄存器和第二十五寄存器,其中第十多路复用器与所述第四寄存器,所述第十一多路复用器分别与所述第三寄存器和所述第五寄存器连接;
所述第五蒙哥马利模乘器,所述第五蒙哥马利模乘器的输入端分别与第十多路复用器和第十一多路复用器连接,所述第五蒙哥马利模乘器的输出端与第五信号分离器输入端连接,用于根据第一输入参数NA和第二输入参数NB,得到第三模乘结果NANBr;
第二十五寄存器,分别与第五信号分离器和第十多路复用器连接,用于保存第三模乘结果NANBr;
所述第五蒙哥马利模乘器,还用于根据蒙哥马利模乘转换系数和第三模乘结果NANBr得到最终模乘结果;
第二十四寄存器,与第五信号分离器连接,用于保存最终模乘结果。
10.一种嵌入式安全芯片,其特征在于:所述嵌入式安全芯片包括:如权利要求1-9任意一项所述的蒙哥马利模乘装置。
CN201510179155.0A 2015-04-15 2015-04-15 一种蒙哥马利模乘装置及具有其的嵌入式安全芯片 Active CN104793919B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510179155.0A CN104793919B (zh) 2015-04-15 2015-04-15 一种蒙哥马利模乘装置及具有其的嵌入式安全芯片
DE112015001160.9T DE112015001160T5 (de) 2015-04-15 2015-07-01 Montgomery modulare Multipliziereinrichtung und mit ihr versehener eingebetteter Sicherheitschip
PCT/CN2015/083095 WO2016165211A1 (zh) 2015-04-15 2015-07-01 一种蒙哥马利模乘装置及具有其的嵌入式安全芯片
US15/275,580 US10175950B2 (en) 2015-04-15 2016-09-26 Montgomery modular multiplication device and embedded security chip with same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510179155.0A CN104793919B (zh) 2015-04-15 2015-04-15 一种蒙哥马利模乘装置及具有其的嵌入式安全芯片

Publications (2)

Publication Number Publication Date
CN104793919A CN104793919A (zh) 2015-07-22
CN104793919B true CN104793919B (zh) 2017-11-07

Family

ID=53558737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510179155.0A Active CN104793919B (zh) 2015-04-15 2015-04-15 一种蒙哥马利模乘装置及具有其的嵌入式安全芯片

Country Status (4)

Country Link
US (1) US10175950B2 (zh)
CN (1) CN104793919B (zh)
DE (1) DE112015001160T5 (zh)
WO (1) WO2016165211A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669670B (zh) * 2018-12-26 2020-09-22 贵州华芯通半导体技术有限公司 用于蒙哥马利模乘中的不均等分块的数据处理方法及装置
CN109933304B (zh) * 2019-03-20 2022-06-21 成都三零嘉微电子有限公司 适用于国密sm2p256v1算法的快速蒙哥马利模乘器运算优化方法
CN114185514B (zh) * 2021-12-13 2024-03-08 合肥工业大学 一种基于费马模数的多项式乘法器
CN114706557B (zh) * 2022-04-01 2023-03-10 华控清交信息科技(北京)有限公司 一种asic芯片及蒙哥马利模乘的实现方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691580A (zh) * 2004-04-23 2005-11-02 上海明波通信技术有限公司 一种模乘运算的方法及其装置和用途
CN102207847A (zh) * 2011-05-06 2011-10-05 广州杰赛科技股份有限公司 基于蒙哥马利模乘运算的数据加解密处理方法及装置
CN102999313A (zh) * 2012-12-24 2013-03-27 飞天诚信科技股份有限公司 一种基于蒙哥马利模乘的数据处理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69727796T2 (de) * 1996-10-31 2004-12-30 Atmel Research Koprozessor zum Ausführen von modularer Multiplikation
US6914983B2 (en) * 2000-12-19 2005-07-05 International Business Machines Corporation Method for checking modular multiplication
US7174015B1 (en) * 2001-04-25 2007-02-06 State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Methods and apparatus for variable radix scalable modular multiplication
US7027597B1 (en) * 2001-09-18 2006-04-11 Cisco Technologies, Inc. Pre-computation and dual-pass modular arithmetic operation approach to implement encryption protocols efficiently in electronic integrated circuits
US8719324B1 (en) * 2005-04-28 2014-05-06 Cetin K. Koc Spectral modular arithmetic method and apparatus
US8243919B2 (en) * 2007-03-07 2012-08-14 Research In Motion Limited Method and apparatus for performing elliptic curve scalar multiplication in a manner that counters power analysis attacks
EP2015171A1 (fr) * 2007-06-29 2009-01-14 Gemplus Procédé cryptographique comprenant une exponentiation modulaire sécurisée contre les attaques à canaux cachés sans la connaissance de l'exposant public, cryptoprocesseur pour la mise en oeuvre du procédé et carte à puce associée
KR101610917B1 (ko) * 2010-03-08 2016-04-11 삼성전자주식회사 암호 알고리즘의 복호 방법 및 그것을 포함하는 암호 시스템
ITMI20111992A1 (it) * 2011-11-03 2013-05-04 St Microelectronics Srl Metodo per crittografare un messaggio mediante calcolo di funzioni matematiche comprendenti moltiplicazioni modulari
CN103780381B (zh) * 2012-12-17 2017-06-27 深圳市证通电子股份有限公司 基于高基脉动阵列的蒙哥马利算法的实现装置及方法
CN103761068B (zh) * 2014-01-26 2017-02-01 上海交通大学 优化的蒙哥马利模乘硬件
CN103888246A (zh) * 2014-03-10 2014-06-25 深圳华视微电子有限公司 低功耗小面积的数据处理方法及其数据处理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691580A (zh) * 2004-04-23 2005-11-02 上海明波通信技术有限公司 一种模乘运算的方法及其装置和用途
CN102207847A (zh) * 2011-05-06 2011-10-05 广州杰赛科技股份有限公司 基于蒙哥马利模乘运算的数据加解密处理方法及装置
CN102999313A (zh) * 2012-12-24 2013-03-27 飞天诚信科技股份有限公司 一种基于蒙哥马利模乘的数据处理方法

Also Published As

Publication number Publication date
DE112015001160T5 (de) 2017-01-26
US20170010867A1 (en) 2017-01-12
WO2016165211A1 (zh) 2016-10-20
US10175950B2 (en) 2019-01-08
CN104793919A (zh) 2015-07-22

Similar Documents

Publication Publication Date Title
CN104793919B (zh) 一种蒙哥马利模乘装置及具有其的嵌入式安全芯片
CN1841443B (zh) 计算方法和计算设备
CN100583769C (zh) 椭圆曲线密码系统的倍点系统
CN108833103A (zh) 射频识别标签和读取设备之间进行安全通信的方法和系统
CN108733347B (zh) 一种数据处理方法及装置
CN106708468B (zh) 一种除法运算装置
CN103425692B (zh) 数据导出方法和装置
US4121296A (en) Digital signal processing arrangement
CN113031920B (zh) 一种芯片和用于芯片的批量模运算方法
CN106681690A (zh) 基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置
CN110515587A (zh) 乘法器、数据处理方法、芯片及电子设备
CN110620566B (zh) 基于随机计算与余数系统相结合的fir滤波系统
CN110362293B (zh) 乘法器、数据处理方法、芯片及电子设备
CN104765586B (zh) 一种嵌入式安全芯片及其的蒙哥马利模乘运算方法
CN109271137A (zh) 一种基于公钥加密算法的模乘装置及协处理器
CN106681691A (zh) 基于蒙哥马利模乘的数据处理方法、模乘运算方法和装置
CN116436709B (zh) 一种数据的加解密方法、装置、设备和介质
CN103731257B (zh) 一种Piccolo加密算法硬件实现方法
CN101192910A (zh) 一种时分双工数字滤波器
CN110531954A (zh) 乘法器、数据处理方法、芯片及电子设备
CN115202616A (zh) 模乘器、安全芯片、电子设备及加密方法
CN113467752B (zh) 用于隐私计算的除法运算装置、数据处理系统及方法
KR100718050B1 (ko) 카운터 회로 및 그 동작 방법
CN100536331C (zh) 一种半并行滤波器及其实现方法
Ryabchikova et al. Novel RNS reverse conversion algorithm based on Core function

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 22A, Guoshi building, 1801 Shahe West Road, high tech Zone, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Guowei group (Shenzhen) Co., Ltd.

Address before: 518000 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park South high SSMEC building two floor

Patentee before: Guowei Teih Co., Ltd., Shenzhen