CN115113848A - 签名/验签电路、装置、设备、方法及坐标还原电路 - Google Patents

签名/验签电路、装置、设备、方法及坐标还原电路 Download PDF

Info

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
Application number
CN202211050572.1A
Other languages
English (en)
Other versions
CN115113848B (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.)
Xiangdixian Computing Technology Chongqing Co ltd
Original Assignee
Beijing Xiangdixian Computing 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 Beijing Xiangdixian Computing Technology Co Ltd filed Critical Beijing Xiangdixian Computing Technology Co Ltd
Priority to CN202211050572.1A priority Critical patent/CN115113848B/zh
Publication of CN115113848A publication Critical patent/CN115113848A/zh
Application granted granted Critical
Publication of CN115113848B publication Critical patent/CN115113848B/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • 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
    • 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/32Cryptographic 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/3247Cryptographic 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
    • 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/32Cryptographic 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/3247Cryptographic 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/3252Cryptographic 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

本公开涉及数据安全领域,提供一种签名/验签电路、装置、设备、方法及坐标还原电路,旨在降低签名/验签耗时。其中,签名/验签电路包括点乘模块、模逆运算模块以及蒙哥马利模乘模块。蒙哥马利模乘模块被配置为:对点乘运算结果Z_Mp和数值1执行蒙哥马利模乘运算,得到Z;模逆运算模块被配置为:对Z执行模逆运算,得到
Figure 906086DEST_PATH_IMAGE001
;蒙哥马利模乘模块还被配置为:对
Figure 214707DEST_PATH_IMAGE001
和数值
Figure 367471DEST_PATH_IMAGE002
执行蒙哥马利模乘运算,得到
Figure 643601DEST_PATH_IMAGE003
,并对
Figure 969540DEST_PATH_IMAGE001
Figure 398247DEST_PATH_IMAGE003
执行蒙哥马利模乘运算,得到
Figure 518650DEST_PATH_IMAGE004
,以及对点乘运算结果X_Mp和
Figure 219758DEST_PATH_IMAGE004
执行蒙哥马利模乘运算,得到签名/验签参数x。本公开中,签名/验签电路中数据传递过程的复杂度低,签名/验签耗时低。

Description

签名/验签电路、装置、设备、方法及坐标还原电路
技术领域
本公开涉及数据安全技术领域,尤其涉及一种签名/验签电路、电子装置、电子设备、签名/验签方法、以及对雅可比投影坐标进行还原的电路。
背景技术
在数据安全领域,椭圆曲线密码作为一种常用的公钥密码,可以通过椭圆曲线运算,实现加密、解密、签名、验签等功能。
相关技术中,签名/验签电路中包括多个计算模块。在利用签名/验签电路执行签名/验签流程时,会涉及针对椭圆曲线点P(P是一种仿射坐标)的点乘运算。而在执行点乘运算期间,多个计算模块之间的数据传递过程复杂,导致签名/验签的耗时较长。
发明内容
本公开的目的是提供一种签名/验签电路、电子装置、电子设备、签名/验签方法、以及对雅可比投影坐标进行还原的电路,以降低签名/验签耗时。
根据本公开的一个方面,提供一种签名/验签电路,包括点乘模块、模逆运算模块以及蒙哥马利模乘模块;
点乘模块被配置为:针对雅可比投影坐标体系下的坐标点P执行点乘运算,得到雅可比投影坐标体系下的运算结果R,运算结果R包括坐标值X_Mp和Z_Mp,X_Mp和Z_Mp均属于蒙哥马利域;
蒙哥马利模乘模块被配置为:获得Z_Mp,并对Z_Mp和数值1执行蒙哥马利模乘运算,得到运算结果Z;
模逆运算模块被配置为:获得运算结果Z,并对运算结果Z执行模逆运算,得到运算结果
Figure 199501DEST_PATH_IMAGE001
蒙哥马利模乘模块还被配置为:获得运算结果
Figure 279453DEST_PATH_IMAGE001
,并对运算结果
Figure 820024DEST_PATH_IMAGE001
和数值
Figure 290320DEST_PATH_IMAGE002
执行蒙哥马利模乘运算,得到运算结果
Figure 958062DEST_PATH_IMAGE003
蒙哥马利模乘模块还被配置为:获得运算结果
Figure 95782DEST_PATH_IMAGE001
和运算结果
Figure 807255DEST_PATH_IMAGE003
,并对
Figure 827164DEST_PATH_IMAGE001
Figure 298596DEST_PATH_IMAGE003
执行蒙哥马利模乘运算,得到运算结果
Figure 25244DEST_PATH_IMAGE004
蒙哥马利模乘模块还被配置为:获得X_Mp和运算结果
Figure 658350DEST_PATH_IMAGE004
,并对X_Mp和运算结果
Figure 618085DEST_PATH_IMAGE004
执行蒙哥马利模乘运算,得到运算结果x,运算结果x为签名/验签参数。
本公开一种可行的实现方式中,蒙哥马利模乘模块还被配置为:针对仿射坐标点P的坐标值执行蒙哥马利模乘运算,以将仿射坐标点P转换为雅可比投影坐标体系下的坐标点P。
本公开一种可行的实现方式中,蒙哥马利模乘模块的输出端与点乘模块的输入端连接,点乘模块的输出端与蒙哥马利模乘模块的输入端连接;
蒙哥马利模乘模块的输出端还与模逆运算模块的输入端连接,模逆运算模块的输出端与蒙哥马利模乘模块的输入端连接。
本公开一种可行的实现方式中,R等于
Figure 424367DEST_PATH_IMAGE005
,n等于Z的位长。
根据本公开的一个方面,提供一种电子装置,该电子装置包括上述任一实施例中的签名/验签电路。在一些使用场景下,该电子装置的产品形式体现为显卡;在另一些使用场景下,该电子装置的产品形式体现为CPU主板。
根据本公开的一个方面,提供一种电子设备,该电子设备包括上述的电子装置。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、VR设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机等;在一些使用场景下,该电子设备的产品形式是密码机、业务办理柜台(例如ATM自动存取款机)等。
根据本公开的一个方面,提供一种签名/验签方法,方法包括:
获得点乘运算结果,点乘运算结果是一个在雅可比投影坐标系下的坐标点,坐标点包括坐标值X_Mp和Z_Mp,X_Mp和Z_Mp均属于蒙哥马利域;
获得
Figure 271100DEST_PATH_IMAGE001
Figure 340687DEST_PATH_IMAGE003
,并对
Figure 7292DEST_PATH_IMAGE001
Figure 69795DEST_PATH_IMAGE003
执行蒙哥马利模乘运算,得到运算结果
Figure 567772DEST_PATH_IMAGE004
Figure 808261DEST_PATH_IMAGE001
是在对Z_Mp和数值1执行蒙哥马利模乘运算以得到运算结果Z后,再对运算结果Z执行模逆运算后得到的运算结果;
Figure 962162DEST_PATH_IMAGE003
是在对
Figure 313509DEST_PATH_IMAGE001
和数值
Figure 931572DEST_PATH_IMAGE002
执行蒙哥马利模乘运算后得到的运算结果;
对X_Mp和运算结果
Figure 592229DEST_PATH_IMAGE004
执行蒙哥马利模乘运算,得到运算结果x,并根据运算结果x执行签名/验签流程的其余操作。
本公开一种可行的实现方式中,方法还包括:
对Z_Mp和数值1执行蒙哥马利模乘运算,得到运算结果Z;
对运算结果Z执行模逆运算,得到运算结果
Figure 233426DEST_PATH_IMAGE001
对运算结果
Figure 388464DEST_PATH_IMAGE001
和数值
Figure 64296DEST_PATH_IMAGE002
执行蒙哥马利模乘运算,得到运算结果
Figure 895854DEST_PATH_IMAGE003
本公开一种可行的实现方式中,R等于
Figure 86664DEST_PATH_IMAGE006
,n等于Z的位长。
根据本公开的一个方面,提供一种对雅可比投影坐标进行还原的电路,雅可比投影坐标至少包括坐标值X_Mp和Z_Mp,X_Mp和Z_Mp均属于蒙哥马利域,电路包括蒙哥马利模乘模块;
蒙哥马利模乘模块被配置为:获得
Figure 779814DEST_PATH_IMAGE001
Figure 310152DEST_PATH_IMAGE003
,并对
Figure 797765DEST_PATH_IMAGE001
Figure 475871DEST_PATH_IMAGE003
执行蒙哥马利模乘运算,得到运算结果
Figure 221979DEST_PATH_IMAGE004
Figure 872404DEST_PATH_IMAGE001
是在对Z_Mp和数值1执行蒙哥马利模乘运算以得到运算结果Z后,再对运算结果Z执行模逆运算后得到的运算结果;
Figure 530918DEST_PATH_IMAGE003
是在对
Figure 634003DEST_PATH_IMAGE001
和数值
Figure 465693DEST_PATH_IMAGE002
执行蒙哥马利模乘运算后得到的运算结果;
蒙哥马利模乘模块还被配置为:获得X_Mp和运算结果
Figure 485470DEST_PATH_IMAGE004
,并对X_Mp和运算结果
Figure 580465DEST_PATH_IMAGE004
执行蒙哥马利模乘运算,得到运算结果x。
本公开一种可行的实现方式中,电路还包括模逆运算模块;
蒙哥马利模乘模块还被配置为:获得Z_Mp,并对Z_Mp和数值1执行蒙哥马利模乘运算,得到运算结果Z;
模逆运算模块被配置为:获得运算结果Z,并对运算结果Z执行模逆运算,得到运算结果
Figure 170847DEST_PATH_IMAGE001
蒙哥马利模乘模块还被配置为:获得运算结果
Figure 743911DEST_PATH_IMAGE001
,并对运算结果
Figure 165665DEST_PATH_IMAGE001
和数值
Figure 680828DEST_PATH_IMAGE002
执行蒙哥马利模乘运算,得到运算结果
Figure 492927DEST_PATH_IMAGE003
本公开一种可行的实现方式中,蒙哥马利模乘模块包括第一输出端和两个第一输入端,模逆运算模块包括第二输出端和第二输入端,第一输出端与一个第一输入端连接,第二输出端与另一个第一输入端连接,第一输出端还与第二输入端连接;
蒙哥马利模乘模块还被配置为:通过两个第一输入端分别获得Z_Mp和数值1,并通过第一输出端输出运算结果Z;
模逆运算模块还被配置为:通过第二输入端从第一输出端获得运算结果Z,并通过第二输出端输出运算结果
Figure 869681DEST_PATH_IMAGE001
蒙哥马利模乘模块还被配置为:通过一个第一输入端获得数值
Figure 349204DEST_PATH_IMAGE002
,通过另一个第一输入端从第二输出端获得运算结果
Figure 582739DEST_PATH_IMAGE001
,并通过第一输出端输出运算结果
Figure 131401DEST_PATH_IMAGE003
蒙哥马利模乘模块还被配置为:通过一个第一输入端从第一输出端获得运算结果
Figure 311847DEST_PATH_IMAGE003
,通过另一个第一输入端从第二输出端获得运算结果
Figure 442614DEST_PATH_IMAGE001
,并通过第一输出端输出运算结果
Figure 50313DEST_PATH_IMAGE004
蒙哥马利模乘模块还被配置为:通过一个第一输入端从第一输出端获得运算结果
Figure 837003DEST_PATH_IMAGE004
,通过另一个第一输入端获得X_Mp,并通过第一输出端输出运算结果x。
本公开一种可行的实现方式中,R等于
Figure 70407DEST_PATH_IMAGE007
,n等于Z的位长。
附图说明
图1是本公开一实施例提供的签名/验签电路的结构示意图;
图2是本公开一实施例提供的签名/验签方法的流程示意图;
图3是本公开一实施例提供的对雅可比投影坐标进行还原的电路的结构示意图;
图4是本公开另一实施例提供的对雅可比投影坐标进行还原的电路的结构示意图。
具体实施方式
在介绍本公开实施例之前,应当说明的是:本公开部分实施例被描述为处理流程,虽然流程的各个操作步骤可能被冠以顺序的步骤编号,但是其中的操作步骤可以被并行地、并发地或者同时实施。
本公开实施例中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。
本公开实施例中可能使用了术语“和/或”,“和/或”包括其中一个或更多所列出的相关联特征的任意和所有组合。
应当理解的是,当描述两个部件的连接关系或通信关系时,除非明确指明两个部件之间直接连接或直接通信,否则,两个部件的连接或通信可以理解为直接连接或通信,也可以理解为通过中间部件间接连接或通信。
为了使本公开实施例中的技术方案及优点更加清楚明白,以下结合附图对本公开的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本公开的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
椭圆曲线点的点乘运算kP是椭圆曲线运算中的一种基本运算,其中P(x,y)是椭圆曲线上的一个坐标点(以下称为仿射坐标点),点乘运算kP的运算结果为坐标点R(x,y)。为了简化点乘运算,通常会将仿射坐标点P(x,y)转换为雅可比投影坐标系下的坐标点P(X,Y,Z),其中
Figure 258943DEST_PATH_IMAGE008
Figure 834281DEST_PATH_IMAGE009
Figure 577109DEST_PATH_IMAGE010
。然后针对坐标点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()表示蒙哥马利模乘运算。
模逆运算模块被配置为:获得运算结果Z,并对运算结果Z执行模逆运算
Figure 896095DEST_PATH_IMAGE011
,得到运算结果
Figure 453984DEST_PATH_IMAGE001
。其中,p表示模数。
蒙哥马利模乘模块还被配置为:获得运算结果
Figure 403486DEST_PATH_IMAGE001
,并对运算结果
Figure 164768DEST_PATH_IMAGE001
和数值
Figure 225128DEST_PATH_IMAGE002
执行蒙哥马利模乘运算
Figure 184994DEST_PATH_IMAGE012
,得到运算结果
Figure 820243DEST_PATH_IMAGE003
。需要说明的是,此处
Figure 803243DEST_PATH_IMAGE002
中的R不同于上述坐标点R,此处的R等于
Figure 667294DEST_PATH_IMAGE013
,n等于Z的位长。本公开中,
Figure 950508DEST_PATH_IMAGE003
表示蒙哥马利域中的
Figure 38549DEST_PATH_IMAGE001
蒙哥马利模乘模块还被配置为:获得运算结果
Figure 23692DEST_PATH_IMAGE001
和运算结果
Figure 425854DEST_PATH_IMAGE003
,并对
Figure 563574DEST_PATH_IMAGE001
Figure 822518DEST_PATH_IMAGE003
执行蒙哥马利模乘运算
Figure 45688DEST_PATH_IMAGE014
,得到运算结果
Figure 235230DEST_PATH_IMAGE004
蒙哥马利模乘模块还被配置为:获得X_Mp和运算结果
Figure 227457DEST_PATH_IMAGE004
,并对X_Mp和运算结果
Figure 922881DEST_PATH_IMAGE004
执行蒙哥马利模乘运算
Figure 633348DEST_PATH_IMAGE015
,得到运算结果x,运算结果x为签名/验签参数。
本公开中,签名/验签电路在执行签名/验签流程时,点乘模块、蒙哥马利模乘模块、模逆运算模块三者之间的数据传递过程的复杂度低,特别是蒙哥马利模乘模块所需执行的蒙哥马利模乘运算次数较少,有利于提高签名/验签参数x的生成速度,进而降低签名/验签耗时。
在一些实施例中,蒙哥马利模乘模块还被配置为:针对仿射坐标点P的坐标值执行蒙哥马利模乘运算,以将仿射坐标点P转换为雅可比投影坐标体系下的坐标点P。
在将仿射坐标点P(x,y)转换为雅可比投影坐标体系下的坐标点P(X,Y,Z)时,具体的转换公式为:
Figure 377313DEST_PATH_IMAGE016
Figure 738893DEST_PATH_IMAGE017
Figure 542901DEST_PATH_IMAGE018
,其中
Figure 475085DEST_PATH_IMAGE019
表示模乘运算,模数为p。本公开在进行x和
Figure 22741DEST_PATH_IMAGE020
的模乘运算时,由蒙哥马利模乘模块对x和
Figure 238827DEST_PATH_IMAGE020
执行蒙哥马利模乘运算。同样地,本公开在进行y和
Figure 276053DEST_PATH_IMAGE021
的模乘运算时,由蒙哥马利模乘模块对y和
Figure 695533DEST_PATH_IMAGE021
执行蒙哥马利模乘运算。经过蒙哥马利模乘模块的运算,从而将仿射坐标点P转换为雅可比投影坐标体系下的坐标点P。
具体地,以
Figure 781301DEST_PATH_IMAGE022
为例,令Z=1,则只需要利用蒙哥马利模乘模块对x执行进域操作,即
Figure 602627DEST_PATH_IMAGE023
,得到的执行结果就是X的蒙哥马利域表示,从而完成了x至X的转换。
本公开中,通过蒙哥马利模乘模块,将仿射坐标点P(x,y)转换为雅可比投影坐标体系下的坐标点P(X,Y,Z),有利于提高点乘运算速率,进而降低签名/验签耗时。
如图1所示,蒙哥马利模乘模块的输出端与点乘模块的输入端连接,点乘模块的输出端与蒙哥马利模乘模块的输入端连接。蒙哥马利模乘模块的输出端还与模逆运算模块的输入端连接,模逆运算模块的输出端与蒙哥马利模乘模块的输入端连接。
本公开中,由于蒙哥马利模乘模块的输出端与点乘模块的输入端连接,因此蒙哥马利模乘模块在对仿射坐标点P的坐标值执行蒙哥马利模乘运算后,可以将运算结果(即雅可比投影坐标体系下的坐标点的坐标值)传递给点乘模块的输入端,使得点乘模块可以针对雅可比投影坐标体系下的坐标点执行点乘运算。
由于点乘模块的输出端与蒙哥马利模乘模块的输入端连接,因此点乘模块在进行点乘运算后,可以将点乘运算结果(包括坐标值X_Mp和Z_Mp)传递给蒙哥马利模乘模块的输入端,使得蒙哥马利模乘模块可以针对X_Mp或Z_Mp执行相应的蒙哥马利模乘运算。
由于蒙哥马利模乘模块的输出端还与模逆运算模块的输入端连接,因此蒙哥马利模乘模块在执行蒙哥马利模乘运算Mont(Z_Mp,1)后,可以将运算结果Z传递给模逆运算模块的输入端,使得模逆运算模块可以针对运算结果Z执行模逆运算。
由于模逆运算模块的输出端与蒙哥马利模乘模块的输入端连接,因此模逆运算模块在针对运算结果Z执行模逆运算后,可以将运算结果
Figure 263284DEST_PATH_IMAGE001
传递给蒙哥马利模乘模块的输入端,使得蒙哥马利模乘模块可以针对运算结果
Figure 966798DEST_PATH_IMAGE001
执行蒙哥马利模乘运算。
本公开实施例还提供一种电子装置,该电子装置包括上述任一实施例中的签名/验签电路。在一些使用场景下,该电子装置的产品形式体现为显卡;在另一些使用场景下,该电子装置的产品形式体现为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)的过程中,具体的转换公式为:
Figure 856256DEST_PATH_IMAGE024
Figure 797667DEST_PATH_IMAGE025
Figure 379959DEST_PATH_IMAGE026
,其中
Figure 23298DEST_PATH_IMAGE019
表示模乘运算,模数为p。本公开在进行x和
Figure 716448DEST_PATH_IMAGE027
的模乘运算时,具体是对x和
Figure 981207DEST_PATH_IMAGE027
执行蒙哥马利模乘运算。同样地,本公开在进行y和
Figure 734399DEST_PATH_IMAGE028
的模乘运算时,具体是对y和
Figure 888473DEST_PATH_IMAGE028
执行蒙哥马利模乘运算。
S220:获得
Figure 182051DEST_PATH_IMAGE001
Figure 832475DEST_PATH_IMAGE003
,并对
Figure 225410DEST_PATH_IMAGE001
Figure 594075DEST_PATH_IMAGE003
执行蒙哥马利模乘运算
Figure 878294DEST_PATH_IMAGE029
,得到运算结果
Figure 445542DEST_PATH_IMAGE030
其中,
Figure 274958DEST_PATH_IMAGE001
是在对Z_Mp和数值1执行蒙哥马利模乘运算以得到运算结果Z后,再对运算结果Z执行模逆运算后得到的运算结果;
Figure 130918DEST_PATH_IMAGE003
是在对
Figure 703982DEST_PATH_IMAGE001
和数值
Figure 312687DEST_PATH_IMAGE002
执行蒙哥马利模乘运算后得到的运算结果。需要说明的是,此处
Figure 375321DEST_PATH_IMAGE002
中的R不同于上述坐标点R,此处的R等于
Figure 452998DEST_PATH_IMAGE031
,n等于Z的位长。
S230:对X_Mp和运算结果
Figure 829753DEST_PATH_IMAGE004
执行蒙哥马利模乘运算
Figure 309276DEST_PATH_IMAGE032
,得到运算结果x,并根据运算结果x执行签名/验签流程的其余操作。
以多种验签流程中的一种验签流程为例,在得到运算结果x之后,可以对x执行取模操作,得到取模结果v;然后将取模结果v与验签参数r进行比较,如果两者相等,则确定签名有效,否则确定签名无效。
本公开中,在执行签名/验签流程时,数据处理的复杂度低,特别是所需执行的蒙哥马利模乘运算次数较少,有利于提高签名/验签参数x的生成速度,进而降低签名/验签耗时。
在一些实施例中,在获得点乘运算结果之后,还可以包括以下步骤:
S211:对Z_Mp和数值1执行蒙哥马利模乘运算Mont(Z_Mp,1),得到运算结果Z。
S212:对运算结果Z执行模逆运算
Figure 995341DEST_PATH_IMAGE033
,得到运算结果
Figure 357052DEST_PATH_IMAGE001
S213:对运算结果
Figure 537498DEST_PATH_IMAGE001
和数值
Figure 605948DEST_PATH_IMAGE002
执行蒙哥马利模乘运算
Figure 213647DEST_PATH_IMAGE034
,得到运算结果
Figure 62654DEST_PATH_IMAGE003
通过执行步骤S211至S213,从而计算出
Figure 30479DEST_PATH_IMAGE001
Figure 219015DEST_PATH_IMAGE003
,进而可以在步骤S220中对
Figure 997615DEST_PATH_IMAGE001
Figure 333918DEST_PATH_IMAGE003
执行蒙哥马利模乘运算。
参考图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所示,该电路包括蒙哥马利模乘模块。
蒙哥马利模乘模块被配置为:获得
Figure 856167DEST_PATH_IMAGE001
Figure 148477DEST_PATH_IMAGE003
,并对
Figure 97978DEST_PATH_IMAGE001
Figure 655998DEST_PATH_IMAGE003
执行蒙哥马利模乘运算
Figure 981937DEST_PATH_IMAGE035
,得到运算结果
Figure 145065DEST_PATH_IMAGE004
其中,Mont()是指蒙哥马利模乘运算,
Figure 249157DEST_PATH_IMAGE001
是在对Z_Mp和数值1执行蒙哥马利模乘运算以得到运算结果Z后,再对运算结果Z执行模逆运算后得到的运算结果。
Figure 560052DEST_PATH_IMAGE003
是在对
Figure 424103DEST_PATH_IMAGE001
和数值
Figure 176158DEST_PATH_IMAGE002
执行蒙哥马利模乘运算后得到的运算结果。需要说明的是,此处
Figure 733042DEST_PATH_IMAGE002
中的R不同于上述坐标点R,此处的R等于
Figure 265654DEST_PATH_IMAGE036
,n等于Z的位长。
在一些实施例中,
Figure 182663DEST_PATH_IMAGE001
Figure 789225DEST_PATH_IMAGE003
是由图3中的蒙哥马利模乘模块和其他模块(例如模逆运算模块)相互配合运算出的结果。在另一些实施例中,
Figure 517010DEST_PATH_IMAGE001
Figure 536918DEST_PATH_IMAGE003
是一个或多个其他模块(例如模逆运算模块和其他蒙哥马利模乘模块)运算出的结果。
蒙哥马利模乘模块还被配置为:获得X_Mp和运算结果
Figure 742772DEST_PATH_IMAGE004
,并对X_Mp和运算结果
Figure 984266DEST_PATH_IMAGE004
执行蒙哥马利模乘运算
Figure 617373DEST_PATH_IMAGE037
,得到运算结果x。
本公开中,蒙哥马利模乘模块对
Figure 62261DEST_PATH_IMAGE001
Figure 868543DEST_PATH_IMAGE003
执行蒙哥马利模乘运算,得到运算结果
Figure 980855DEST_PATH_IMAGE004
,然后对X_Mp和运算结果
Figure 768551DEST_PATH_IMAGE004
执行蒙哥马利模乘运算,得到运算结果x。本公开中,蒙哥马利模乘模块需要执行的蒙哥马利模乘次数较少,有利于缩短蒙哥马利模乘模块的运算耗时,以提高X_Mp还原至x的效率,进而缩减签名/验签耗时。
参考图4,图4是本公开另一实施例提供的对雅可比投影坐标进行还原的电路的结构示意图,如图4所示,该电路包括蒙哥马利模乘模块和模逆运算模块。
蒙哥马利模乘模块被配置为:获得Z_Mp,并对Z_Mp和数值1执行蒙哥马利模乘运算Mont(Z_Mp,1),得到运算结果Z。
模逆运算模块被配置为:获得运算结果Z,并对运算结果Z执行模逆运算
Figure 966315DEST_PATH_IMAGE038
,得到运算结果
Figure 513971DEST_PATH_IMAGE001
,其中p为模数。
蒙哥马利模乘模块还被配置为:获得运算结果
Figure 277527DEST_PATH_IMAGE001
,并对运算结果
Figure 986857DEST_PATH_IMAGE001
和数值
Figure 921184DEST_PATH_IMAGE002
执行蒙哥马利模乘运算
Figure 272531DEST_PATH_IMAGE039
,得到所述运算结果
Figure 93857DEST_PATH_IMAGE003
蒙哥马利模乘模块还被配置为:获得运算结果
Figure 505246DEST_PATH_IMAGE001
和运算结果
Figure 208760DEST_PATH_IMAGE003
,并对运算结果
Figure 347486DEST_PATH_IMAGE001
和运算结果
Figure 23318DEST_PATH_IMAGE003
执行蒙哥马利模乘运算
Figure 340030DEST_PATH_IMAGE040
,得到运算结果
Figure 530840DEST_PATH_IMAGE004
蒙哥马利模乘模块还被配置为:获得X_Mp和运算结果
Figure 223989DEST_PATH_IMAGE004
,并对X_Mp和运算结果
Figure 269175DEST_PATH_IMAGE004
执行蒙哥马利模乘运算
Figure 756788DEST_PATH_IMAGE041
,得到运算结果x。
本公开中,电路针对待还原的坐标值X_Mp,通过模逆运算模块执行1次模逆运算,并通过蒙哥马利模乘模块执行4次蒙哥马利模乘运算,从而快速将坐标值X_Mp还原成坐标值x,坐标值x作为关键的签名/验签参数,会参与其余的签名/验签流程。本公开中,通过电路快速实现坐标值X_Mp到坐标值x的还原,有利于降低签名/验签耗时。
如图4所示,蒙哥马利模乘模块包括第一输出端和两个第一输入端,模逆运算模块包括第二输出端和第二输入端,第一输出端与一个第一输入端连接,第二输出端与另一个第一输入端连接,第一输出端还与第二输入端连接。
蒙哥马利模乘模块还被配置为:通过两个第一输入端分别获得Z_Mp和数值1,并通过第一输出端输出运算结果Z。
模逆运算模块还被配置为:通过第二输入端从第一输出端获得运算结果Z,并通过第二输出端输出运算结果
Figure 638156DEST_PATH_IMAGE001
蒙哥马利模乘模块还被配置为:通过一个第一输入端获得数值
Figure 666155DEST_PATH_IMAGE002
,通过另一个第一输入端从第二输出端获得运算结果
Figure 51000DEST_PATH_IMAGE001
,并通过第一输出端输出运算结果
Figure 224361DEST_PATH_IMAGE003
蒙哥马利模乘模块还被配置为:通过一个第一输入端从第一输出端获得运算结果
Figure 389763DEST_PATH_IMAGE003
,通过另一个第一输入端从第二输出端获得运算结果
Figure 424716DEST_PATH_IMAGE001
,并通过第一输出端输出运算结果
Figure 929646DEST_PATH_IMAGE004
蒙哥马利模乘模块还被配置为:通过一个第一输入端从第一输出端获得运算结果
Figure 759062DEST_PATH_IMAGE004
,通过另一个第一输入端获得X_Mp,并通过第一输出端输出运算结果x。
具体实现时,首先,蒙哥马利模乘模块的一个第一输入端接入数据Z_Mp,另一个第一输入端接入数据1,蒙哥马利模乘模块对Z_Mp和1执行蒙哥马利模乘运算Mont(Z_Mp,1),得到运算结果Z。
然后,蒙哥马利模乘模块通过第一输出端,将运算结果Z输出至模逆运算模块的第二输入端,模逆运算模块对Z执行模逆运算
Figure 864290DEST_PATH_IMAGE042
,得到运算结果
Figure 234092DEST_PATH_IMAGE001
接着,模逆运算模块通过第二输出端,将运算结果
Figure 859108DEST_PATH_IMAGE001
输出至蒙哥马利模乘模块的一个第一输入端,并且蒙哥马利模乘模块的另一个第一输入端接入数据
Figure 859425DEST_PATH_IMAGE002
,蒙哥马利模乘模块对
Figure 937102DEST_PATH_IMAGE001
Figure 376174DEST_PATH_IMAGE002
执行蒙哥马利模乘运算
Figure 104964DEST_PATH_IMAGE043
,得到运算结果
Figure 276183DEST_PATH_IMAGE003
再接着,蒙哥马利模乘模块通过第一输出端,将运算结果
Figure 841156DEST_PATH_IMAGE044
输出至蒙哥马利模乘模块的一个第一输入端,并且蒙哥马利模乘模块的另一个第一输入端从模逆运算模块的第二输出端获得运算结果
Figure 756023DEST_PATH_IMAGE001
,蒙哥马利模乘模块对
Figure 152369DEST_PATH_IMAGE003
Figure 9335DEST_PATH_IMAGE001
执行蒙哥马利模乘运算
Figure 796026DEST_PATH_IMAGE045
,得到运算结果
Figure 514583DEST_PATH_IMAGE004
最后,蒙哥马利模乘模块通过第一输出端,将运算结果
Figure 765436DEST_PATH_IMAGE004
输出至蒙哥马利模乘模块的一个第一输入端,并且蒙哥马利模乘模块的另一个第一输入端接入数据X_Mp,蒙哥马利模乘模块对
Figure 544036DEST_PATH_IMAGE004
和X_Mp执行蒙哥马利模乘运算
Figure 67290DEST_PATH_IMAGE046
,得到运算结果
Figure 589538DEST_PATH_IMAGE047
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

Claims (13)

1.一种签名/验签电路,包括点乘模块、模逆运算模块以及蒙哥马利模乘模块;
所述点乘模块被配置为:针对雅可比投影坐标体系下的坐标点P执行点乘运算,得到雅可比投影坐标体系下的运算结果R,所述运算结果R包括坐标值X_Mp和Z_Mp,X_Mp和Z_Mp均属于蒙哥马利域;
所述蒙哥马利模乘模块被配置为:获得所述Z_Mp,并对所述Z_Mp和数值1执行蒙哥马利模乘运算,得到运算结果Z;
所述模逆运算模块被配置为:获得所述运算结果Z,并对所述运算结果Z执行模逆运算,得到运算结果
Figure 299990DEST_PATH_IMAGE001
所述蒙哥马利模乘模块还被配置为:获得所述运算结果
Figure 951420DEST_PATH_IMAGE001
,并对所述运算结果
Figure 885878DEST_PATH_IMAGE001
和数值
Figure 613663DEST_PATH_IMAGE002
执行蒙哥马利模乘运算,得到运算结果
Figure 305675DEST_PATH_IMAGE003
所述蒙哥马利模乘模块还被配置为:获得所述运算结果
Figure 777108DEST_PATH_IMAGE001
和所述运算结果
Figure 18602DEST_PATH_IMAGE003
,并对
Figure 448447DEST_PATH_IMAGE001
Figure 158914DEST_PATH_IMAGE003
执行蒙哥马利模乘运算,得到运算结果
Figure 902879DEST_PATH_IMAGE004
所述蒙哥马利模乘模块还被配置为:获得所述X_Mp和所述运算结果
Figure 749612DEST_PATH_IMAGE004
,并对所述X_Mp和所述运算结果
Figure 615937DEST_PATH_IMAGE004
执行蒙哥马利模乘运算,得到运算结果x,所述运算结果x为签名/验签参数。
2.根据权利要求1所述的签名/验签电路,所述蒙哥马利模乘模块还被配置为:针对仿射坐标点P的坐标值执行蒙哥马利模乘运算,以将仿射坐标点P转换为所述雅可比投影坐标体系下的坐标点P。
3.根据权利要求2所述的签名/验签电路,所述蒙哥马利模乘模块的输出端与所述点乘模块的输入端连接,所述点乘模块的输出端与所述蒙哥马利模乘模块的输入端连接;
所述蒙哥马利模乘模块的输出端还与所述模逆运算模块的输入端连接,所述模逆运算模块的输出端与所述蒙哥马利模乘模块的输入端连接。
4.根据权利要求1至3任一项所述的签名/验签电路,R等于
Figure 797388DEST_PATH_IMAGE005
,n等于Z的位长。
5.一种电子装置,包括权利要求1至4任一项所述的签名/验签电路。
6.一种电子设备,包括权利要求5所述的电子装置。
7.一种签名/验签方法,所述方法包括:
获得点乘运算结果,所述点乘运算结果是一个在雅可比投影坐标系下的坐标点,所述坐标点包括坐标值X_Mp和Z_Mp,所述X_Mp和所述Z_Mp均属于蒙哥马利域;
获得
Figure 610624DEST_PATH_IMAGE001
Figure 311863DEST_PATH_IMAGE003
,并对所述
Figure 286773DEST_PATH_IMAGE001
和所述
Figure 768570DEST_PATH_IMAGE003
执行蒙哥马利模乘运算,得到运算结果
Figure 103605DEST_PATH_IMAGE004
;所述
Figure 924930DEST_PATH_IMAGE001
是在对所述Z_Mp和数值1执行蒙哥马利模乘运算以得到运算结果Z后,再对运算结果Z执行模逆运算后得到的运算结果;所述
Figure 867478DEST_PATH_IMAGE003
是在对所述
Figure 774255DEST_PATH_IMAGE001
和数值
Figure 663713DEST_PATH_IMAGE002
执行蒙哥马利模乘运算后得到的运算结果;
对所述X_Mp和所述运算结果
Figure 588813DEST_PATH_IMAGE004
执行蒙哥马利模乘运算,得到运算结果x,并根据所述运算结果x执行签名/验签流程的其余操作。
8.根据权利要求7所述的方法,所述方法还包括:
对所述Z_Mp和数值1执行蒙哥马利模乘运算,得到所述运算结果Z;
对所述运算结果Z执行模逆运算,得到所述运算结果
Figure 171104DEST_PATH_IMAGE001
对所述运算结果
Figure 361914DEST_PATH_IMAGE001
和数值
Figure 55063DEST_PATH_IMAGE002
执行蒙哥马利模乘运算,得到所述运算结果
Figure 850981DEST_PATH_IMAGE003
9.根据权利要求7或8所述的方法,R等于
Figure 587862DEST_PATH_IMAGE005
,n等于Z的位长。
10.一种对雅可比投影坐标进行还原的电路,所述雅可比投影坐标至少包括坐标值X_Mp和Z_Mp,所述X_Mp和所述Z_Mp均属于蒙哥马利域,所述电路包括蒙哥马利模乘模块;
所述蒙哥马利模乘模块被配置为:获得
Figure 203651DEST_PATH_IMAGE001
Figure 497229DEST_PATH_IMAGE003
,并对所述
Figure 147653DEST_PATH_IMAGE001
和所述
Figure 806167DEST_PATH_IMAGE003
执行蒙哥马利模乘运算,得到运算结果
Figure 424100DEST_PATH_IMAGE004
;所述
Figure 255789DEST_PATH_IMAGE001
是在对所述Z_Mp和数值1执行蒙哥马利模乘运算以得到运算结果Z后,再对运算结果Z执行模逆运算后得到的运算结果;所述
Figure 760720DEST_PATH_IMAGE003
是在对所述
Figure 590136DEST_PATH_IMAGE001
和数值
Figure 180517DEST_PATH_IMAGE002
执行蒙哥马利模乘运算后得到的运算结果;
所述蒙哥马利模乘模块还被配置为:获得所述X_Mp和所述运算结果
Figure 815898DEST_PATH_IMAGE004
,并对所述X_Mp和所述运算结果
Figure 690182DEST_PATH_IMAGE004
执行蒙哥马利模乘运算,得到运算结果x。
11.根据权利要求10所述的电路,所述电路还包括模逆运算模块;
所述蒙哥马利模乘模块还被配置为:获得所述Z_Mp,并对所述Z_Mp和数值1执行蒙哥马利模乘运算,得到所述运算结果Z;
所述模逆运算模块被配置为:获得所述运算结果Z,并对所述运算结果Z执行模逆运算,得到所述运算结果
Figure 690499DEST_PATH_IMAGE001
所述蒙哥马利模乘模块还被配置为:获得所述运算结果
Figure 768176DEST_PATH_IMAGE001
,并对所述运算结果
Figure 941669DEST_PATH_IMAGE001
和数值
Figure 421191DEST_PATH_IMAGE002
执行蒙哥马利模乘运算,得到所述运算结果
Figure 841677DEST_PATH_IMAGE003
12.根据权利要求11所述的电路,所述蒙哥马利模乘模块包括第一输出端和两个第一输入端,所述模逆运算模块包括第二输出端和第二输入端,第一输出端与一个第一输入端连接,第二输出端与另一个第一输入端连接,第一输出端还与第二输入端连接;
所述蒙哥马利模乘模块还被配置为:通过两个第一输入端分别获得所述Z_Mp和数值1,并通过第一输出端输出所述运算结果Z;
所述模逆运算模块还被配置为:通过第二输入端从第一输出端获得所述运算结果Z,并通过第二输出端输出所述运算结果
Figure 406651DEST_PATH_IMAGE001
所述蒙哥马利模乘模块还被配置为:通过一个第一输入端获得数值
Figure 587096DEST_PATH_IMAGE002
,通过另一个第一输入端从第二输出端获得运算结果
Figure 983443DEST_PATH_IMAGE001
,并通过第一输出端输出所述运算结果
Figure 591142DEST_PATH_IMAGE003
所述蒙哥马利模乘模块还被配置为:通过一个第一输入端从第一输出端获得所述运算结果
Figure 361520DEST_PATH_IMAGE003
,通过另一个第一输入端从第二输出端获得所述运算结果
Figure 345657DEST_PATH_IMAGE001
,并通过第一输出端输出所述运算结果
Figure 596510DEST_PATH_IMAGE004
所述蒙哥马利模乘模块还被配置为:通过一个第一输入端从第一输出端获得所述运算结果
Figure 375110DEST_PATH_IMAGE004
,通过另一个第一输入端获得所述X_Mp,并通过第一输出端输出所述运算结果x。
13.根据权利要求10至12任一项所述的电路,R等于
Figure 383517DEST_PATH_IMAGE005
,n等于Z的位长。
CN202211050572.1A 2022-08-30 2022-08-30 签名/验签电路、装置、设备、方法及坐标还原电路 Active CN115113848B (zh)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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.