CN115113848A - 签名/验签电路、装置、设备、方法及坐标还原电路 - Google Patents
签名/验签电路、装置、设备、方法及坐标还原电路 Download PDFInfo
- Publication number
- CN115113848A CN115113848A CN202211050572.1A CN202211050572A CN115113848A CN 115113848 A CN115113848 A CN 115113848A CN 202211050572 A CN202211050572 A CN 202211050572A CN 115113848 A CN115113848 A CN 115113848A
- Authority
- CN
- China
- Prior art keywords
- operation result
- modular multiplication
- montgomery modular
- module
- signature
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 17
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 14
- 238000012546 transfer Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/728—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Abstract
Description
技术领域
本公开涉及数据安全技术领域,尤其涉及一种签名/验签电路、电子装置、电子设备、签名/验签方法、以及对雅可比投影坐标进行还原的电路。
背景技术
在数据安全领域,椭圆曲线密码作为一种常用的公钥密码,可以通过椭圆曲线运算,实现加密、解密、签名、验签等功能。
相关技术中,签名/验签电路中包括多个计算模块。在利用签名/验签电路执行签名/验签流程时,会涉及针对椭圆曲线点P(P是一种仿射坐标)的点乘运算。而在执行点乘运算期间,多个计算模块之间的数据传递过程复杂,导致签名/验签的耗时较长。
发明内容
本公开的目的是提供一种签名/验签电路、电子装置、电子设备、签名/验签方法、以及对雅可比投影坐标进行还原的电路,以降低签名/验签耗时。
根据本公开的一个方面,提供一种签名/验签电路,包括点乘模块、模逆运算模块以及蒙哥马利模乘模块;
点乘模块被配置为:针对雅可比投影坐标体系下的坐标点P执行点乘运算,得到雅可比投影坐标体系下的运算结果R,运算结果R包括坐标值X_Mp和Z_Mp,X_Mp和Z_Mp均属于蒙哥马利域;
蒙哥马利模乘模块被配置为:获得Z_Mp,并对Z_Mp和数值1执行蒙哥马利模乘运算,得到运算结果Z;
本公开一种可行的实现方式中,蒙哥马利模乘模块还被配置为:针对仿射坐标点P的坐标值执行蒙哥马利模乘运算,以将仿射坐标点P转换为雅可比投影坐标体系下的坐标点P。
本公开一种可行的实现方式中,蒙哥马利模乘模块的输出端与点乘模块的输入端连接,点乘模块的输出端与蒙哥马利模乘模块的输入端连接;
蒙哥马利模乘模块的输出端还与模逆运算模块的输入端连接,模逆运算模块的输出端与蒙哥马利模乘模块的输入端连接。
根据本公开的一个方面,提供一种电子装置,该电子装置包括上述任一实施例中的签名/验签电路。在一些使用场景下,该电子装置的产品形式体现为显卡;在另一些使用场景下,该电子装置的产品形式体现为CPU主板。
根据本公开的一个方面,提供一种电子设备,该电子设备包括上述的电子装置。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、VR设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机等;在一些使用场景下,该电子设备的产品形式是密码机、业务办理柜台(例如ATM自动存取款机)等。
根据本公开的一个方面,提供一种签名/验签方法,方法包括:
获得点乘运算结果,点乘运算结果是一个在雅可比投影坐标系下的坐标点,坐标点包括坐标值X_Mp和Z_Mp,X_Mp和Z_Mp均属于蒙哥马利域;
获得和,并对和执行蒙哥马利模乘运算,得到运算结果;是在对Z_Mp和数值1执行蒙哥马利模乘运算以得到运算结果Z后,再对运算结果Z执行模逆运算后得到的运算结果;是在对和数值执行蒙哥马利模乘运算后得到的运算结果;
本公开一种可行的实现方式中,方法还包括:
对Z_Mp和数值1执行蒙哥马利模乘运算,得到运算结果Z;
根据本公开的一个方面,提供一种对雅可比投影坐标进行还原的电路,雅可比投影坐标至少包括坐标值X_Mp和Z_Mp,X_Mp和Z_Mp均属于蒙哥马利域,电路包括蒙哥马利模乘模块;
蒙哥马利模乘模块被配置为:获得和,并对和执行蒙哥马利模乘运算,得到运算结果;是在对Z_Mp和数值1执行蒙哥马利模乘运算以得到运算结果Z后,再对运算结果Z执行模逆运算后得到的运算结果;是在对和数值执行蒙哥马利模乘运算后得到的运算结果;
本公开一种可行的实现方式中,电路还包括模逆运算模块;
蒙哥马利模乘模块还被配置为:获得Z_Mp,并对Z_Mp和数值1执行蒙哥马利模乘运算,得到运算结果Z;
本公开一种可行的实现方式中,蒙哥马利模乘模块包括第一输出端和两个第一输入端,模逆运算模块包括第二输出端和第二输入端,第一输出端与一个第一输入端连接,第二输出端与另一个第一输入端连接,第一输出端还与第二输入端连接;
蒙哥马利模乘模块还被配置为:通过两个第一输入端分别获得Z_Mp和数值1,并通过第一输出端输出运算结果Z;
附图说明
图1是本公开一实施例提供的签名/验签电路的结构示意图;
图2是本公开一实施例提供的签名/验签方法的流程示意图;
图3是本公开一实施例提供的对雅可比投影坐标进行还原的电路的结构示意图;
图4是本公开另一实施例提供的对雅可比投影坐标进行还原的电路的结构示意图。
具体实施方式
在介绍本公开实施例之前,应当说明的是:本公开部分实施例被描述为处理流程,虽然流程的各个操作步骤可能被冠以顺序的步骤编号,但是其中的操作步骤可以被并行地、并发地或者同时实施。
本公开实施例中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。
本公开实施例中可能使用了术语“和/或”,“和/或”包括其中一个或更多所列出的相关联特征的任意和所有组合。
应当理解的是,当描述两个部件的连接关系或通信关系时,除非明确指明两个部件之间直接连接或直接通信,否则,两个部件的连接或通信可以理解为直接连接或通信,也可以理解为通过中间部件间接连接或通信。
为了使本公开实施例中的技术方案及优点更加清楚明白,以下结合附图对本公开的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本公开的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
椭圆曲线点的点乘运算kP是椭圆曲线运算中的一种基本运算,其中P(x,y)是椭圆曲线上的一个坐标点(以下称为仿射坐标点),点乘运算kP的运算结果为坐标点R(x,y)。为了简化点乘运算,通常会将仿射坐标点P(x,y)转换为雅可比投影坐标系下的坐标点P(X,Y,Z),其中,,。然后针对坐标点P(X,Y,Z)执行点乘运算,得到雅可比投影坐标系下的坐标点R(X,Y,Z)。再通过计算,将坐标点R(X,Y,Z)还原为坐标R(x,y),从而得到点乘运算结果。
此外,蒙哥马利模乘运算是一种简化的模乘运算方法。为了进一步简化点乘运算,在将仿射坐标点P(x,y)转换为雅可比投影坐标系下的坐标点P(X,Y,Z)的过程中,会采用蒙哥马利模乘运算。在此情况下,针对坐标点P(X,Y,Z)执行点乘运算后,得到雅可比投影坐标系下的坐标点R(X_Mp,Y_Mp,Z_Mp),其中X_Mp、Y_Mp、Z_Mp均是蒙哥马利域下的坐标值。
针对坐标点R(X_Mp,Y_Mp,Z_Mp),还需要将其还原为R(x,y)。然而在将坐标值X_Mp还原成坐标值x的过程中,签名/验签电路中的数据传递过程复杂,导致签名/验签的耗时较长。
本公开的目的是提供一种签名/验签电路、电子装置、电子设备、签名/验签方法、以及对雅可比投影坐标进行还原的电路,以降低致签名/验签耗时。
本公开提供的签名/验签电路是指签名电路、验签电路或者具备签名及验签功能的电路,本公开提供的签名/验签方法是指签名方法或验签方法。本公开提供的对雅可比投影坐标进行还原的电路既适用于签名过程,也适用于验签过程。
参考图1,图1是本公开一实施例提供的签名/验签电路的结构示意图。如图1所示,签名/验签电路包括点乘模块、模逆运算模块以及蒙哥马利模乘模块。
点乘模块被配置为:针对雅可比投影坐标体系下的坐标点P执行点乘运算,得到雅可比投影坐标体系下的运算结果R,运算结果R包括坐标值X_Mp和Z_Mp,X_Mp和Z_Mp均属于蒙哥马利域。
蒙哥马利模乘模块被配置为:获得Z_Mp,并对Z_Mp和数值1执行蒙哥马利模乘运算Mont(Z_Mp,1),得到运算结果Z。其中,Mont()表示蒙哥马利模乘运算。
蒙哥马利模乘模块还被配置为:获得运算结果,并对运算结果和数值执行蒙哥马利模乘运算,得到运算结果。需要说明的是,此处中的R不同于上述坐标点R,此处的R等于,n等于Z的位长。本公开中,表示蒙哥马利域中的。
本公开中,签名/验签电路在执行签名/验签流程时,点乘模块、蒙哥马利模乘模块、模逆运算模块三者之间的数据传递过程的复杂度低,特别是蒙哥马利模乘模块所需执行的蒙哥马利模乘运算次数较少,有利于提高签名/验签参数x的生成速度,进而降低签名/验签耗时。
在一些实施例中,蒙哥马利模乘模块还被配置为:针对仿射坐标点P的坐标值执行蒙哥马利模乘运算,以将仿射坐标点P转换为雅可比投影坐标体系下的坐标点P。
在将仿射坐标点P(x,y)转换为雅可比投影坐标体系下的坐标点P(X,Y,Z)时,具体的转换公式为:,,,其中表示模乘运算,模数为p。本公开在进行x和的模乘运算时,由蒙哥马利模乘模块对x和执行蒙哥马利模乘运算。同样地,本公开在进行y和的模乘运算时,由蒙哥马利模乘模块对y和执行蒙哥马利模乘运算。经过蒙哥马利模乘模块的运算,从而将仿射坐标点P转换为雅可比投影坐标体系下的坐标点P。
本公开中,通过蒙哥马利模乘模块,将仿射坐标点P(x,y)转换为雅可比投影坐标体系下的坐标点P(X,Y,Z),有利于提高点乘运算速率,进而降低签名/验签耗时。
如图1所示,蒙哥马利模乘模块的输出端与点乘模块的输入端连接,点乘模块的输出端与蒙哥马利模乘模块的输入端连接。蒙哥马利模乘模块的输出端还与模逆运算模块的输入端连接,模逆运算模块的输出端与蒙哥马利模乘模块的输入端连接。
本公开中,由于蒙哥马利模乘模块的输出端与点乘模块的输入端连接,因此蒙哥马利模乘模块在对仿射坐标点P的坐标值执行蒙哥马利模乘运算后,可以将运算结果(即雅可比投影坐标体系下的坐标点的坐标值)传递给点乘模块的输入端,使得点乘模块可以针对雅可比投影坐标体系下的坐标点执行点乘运算。
由于点乘模块的输出端与蒙哥马利模乘模块的输入端连接,因此点乘模块在进行点乘运算后,可以将点乘运算结果(包括坐标值X_Mp和Z_Mp)传递给蒙哥马利模乘模块的输入端,使得蒙哥马利模乘模块可以针对X_Mp或Z_Mp执行相应的蒙哥马利模乘运算。
由于蒙哥马利模乘模块的输出端还与模逆运算模块的输入端连接,因此蒙哥马利模乘模块在执行蒙哥马利模乘运算Mont(Z_Mp,1)后,可以将运算结果Z传递给模逆运算模块的输入端,使得模逆运算模块可以针对运算结果Z执行模逆运算。
由于模逆运算模块的输出端与蒙哥马利模乘模块的输入端连接,因此模逆运算模块在针对运算结果Z执行模逆运算后,可以将运算结果传递给蒙哥马利模乘模块的输入端,使得蒙哥马利模乘模块可以针对运算结果执行蒙哥马利模乘运算。
本公开实施例还提供一种电子装置,该电子装置包括上述任一实施例中的签名/验签电路。在一些使用场景下,该电子装置的产品形式体现为显卡;在另一些使用场景下,该电子装置的产品形式体现为CPU主板。
本公开实施例还提供一种电子设备,该电子设备包括上述的电子装置。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、VR设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机等;在一些使用场景下,该电子设备的产品形式是密码机、业务办理柜台(例如ATM自动存取款机)等。
参考图2,图2是本公开一实施例提供的签名/验签方法的流程示意图。如图2所示,该方法包括以下步骤:
S210:获得点乘运算结果,点乘运算结果是一个在雅可比投影坐标系下的坐标点,坐标点包括坐标值X_Mp和Z_Mp,X_Mp和Z_Mp均属于蒙哥马利域。
其中,点乘运算结果是对雅可比投影坐标系下的坐标点P(X,Y,Z)执行点乘运算kP后得到的运算结果,k为标量,而雅可比投影坐标系下的坐标点P(X,Y,Z)是由椭圆曲线点P(x,y)转换得到的。在将P(x,y)转换为P(X,Y,Z)的过程中,具体的转换公式为:,,,其中表示模乘运算,模数为p。本公开在进行x和的模乘运算时,具体是对x和执行蒙哥马利模乘运算。同样地,本公开在进行y和的模乘运算时,具体是对y和执行蒙哥马利模乘运算。
其中,是在对Z_Mp和数值1执行蒙哥马利模乘运算以得到运算结果Z后,再对运算结果Z执行模逆运算后得到的运算结果;是在对和数值执行蒙哥马利模乘运算后得到的运算结果。需要说明的是,此处中的R不同于上述坐标点R,此处的R等于,n等于Z的位长。
以多种验签流程中的一种验签流程为例,在得到运算结果x之后,可以对x执行取模操作,得到取模结果v;然后将取模结果v与验签参数r进行比较,如果两者相等,则确定签名有效,否则确定签名无效。
本公开中,在执行签名/验签流程时,数据处理的复杂度低,特别是所需执行的蒙哥马利模乘运算次数较少,有利于提高签名/验签参数x的生成速度,进而降低签名/验签耗时。
在一些实施例中,在获得点乘运算结果之后,还可以包括以下步骤:
S211:对Z_Mp和数值1执行蒙哥马利模乘运算Mont(Z_Mp,1),得到运算结果Z。
参考图3,图3是本公开一实施例提供的对雅可比投影坐标进行还原的电路的结构示意图。本公开中,需要被还原雅可比投影坐标至少包括坐标值X_Mp和Z_Mp,X_Mp和Z_Mp均属于蒙哥马利域。在一些实施例中,雅可比投影坐标是在签名或验签流程中针对椭圆曲线点P执行点乘运算后得到的点R(X_Mp,Y_Mp,Z_Mp),点R的三个坐标值X_Mp、Y_Mp、Z_Mp均属于蒙哥马利域。
如图3所示,该电路包括蒙哥马利模乘模块。
其中,Mont()是指蒙哥马利模乘运算,是在对Z_Mp和数值1执行蒙哥马利模乘运算以得到运算结果Z后,再对运算结果Z执行模逆运算后得到的运算结果。是在对和数值执行蒙哥马利模乘运算后得到的运算结果。需要说明的是,此处中的R不同于上述坐标点R,此处的R等于,n等于Z的位长。
本公开中,蒙哥马利模乘模块对和执行蒙哥马利模乘运算,得到运算结果,然后对X_Mp和运算结果执行蒙哥马利模乘运算,得到运算结果x。本公开中,蒙哥马利模乘模块需要执行的蒙哥马利模乘次数较少,有利于缩短蒙哥马利模乘模块的运算耗时,以提高X_Mp还原至x的效率,进而缩减签名/验签耗时。
参考图4,图4是本公开另一实施例提供的对雅可比投影坐标进行还原的电路的结构示意图,如图4所示,该电路包括蒙哥马利模乘模块和模逆运算模块。
蒙哥马利模乘模块被配置为:获得Z_Mp,并对Z_Mp和数值1执行蒙哥马利模乘运算Mont(Z_Mp,1),得到运算结果Z。
本公开中,电路针对待还原的坐标值X_Mp,通过模逆运算模块执行1次模逆运算,并通过蒙哥马利模乘模块执行4次蒙哥马利模乘运算,从而快速将坐标值X_Mp还原成坐标值x,坐标值x作为关键的签名/验签参数,会参与其余的签名/验签流程。本公开中,通过电路快速实现坐标值X_Mp到坐标值x的还原,有利于降低签名/验签耗时。
如图4所示,蒙哥马利模乘模块包括第一输出端和两个第一输入端,模逆运算模块包括第二输出端和第二输入端,第一输出端与一个第一输入端连接,第二输出端与另一个第一输入端连接,第一输出端还与第二输入端连接。
蒙哥马利模乘模块还被配置为:通过两个第一输入端分别获得Z_Mp和数值1,并通过第一输出端输出运算结果Z。
具体实现时,首先,蒙哥马利模乘模块的一个第一输入端接入数据Z_Mp,另一个第一输入端接入数据1,蒙哥马利模乘模块对Z_Mp和1执行蒙哥马利模乘运算Mont(Z_Mp,1),得到运算结果Z。
再接着,蒙哥马利模乘模块通过第一输出端,将运算结果输出至蒙哥马利模乘模块的一个第一输入端,并且蒙哥马利模乘模块的另一个第一输入端从模逆运算模块的第二输出端获得运算结果,蒙哥马利模乘模块对和执行蒙哥马利模乘运算,得到运算结果。
最后,蒙哥马利模乘模块通过第一输出端,将运算结果输出至蒙哥马利模乘模块的一个第一输入端,并且蒙哥马利模乘模块的另一个第一输入端接入数据X_Mp,蒙哥马利模乘模块对和X_Mp执行蒙哥马利模乘运算,得到运算结果。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (13)
1.一种签名/验签电路,包括点乘模块、模逆运算模块以及蒙哥马利模乘模块;
所述点乘模块被配置为:针对雅可比投影坐标体系下的坐标点P执行点乘运算,得到雅可比投影坐标体系下的运算结果R,所述运算结果R包括坐标值X_Mp和Z_Mp,X_Mp和Z_Mp均属于蒙哥马利域;
所述蒙哥马利模乘模块被配置为:获得所述Z_Mp,并对所述Z_Mp和数值1执行蒙哥马利模乘运算,得到运算结果Z;
2.根据权利要求1所述的签名/验签电路,所述蒙哥马利模乘模块还被配置为:针对仿射坐标点P的坐标值执行蒙哥马利模乘运算,以将仿射坐标点P转换为所述雅可比投影坐标体系下的坐标点P。
3.根据权利要求2所述的签名/验签电路,所述蒙哥马利模乘模块的输出端与所述点乘模块的输入端连接,所述点乘模块的输出端与所述蒙哥马利模乘模块的输入端连接;
所述蒙哥马利模乘模块的输出端还与所述模逆运算模块的输入端连接,所述模逆运算模块的输出端与所述蒙哥马利模乘模块的输入端连接。
5.一种电子装置,包括权利要求1至4任一项所述的签名/验签电路。
6.一种电子设备,包括权利要求5所述的电子装置。
12.根据权利要求11所述的电路,所述蒙哥马利模乘模块包括第一输出端和两个第一输入端,所述模逆运算模块包括第二输出端和第二输入端,第一输出端与一个第一输入端连接,第二输出端与另一个第一输入端连接,第一输出端还与第二输入端连接;
所述蒙哥马利模乘模块还被配置为:通过两个第一输入端分别获得所述Z_Mp和数值1,并通过第一输出端输出所述运算结果Z;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211050572.1A CN115113848B (zh) | 2022-08-30 | 2022-08-30 | 签名/验签电路、装置、设备、方法及坐标还原电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211050572.1A CN115113848B (zh) | 2022-08-30 | 2022-08-30 | 签名/验签电路、装置、设备、方法及坐标还原电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115113848A true CN115113848A (zh) | 2022-09-27 |
CN115113848B CN115113848B (zh) | 2022-12-13 |
Family
ID=83335819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211050572.1A Active CN115113848B (zh) | 2022-08-30 | 2022-08-30 | 签名/验签电路、装置、设备、方法及坐标还原电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115113848B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765586A (zh) * | 2015-04-15 | 2015-07-08 | 深圳国微技术有限公司 | 一种嵌入式安全芯片及其的蒙哥马利模乘运算方法 |
CN106681690A (zh) * | 2015-11-07 | 2017-05-17 | 上海复旦微电子集团股份有限公司 | 基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置 |
CN106681691A (zh) * | 2015-11-07 | 2017-05-17 | 上海复旦微电子集团股份有限公司 | 基于蒙哥马利模乘的数据处理方法、模乘运算方法和装置 |
CN110351087A (zh) * | 2019-09-06 | 2019-10-18 | 南京秉速科技有限公司 | 流水线型的蒙哥马利模乘运算方法及计算装置 |
CN110460443A (zh) * | 2019-08-09 | 2019-11-15 | 南京秉速科技有限公司 | 椭圆曲线密码的高速点加运算方法和装置 |
US20210407322A1 (en) * | 2020-06-24 | 2021-12-30 | Western Digital Technologies, Inc. | Low complexity conversion to montgomery domain |
-
2022
- 2022-08-30 CN CN202211050572.1A patent/CN115113848B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765586A (zh) * | 2015-04-15 | 2015-07-08 | 深圳国微技术有限公司 | 一种嵌入式安全芯片及其的蒙哥马利模乘运算方法 |
CN106681690A (zh) * | 2015-11-07 | 2017-05-17 | 上海复旦微电子集团股份有限公司 | 基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置 |
CN106681691A (zh) * | 2015-11-07 | 2017-05-17 | 上海复旦微电子集团股份有限公司 | 基于蒙哥马利模乘的数据处理方法、模乘运算方法和装置 |
CN110460443A (zh) * | 2019-08-09 | 2019-11-15 | 南京秉速科技有限公司 | 椭圆曲线密码的高速点加运算方法和装置 |
CN110351087A (zh) * | 2019-09-06 | 2019-10-18 | 南京秉速科技有限公司 | 流水线型的蒙哥马利模乘运算方法及计算装置 |
US20210407322A1 (en) * | 2020-06-24 | 2021-12-30 | Western Digital Technologies, Inc. | Low complexity conversion to montgomery domain |
Also Published As
Publication number | Publication date |
---|---|
CN115113848B (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW526450B (en) | Cryptographic processor | |
EP1320027B1 (en) | Elliptic curve cryptosystem apparatus, method and program | |
CN110555525B (zh) | 模型参数确定方法、装置和电子设备 | |
CN112070222B (zh) | 用于联邦学习的处理装置、加速器及方法 | |
US20080025500A1 (en) | Cryptographic device having tamper resistance to power analysis attack | |
US20130218937A1 (en) | Arithmetic apparatus, elliptic scalar multiplication method of arithmetic apparatus, elliptic scalar multiplication program, residue operation method of arithmetic apparatus, and residue operation program | |
US20220014363A1 (en) | Combined post-quantum security utilizing redefined polynomial calculation | |
CN113839781A (zh) | 用于对受保护的签名操作和密钥交换操作的侧信道攻击的对策 | |
CN108875416B (zh) | 椭圆曲线多倍点运算方法和装置 | |
US10833868B2 (en) | Direct anonymous attestation-based apparatus and method | |
CN115840936A (zh) | 数论变换的低开销侧信道保护 | |
CN109144472B (zh) | 一种二元扩域椭圆曲线的标量乘法及其实现电路 | |
CN101436932A (zh) | 一种抵抗简单电耗攻击的模幂计算方法 | |
CN115113848B (zh) | 签名/验签电路、装置、设备、方法及坐标还原电路 | |
WO2024045665A1 (zh) | 多点乘运算系统、方法、图形处理器、电子装置及设备 | |
JP2004054128A (ja) | 暗号化装置 | |
CN114465735B (zh) | 验签系统、电子装置、电子设备及验签方法 | |
CN116225369A (zh) | Sm2算法标量乘运算优化方法及系统 | |
CN111262707A (zh) | 数字签名方法及验证方法、设备、存储介质 | |
WO2023141934A1 (en) | Efficient masking of secure data in ladder-type cryptographic computations | |
CN114172644A (zh) | 一种pci密码卡的优化椭圆曲线公钥密码的方法及系统 | |
CN111460514A (zh) | 数据匹配方法、装置和电子设备 | |
CN116186794B (zh) | 密码协处理器、密码处理方法、芯片和计算机设备 | |
CN104731552B (zh) | 使用混合仿射雅可比坐标进行ecc点加的硬件架构和方法 | |
WO2024140141A1 (zh) | 椭圆曲线中的二倍点、一般点加量子运算方法及解密方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240108 Address after: 401135 No. 618 Liangjiang Avenue, Longxing Town, Yubei District, Chongqing Patentee after: Xiangdixian Computing Technology (Chongqing) Co.,Ltd. Address before: Room 901, 901, floor 9 (09), building 1, yard 5, Anding Road, Chaoyang District, Beijing 100029 Patentee before: Beijing xiangdixian Computing Technology Co.,Ltd. |