CN114172644A - 一种pci密码卡的优化椭圆曲线公钥密码的方法及*** - Google Patents

一种pci密码卡的优化椭圆曲线公钥密码的方法及*** Download PDF

Info

Publication number
CN114172644A
CN114172644A CN202111466097.1A CN202111466097A CN114172644A CN 114172644 A CN114172644 A CN 114172644A CN 202111466097 A CN202111466097 A CN 202111466097A CN 114172644 A CN114172644 A CN 114172644A
Authority
CN
China
Prior art keywords
algorithm
core
module
cores
dot product
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
CN202111466097.1A
Other languages
English (en)
Other versions
CN114172644B (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.)
Sanwei Xin'an Technology Co ltd
Original Assignee
Sanwei Xin'an 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 Sanwei Xin'an Technology Co ltd filed Critical Sanwei Xin'an Technology Co ltd
Priority to CN202111466097.1A priority Critical patent/CN114172644B/zh
Publication of CN114172644A publication Critical patent/CN114172644A/zh
Application granted granted Critical
Publication of CN114172644B publication Critical patent/CN114172644B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种PCI密码卡的优化椭圆曲线公钥密码的方法及***,在算法核中设计了异步调度模块、多核并行模块以及主算法核模块;该方法包括:确定待优化椭圆曲线公钥密码算法的执行步骤;异步调度模块负责接收算法运算指令和调度功能,主算法核模块负责接收输入参数(密钥、待运算的明文数据),输出运算结果;多核并行模块配置多个点乘运算核,接收异步调度模块启动信号并输出点乘运算结果。该方法通过异步方式优化的椭圆曲线公钥密码算法,可以令主算法核及多核并行模块同时运行,进而优化掉点乘运算占用时间。多核并行模块中算法核的数量越多,在资源允许的条件下,算法运行越快,性能越高。

Description

一种PCI密码卡的优化椭圆曲线公钥密码的方法及***
技术领域
本发明涉及信息安全领域,特别涉及一种PCI密码卡的优化椭圆曲线公钥密码的方法及***,采用异步方式优化椭圆曲线公钥密码。
背景技术
椭圆曲线密码算法是一种公开的公钥密码算法,自1985年被提出后得到广泛应用,相较于RSA算法,具有更短的密钥,可提供相当的或更高的安全级别。SM2密码算法是我国基于ECC椭圆曲线密码理论自主研发设计,有效提升了我国信息安全保障水平,目前被广泛应用在各种密码安全应用平台上。
PCI密码卡作为一种密码安全设备平台,具有密码运算、密钥管理、产生物理随机数和保护设备自身安全的功能,可应用在需要密码运算和密钥管理等安全功能的保密设备上,如网络密码机、计算机设备、安全终端、证书中心(CA)***有关的设备。随着信息安全行业对高性能密码运算需求的逐步增多,在保密设备上,如何提升密码运算的性能成为行业内关注的重点。
以国产SM2算法为例,目前提高SM2算法性能一般采用两种思路。第一种方式是配置更多的SM2算法核,采用多核战术,该方案能够整体上提高SM2算法的性能,该方案不涉及SM2算法本身的优化,软算法库借助强力的CPU即可实现。但硬件ASIC算法芯片设计成多核,这种多核模式对芯片应用者会造成了很大的麻烦,需要开发对应的数据通讯机制(PCIE)以及重新设计调度机制进行配合,该方式实现的硬件产品易用性不高。第二种方式是单算法核SM2算法级优化,比如:有限域计算进行优化,转化仿射坐标、快速固定点的点乘优化等,上述方案能够提高SM2算法的性能,SM2签名性能提升大约2~3倍。
椭圆曲线公钥密码算法的核心运算是点乘运算,该运算过程复杂度较高,比较耗时。以SM2签名运算为例,首先做一个点乘运算,然后等待其运算完成得到结果后再依次做模运算,即使采用多算法核,这种串行的操作也严重影响SM2算法运算性能。
因此,在保密设备上,如何提升密码运算的性能成为行业内亟待解决的问题。
发明内容
本发明的主要目的在于提出一种PCI密码卡的优化椭圆曲线公钥密码的方法及***,可解决在保密设备上难以提升密码运算性能的问题,该方法将耗时较多的点乘运算采用异步方式处理,实现加密算法核内点乘运算与模运算并行执行,进而优化掉点乘运算耗费时间,极大地提升了加密算法的运算性能。
为实现上述目的,本发明采取的技术方案为:
第一方面,本发明实施例提供一种PCI密码卡的优化椭圆曲线公钥密码的方法,在算法核中设计了异步调度模块、多核并行模块以及主算法核模块;该方法包括:
S1、确定待优化椭圆曲线公钥密码算法的执行步骤;
S2、异步调度模块接收椭圆曲线公钥密码算法指令后,分别向主算法核模块和多核并行模块发送启动信号;
S3、多核并行模块采用多个算法核独立运行所述执行步骤中的部分操作;所述多个算法核的数量由点乘运算与模运算耗时比决定;每个算法核均包含一个启动信号;
S4、待主算法核模块从多核并行模块其中一个算法核M中取出点乘结果后,异步调度模块再对多核并行模块的算法核M发送启动工作信号,直至M的取值与多核并行模块的算法核数量相同;
S5、主算法核模块用于接收业务数据,并实现所述执行步骤中的剩余部分操作;初始情况下,多核并行模块所有核的点乘运算均已完成;接收异步调度模块启动信号后,主算法核模块会从所述多核并行模块中的多个算法核中依次循环取点乘结果,直至所述执行步骤完成。
进一步地,步骤S3中,所述多个算法核的数量大于点乘运算与模运算耗时的比值。
第二方面,本发明实施例还提供一种PCI密码卡的优化椭圆曲线公钥密码的***,包括:异步调度模块、多核并行模块以及主算法核模块;
异步调度模块,用于接收待优化椭圆曲线公钥密码算法的指令,确定执行步骤,并调度多核并行模块以及主算法核模块;还用于待主算法核模块从多核并行模块其中一个算法核M中取出点乘结果后,异步调度模块再对多核并行模块的算法核M发送启动工作信号,直至M的取值与多核并行模块的算法核数量相同;
多核并行模块,采用多个算法核独立运行所述执行步骤中的部分操作;所述多个算法核的数量由点乘运算与模运算耗时比决定;每个算法核均包含一个启动信号;
主算法核模块,用于接收业务数据,并实现所述执行步骤中的剩余部分操作;初始情况下,多核并行模块所有核的点乘运算均已完成;接收异步调度模块启动信号后,主算法核模块会从所述多核并行模块中的多个算法核中依次循环取点乘结果,直至所述执行步骤完成。
进一步地,所述多核并行模块的多个算法核的数量大于点乘运算与模运算耗时的比值。
本发明的有益效果是:
本发明提出了一种PCI密码卡的优化椭圆曲线公钥密码的方法,在算法核中设计了异步调度模块、多核并行模块以及主算法核模块;该方法包括:确定待优化椭圆曲线公钥密码算法的执行步骤;异步调度模块负责接收算法运算指令和调度功能,主算法核模块负责接收输入参数(密钥、待运算的明文数据),输出运算结果;多核并行模块配置多个点乘运算核,接收异步调度模块启动信号并输出点乘运算结果。可解决在保密设备上难以提升密码运算性能的问题,具体解决了椭圆曲线公钥密码算法中点乘运算比较耗时的问题,该方法通过异步方式优化的椭圆曲线公钥密码算法,可以令主算法核及多核并行模块同时运行,进而优化掉点乘运算占用时间。多核并行模块中算法核的数量越多(资源允许的条件下),算法运行越快,性能越高。
附图说明
图1为本发明实施例提供的采用异步方式优化SM2签名算法的流程图;
图2为本发明实施例提供的SM2签名算法核的上电初始-就绪工作示意图;
图3为本发明实施例提供的SM2签名算法工作示意图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1:
本发明提供的一种PCI密码卡的优化椭圆曲线公钥密码的方法,在算法核中设计了异步调度模块、多核并行模块以及主算法核模块;该方法包括:
S1、确定待优化椭圆曲线公钥密码算法的执行步骤;
S2、异步调度模块接收椭圆曲线公钥密码算法指令后,分别向主算法核模块和多核并行模块发送启动信号;
S3、多核并行模块采用多个算法核独立运行所述执行步骤中的部分操作;所述多个算法核的数量由点乘运算与模运算耗时比决定;每个算法核均包含一个启动信号;
S4、待主算法核模块从多核并行模块其中一个算法核n中取出点乘结果后,异步调度模块再对多核并行模块的算法核n发送启动工作信号,直至n的取值与多核并行模块的算法核数量相同;
S5、主算法核模块用于接收业务数据,并实现所述执行步骤中的剩余部分操作;初始情况下,多核并行模块所有核的点乘运算均已完成;接收异步调度模块启动信号后,主算法核模块会从所述多核并行模块中的多个算法核中依次循环取点乘结果,直至所述执行步骤完成。
本发明实施例可针对在PCI密码卡上使用椭圆曲线公钥密码算法进行性能上的优化,比如ECDSA/SM2算法等。为了更清楚的描述本发明实施例的方法,后续以SM2签名算法为例进行说明。
步骤S1中,比如通过分析SM2签名算法,确定SM2签名算法的执行步骤如下,设待签名消息摘要为e:
A1:用随机数产生器产生随机数k∈[1,n-1];
A2:计算椭圆曲线点(x1,y1)=[k]G;
A3:计算r=(e+x1)mod n,若r=0或r+k=n则返回A1;
A4:计算s=((1+dA)-1·(k-r·dA))mod n,若s=0则返回A1,其中dA为用户私钥;
分析以上步骤,SM2签名过程包含一次点乘,其余均为模运算。经反复实验,步骤A1、A2所耗时间大概为步骤A3、A4所耗时间总和的20~30倍。因此,在本实施例中,比如为多核并行模块分配12个点乘算法核,在资源允许的前提下,理论上最优核的个数为30个。主算法核模块负责上述签名过程中的A3、A4步骤。
本发明在SM2签名算法核中设计了多核并行模块、主算法核模块以及异步调度模块,具体功能如下:
多核并行模块:主要负责SM2签名算法中的取随机数和点乘运算,实现主要流程中A1和A2两个功能,且其输入参数不需要等待上层运算结果,该部分主要功能是自动产生随机数与椭圆曲线基点的进行点乘操作。该部分设计为多核,每个算法核独立运行,算法核数量由点乘运算与模运算耗时比所得,具体计算公式为:算法核数量≥点乘运算所耗时钟周期数(A1+A2)÷其他模运算所耗时钟周期数(A3+A4)。下述中暂且以1号核、2号核…、最后一个核命名。每个算法核包含一个启动信号,SM2签名算法核上电后立即向各算法核发送启动信号,执行产生随机数和点乘操作,计算完成后多核并行模块停止工作,即若没有业务调用SM2签名运算,该SM2算法核不会工作,进而不会占用资源或产生功耗。
异步调度模块:主要负责接收SM2签名运算的指令并调度多核并行模块以及主算法核模块。该模块接收SM2签名算法指令后,向主算法核模块发送启动信号。待主算法核模块从多核并行模块其中一个算法核(假设1号核)中取出点乘结果后,异步调度模块再对多核并行模块1号核发送启动工作信号,启动工作信号发送后多核并行模块的1号核执行A1+A2操作,异步调度模块直接返回不等待。
主算法核模块:主要负责SM2签名算法中的模运算,同时也是SM2签名算法核中的主业务,接收业务数据(私钥和明文)并实现主要流程中的A3和A4功能。初始情况下,多核并行模块所有核的点乘运算均已完成。接收异步调度模块启动信号后,主算法核模块会依次从多核并行模块中取点乘结果。默认从1号核开始取,后续SM2运算算核数依次累加,取到最后一个核后,再重新从1号核取,周而复始。因取完1号核点乘结果后,异步调度模块会再次启动1号核工作,待各核循环一周后1号核的点乘运算已经完成。该方法运行过程中主算法核模块直接取点乘结果不需要等待,点乘运算消耗时间被优化掉,理论上SM2签名运算耗费的时间为A3+A4运算花费的时间。
该方法解决了椭圆曲线公钥密码算法中点乘运算比较耗时的问题,通过异步方式优化的椭圆曲线公钥密码算法,可以令主算法核及多核并行模块同时运行,进而优化掉点乘运算占用时间。多核并行模块中算法核的数量越多(资源允许的条件下),算法运行越快,性能越高。
参照图1所示,为采用异步方式优化SM2签名算法的流程图示例:
1)优化后的SM2算法核主要包括异步调度模块、多核并行模块以及主算法核模块。
2)异步调度模块负责接收算法运算指令和调度功能。
3)主算法核模块负责接收输入参数(密钥、待运算的明文数据),输出运算结果。
4)多核并行模块配置多个点乘运算核,接收异步调度模块启动信号并输出点乘运算结果。
如图2所示,为SM2签名算法核的上电初始-就绪工作示意图:
1)SM2算法核上电后,异步调度模块即向多核并行模块发送启动信号,直到所有的点乘算法核计算出结果。
2)异步调度模块等待上层SM2运算指令,多核并行模块等待主算法核模块取走点乘运算结果以及等待异步调度模块再次启动工作的指令,主算法核模块等待业务数据以及异步调度模块工作的指令。
3)SM2算法核进入就绪状态。
参照图3所示,为SM2签名算法工作示意图:
1)SM2算法核接收SM2签名运算指令和待运算数据后,异步调度模块向主算法核模块发送启动信号,通知主算法核模块提取1号核点乘结果,启动命令下达后直接返回。然后向多核并行模块发送启动信号,启动多核并行模块的1号核工作,启动命令下达后直接返回。业务持续进行,再次接收到SM2运算指令后通知主算法核模块提取2号核点乘结果,然后再启动多核并行模块的2号核工作,达最后一个核后重新从1号核开始,周而复始。
2)主算法核模块接收启动信号后,按顺序依次提取点乘结果,如第1笔业务提取第1个核的结果,第2笔业务提取第2个核的结果,达最后一个核后重新从1号核开始,周而复始。执行SM2签名的后续操作(A3+A4)并输出运算结果。
总结如下:
1)SM2算法核上电同时多核并行模块开始执行点乘计算,直到计算出结果停止;
2)SM2算法核接收SM2签名指令及数据;
3)异步调度模块调用主算法核模块,通知主算法核模块提取多核并行模块中第1个算法核的[k]G结果,然后向第多核并行模块1个算法核发送启动信号;下一笔业务通知主算法核模块提取第2个算法核结果,直到提取到第12个运算核结果,再从第1个运算核开始,如此循环往复;
4)主算法核模块利用上述步骤3)中的点乘结果进行后续SM2签名运算,主算法核模块运算完成并输出SM2签名结果(r,s);
上述步骤3)中只发送启动信号,不等待计算结果,同时步骤4)中主算法核模块执行业务,达到异步效果。主算法核的业务代表了整个SM2算法核的主要业务,其性能体现了SM2签名算法的性能。具体实施过程中利用上述实施例,ECDSA/SM2签名运算性能提升10倍,SM2验签性能提升1倍,SM2产生密钥性能提升10倍,SM2加密运算性能提升近1倍。
实施例2:
本发明实施例还提供一种PCI密码卡的优化椭圆曲线公钥密码的***,包括:异步调度模块、多核并行模块以及主算法核模块;
异步调度模块,用于接收待优化椭圆曲线公钥密码算法的指令,确定执行步骤,并调度多核并行模块以及主算法核模块;还用于待主算法核模块从多核并行模块其中一个算法核M中取出点乘结果后,异步调度模块再对多核并行模块的算法核M发送启动工作信号,直至M的取值与多核并行模块的算法核数量相同;
多核并行模块,采用多个算法核独立运行所述执行步骤中的部分操作;所述多个算法核的数量由点乘运算与模运算耗时比决定;每个算法核均包含一个启动信号;
主算法核模块,用于接收业务数据,并实现所述执行步骤中的剩余部分操作;初始情况下,多核并行模块所有核的点乘运算均已完成;接收异步调度模块启动信号后,主算法核模块会从所述多核并行模块中的多个算法核中依次循环取点乘结果,直至所述执行步骤完成。
本实施例中,将耗时较多的点乘运算采用异步方式处理,以SM2签名算法为例,实现SM2算法核内点乘运算与模运算并行执行,进而优化掉点乘运算耗费时间,极大地提升了SM2算法运算性能。通过***,在单SM2算法核单调用模式的情况下,点乘运算采用异步方式处理,SM2签名性能可提升20倍。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (4)

1.一种PCI密码卡的优化椭圆曲线公钥密码的方法,其特征在于,在算法核中设计了异步调度模块、多核并行模块以及主算法核模块;该方法包括:
S1、确定待优化椭圆曲线公钥密码算法的执行步骤;
S2、异步调度模块接收椭圆曲线公钥密码算法指令后,分别向主算法核模块和多核并行模块发送启动信号;
S3、多核并行模块采用多个算法核独立运行所述执行步骤中的部分操作;所述多个算法核的数量由点乘运算与模运算耗时比决定;每个算法核均包含一个启动信号;
S4、待主算法核模块从多核并行模块其中一个算法核M中取出点乘结果后,异步调度模块再对多核并行模块的算法核M发送启动工作信号,直至M的取值与多核并行模块的算法核数量相同;
S5、主算法核模块用于接收业务数据,并实现所述执行步骤中的剩余部分操作;初始情况下,多核并行模块所有核的点乘运算均已完成;接收异步调度模块启动信号后,主算法核模块会从所述多核并行模块中的多个算法核中依次循环取点乘结果,直至所述执行步骤完成。
2.根据权利要求1所述的方法,其特征在于,步骤S3中,所述多个算法核的数量大于点乘运算与模运算耗时的比值。
3.一种PCI密码卡的优化椭圆曲线公钥密码的***,其特征在于,包括:异步调度模块、多核并行模块以及主算法核模块;
异步调度模块,用于接收待优化椭圆曲线公钥密码算法的指令,确定执行步骤,并调度多核并行模块以及主算法核模块;还用于待主算法核模块从多核并行模块其中一个算法核M中取出点乘结果后,异步调度模块再对多核并行模块的算法核M发送启动工作信号,直至M的取值与多核并行模块的算法核数量相同;
多核并行模块,采用多个算法核独立运行所述执行步骤中的部分操作;所述多个算法核的数量由点乘运算与模运算耗时比决定;每个算法核均包含一个启动信号;
主算法核模块,用于接收业务数据,并实现所述执行步骤中的剩余部分操作;初始情况下,多核并行模块所有核的点乘运算均已完成;接收异步调度模块启动信号后,主算法核模块会从所述多核并行模块中的多个算法核中依次循环取点乘结果,直至所述执行步骤完成。
4.根据权利要求3所述的***,其特征在于,所述多核并行模块的多个算法核的数量大于点乘运算与模运算耗时的比值。
CN202111466097.1A 2021-12-03 2021-12-03 一种pci密码卡的优化椭圆曲线公钥密码的方法及*** Active CN114172644B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111466097.1A CN114172644B (zh) 2021-12-03 2021-12-03 一种pci密码卡的优化椭圆曲线公钥密码的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111466097.1A CN114172644B (zh) 2021-12-03 2021-12-03 一种pci密码卡的优化椭圆曲线公钥密码的方法及***

Publications (2)

Publication Number Publication Date
CN114172644A true CN114172644A (zh) 2022-03-11
CN114172644B CN114172644B (zh) 2023-04-25

Family

ID=80482740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111466097.1A Active CN114172644B (zh) 2021-12-03 2021-12-03 一种pci密码卡的优化椭圆曲线公钥密码的方法及***

Country Status (1)

Country Link
CN (1) CN114172644B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150310231A1 (en) * 2013-11-14 2015-10-29 Data Assurance And Communication Security Research Center, Chinese Academy Of Sciences Multi-Core Processor Based Key Protection Method And System
CN108075882A (zh) * 2016-11-14 2018-05-25 航天信息股份有限公司 密码卡及其加解密方法
CN109218023A (zh) * 2017-06-29 2019-01-15 英特尔公司 用于稳健计算椭圆曲线数字签名的技术
CN111416717A (zh) * 2019-01-07 2020-07-14 中安网脉(北京)技术股份有限公司 一种sm2算法并行多路硬件实现方法
CN112434800A (zh) * 2020-11-20 2021-03-02 清华大学 控制装置及类脑计算***
CN112765077A (zh) * 2021-01-18 2021-05-07 三未信安科技股份有限公司 一种pci密码卡主控异步调度***及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150310231A1 (en) * 2013-11-14 2015-10-29 Data Assurance And Communication Security Research Center, Chinese Academy Of Sciences Multi-Core Processor Based Key Protection Method And System
CN108075882A (zh) * 2016-11-14 2018-05-25 航天信息股份有限公司 密码卡及其加解密方法
CN109218023A (zh) * 2017-06-29 2019-01-15 英特尔公司 用于稳健计算椭圆曲线数字签名的技术
CN111416717A (zh) * 2019-01-07 2020-07-14 中安网脉(北京)技术股份有限公司 一种sm2算法并行多路硬件实现方法
CN112434800A (zh) * 2020-11-20 2021-03-02 清华大学 控制装置及类脑计算***
CN112765077A (zh) * 2021-01-18 2021-05-07 三未信安科技股份有限公司 一种pci密码卡主控异步调度***及方法

Also Published As

Publication number Publication date
CN114172644B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
US10467057B2 (en) Selecting a logic operation unit that matches a type of logic operation unit required by a selected operation engine
Pan et al. An efficient elliptic curve cryptography signature server with GPU acceleration
TW526450B (en) Cryptographic processor
Güneysu et al. Cryptanalysis with COPACOBANA
CN109726598A (zh) 基于云服务器的嵌入式安全加密芯片
US20150358167A1 (en) Certificateless Multi-Proxy Signature Method and Apparatus
CN101834723A (zh) 一种rsa算法及其ip核
Pham et al. A high-efficiency FPGA-based multimode SHA-2 accelerator
CN103049710A (zh) 用于sm2数字签名验证算法的fpga芯片
CN109344664A (zh) 一种基于fpga对数据进行算法处理的密码卡及其加密方法
CN116861470B (zh) 加解密方法、装置、计算机可读存储介质和服务器
CN105119929B (zh) 单一恶意云服务器下的安全模指数外包方法及***
He et al. Compact coprocessor for KEM saber: Novel scalable matrix originated processing
CN113572613A (zh) 一种消息保护***及消息保护方法
Le et al. Mrsa: A high-efficiency multi romix scrypt accelerator for cryptocurrency mining and data security
CN114172644B (zh) 一种pci密码卡的优化椭圆曲线公钥密码的方法及***
CN102291240B (zh) Sm2签名的认证方法及***
US11522680B2 (en) Method and apparatus for computing hash function
Takaki et al. An optimized implementation of aes-gcm for fpga acceleration using high-level synthesis
Bie et al. An energy-efficient reconfigurable asymmetric modular cryptographic operation unit for RSA and ECC
CN114840174B (zh) 一种使用多乘法器快速实现蒙哥马利模乘的***及方法
KR101309797B1 (ko) 성긴 w-NAF 키 생성방법,이를 이용한 연산 방법 및암호화 방법
CN114238205B (zh) 一种抗功耗攻击的高性能ecc协处理器***
Wajih et al. Low power elliptic curve digital signature design for constrained devices
Hu et al. Low-power reconfigurable architecture of elliptic curve cryptography for IoT

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