CN113055165A - 一种非对称密码算法装置、方法、设备及存储介质 - Google Patents

一种非对称密码算法装置、方法、设备及存储介质 Download PDF

Info

Publication number
CN113055165A
CN113055165A CN202110265027.3A CN202110265027A CN113055165A CN 113055165 A CN113055165 A CN 113055165A CN 202110265027 A CN202110265027 A CN 202110265027A CN 113055165 A CN113055165 A CN 113055165A
Authority
CN
China
Prior art keywords
asymmetric cryptographic
firmware program
cryptographic algorithm
instruction
hardware acceleration
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.)
Pending
Application number
CN202110265027.3A
Other languages
English (en)
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.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics 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 Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN202110265027.3A priority Critical patent/CN113055165A/zh
Publication of CN113055165A publication Critical patent/CN113055165A/zh
Pending legal-status Critical Current

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/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种非对称密码算法装置、方法、设备及存储介质。该非对称密码算法装置包括:中央处理器,用于根据获取的目标非对称密码算法的操作指令,从数据存储模块中依次读取对应的固件程序运行指令,以及执行所述固件程序运行指令并根据所述固件程序运行指令向运算硬件加速模块发送相应的控制信号;与所述中央处理器相连的所述数据存储模块,用于存储固件程序;与所述中央处理器相连的所述运算硬件加速模块,用于接收所述中央处理器发送的控制信号,并根据所述控制信号执行相应的运算操作。可以支持多种非对称密码算法的多种操作应用,同时还可以通过升级固件更新支持的非对称密码算法,提高了装置灵活性。

Description

一种非对称密码算法装置、方法、设备及存储介质
技术领域
本发明涉及密码技术领域,特别涉及一种非对称密码算法装置、方法、设备及存储介质。
背景技术
当前,随着集成电路分析技术的发展,数据安全受到越来越大地威胁,数据的加解密方法越来越重要。由于多业务需求,用户根据不同的场景采用不同的非对称密码算法进行加密、解密、签名或验证等处理有了更多的诉求,同时,随着信息化技术不断拓展,需加解密数据量呈爆发趋势,对于非对称密码算法装置的性能也提出了更多的要求。现有技术中,传统的单一的非对称密码装置只能针对一种非对称密码算法的某些用途进行处理,例如支持RSA算法(RSA algorithm)的加密和解密,但不支持RSA算法的签名和验签,也不能支持SM2算法的加密和解密等。
发明内容
有鉴于此,本发明的目的在于提供一种非对称密码算法装置、方法、设备及介质,能够同时支持多种非对称密码算法的多种应用,并提高装置的灵活性。其具体方案如下:
第一方面,本申请公开了一种非对称密码算法装置,包括:
中央处理器,用于根据获取的目标非对称密码算法的操作指令,从数据存储模块中依次读取对应的固件程序运行指令,以及执行所述固件程序运行指令并根据所述固件程序运行指令向运算硬件加速模块发送相应的控制信号;
与所述中央处理器相连的所述数据存储模块,用于存储固件程序;
与所述中央处理器相连的所述运算硬件加速模块,用于接收所述中央处理器发送的控制信号,并根据所述控制信号执行相应的运算操作。
可选的,所述操作指令包括加密指令、解密指令、签名指令和验签指令。
可选的,所述固件程序包括各类非对称密钥算法的公钥数据、私钥数据、待操作数据,以及各类非对称密码算法的固件程序运行指令。
可选的于,所述数据存储模块,包括:
第一接收单元,用于通过片上数据总线接收所述运算硬件加速模块发送的运算中间数据;
第二接收单元,用于通过所述片上数据总线接收所述中央处理器发送的运算中间数据和操作完成的结果数据。
可选的,所述运算硬件加速模块,还用于在执行完成所述运算操作后,向所述中央处理器发送中断信号,以便所述中央处理器执行下一条固件程序运行指令。
可选的,所述运算硬件加速模块,包括:
模计算单元,用于执行蒙哥马利模乘运算、数据移位运算、模加运算和模减运算中的任意一项或几项;
模运算控制单元,用于执行模逆运算、模乘运算和模幂运算中的任意一项或几项;
曲线运算控制单元,用于执行点加运算、点倍运算和标量乘运算中的任意一项或几项。
可选的,所述中央处理器,包括:
配置单元,用于当所述固件程序运行指令为算数运算指令时,基于所述目标非对称密码算法对应的固件程序,通过片上控制总线对所述运算硬件加速模块进行寄存器配置;
启动单元,用于启动配置后的运算硬件加速模块以执行相应的运算操作。
第二方面,本申请公开了一种非对称密码算法的运行方法,包括:
获取目标非对称密码算法的操作指令;
根据所述操作指令,从数据存储模块的固件程序中依次读取对应的固件程序运行指令;
执行所述固件程序运行指令,并根据所述固件程序运行指令向运算硬件加速模块发送相应的控制信号,以便所述运算硬件加速模块根据所述控制信号执行相应的运算操作。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的非对称密码算法的运行方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的非对称密码算法的运行方法。
本申请中,中央处理器根据获取的目标非对称密码算法的操作指令,从数据存储模块存储的固件程序中依次读取对应的固件程序运行指令,然后执行所述固件程序运行指令,并根据所述固件程序运行指令向运算硬件加速模块发送相应的控制信号,再由运算硬件加速模块根据接收到的控制信号执行相应的运算操作。由此一来,用户可以根据不同的工作场景下发不同的非对称密码算法的操作指令,CPU根据操作指令选择执行不同算法的固件程序,并将繁杂的运算交由运算硬件加速模块执行,从而实现不同的非对称密码的加密、解密、签名、验签等用途。通过采用硬件加速和软件程序结合的实现方法,用硬件加速执行软件计算较慢且消耗资源的操作,用软件程序执行不同非对称密码算法中控制跳转等操作,既保证了本装置的性能,又提高了灵活性,即能同时支持多种非对称密码算法的多种应用,同时还可以通过升级固件的方式添加或者减少所支持的非对称密码算法类型和用途,以满足不同场景下的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种非对称密码算法装置结构示意图;
图2为本申请提供的一种具体的非对称密码算法装置结构示意图;
图3为本申请提供的一种非对称密码算法的运行方法流程图;
图4为本申请提供的一种电子设备结构图。
具体实施方式
现有技术中,传统的单一的非对称密码装置只能针对一种非对称密码算法的某些用途进行处理。为克服上述技术问题,本申请提出一种非对称密码算法装置,能够同时支持多种非对称密码算法的多种应用,并提高装置的灵活性。
本申请实施例公开了一种非对称密码算法装置,参见图1所示,该装置包括:
中央处理器11,用于根据获取的目标非对称密码算法的操作指令,从数据存储模块中依次读取对应的固件程序运行指令,以及执行所述固件程序运行指令并根据所述固件程序运行指令向运算硬件加速模块发送相应的控制信号。
本实施例中,通过中央处理器11接收目标非对称密码算法的操作指令,并根据上述操作指令从数据存储模块12中依次读取对应的固件程序运行指令,然后执行上述固件程序运行指令,并根据上述固件程序运行指令向运算硬件加速模块13发送相应的控制信号。可以理解的是,上述目标非对称密码算法包括但不限于RSA算法、ECC算法(Elliptic curvecryptography,椭圆加密算法)、SM2算法和SM9算法,支持国家商用密码SM2和SM9的实现,密码算法可采用国家商用密码算法;即用户只要向上述数据存储模块12中添加需要使用的非对称密码算法的固件程序,即可实现基于相应算法的各类操作。另外,当固件程序运行指令为一些需要大量资源的运算指令时,向运算硬件加速模块13发送相应的控制信号,即由运算硬件加速模块13执行固件程序运行指令中一些需要大量资源的运算指令,由中央处理器11执行不同非对称密码算法中控制跳转等指令。其中,上述操作指令可以包括但不限于加密指令、解密指令、签名指令和验签指令。
与所述中央处理器相连的所述数据存储模块12,用于存储固件程序。
本实施例中,所述固件程序包括各类非对称密钥算法的公钥数据、私钥数据、待操作数据,以及各类非对称密码算法的固件程序运行指令。由此,在执行某个目标非对称密钥算法的某类运行操作时,只需要读取数据存储模块12中相应的固件程序,基于读取的目标非对称密钥算法的公钥数据、私钥数据、待操作数据和目标非对称密码算法的固件程序运行指令,实现目标非对称密钥算法的某类操作。并且,通过数据存储模块12存储固件程序,可以通过升级固件的方式添加或者减少所支持的非对称密码算法类型和用途,以满足不同场景下的需求。
与所述中央处理器相连的所述运算硬件加速模块13,用于接收所述中央处理器发送的控制信号,并根据所述控制信号执行相应的运算操作。
本实施例中,运算硬件加速模块13在接收到中央处理器11发送的,需要大量资源的运算指令对应的控制信号后,根据上述控制信号执行相应的运算操作,例如,大数模运算,椭圆曲线的点乘、点加以及模幂等这类,需要大量资源的运算操作。
本实施例中,所述运算硬件加速模块13,还用于在执行完成所述运算操作后,向所述中央处理器发送中断信号,以便所述中央处理器执行下一条固件程序运行指令。即运算硬件加速模块13当执行完成当前运算后发中断信号给中央处理器11,中央处理器11开始执行后续固件程序运行指令,直到中央处理器11完成算法固件的所有指令,本次非对称密码算法运算结束。
另外,本实施例的非对称密码算法装置适用于soc芯片中的非对称密码算法装置,能够实现多种非对称密码算法且支持非对称密码算法的多种用途。
由上可见,本实施例中利用中央处理器根据获取的目标非对称密码算法的操作指令,从数据存储模块存储的固件程序中依次读取对应的固件程序运行指令,然后执行所述固件程序运行指令,并根据所述固件程序运行指令向运算硬件加速模块发送相应的控制信号,再由运算硬件加速模块根据接收到的控制信号执行相应的运算操作。由此一来,用户可以根据不同的工作场景下发不同的非对称密码算法的操作指令,CPU根据操作指令选择执行不同算法的固件程序,并将繁杂的运算交由运算硬件加速模块执行,从而实现不同的非对称密码的加密、解密、签名、验签等用途。通过采用硬件加速和软件程序结合的实现方法,用硬件加速执行软件计算较慢且消耗资源的操作,用软件程序执行不同非对称密码算法中控制跳转等操作,既保证了本装置的性能,又提高了灵活性,即能同时支持多种非对称密码算法的多种应用,便于用户更为灵活的同时使用不同的非对称密码算法,以及同时使用同一种非对称密码算法的不同操作类型。
本申请实施例公开了一种具体的非对称密码算法装置,参见图2所示,该方法可以包括以下步骤:
中央处理器11,用于根据获取的目标非对称密码算法的操作指令,从数据存储模块中依次读取对应的固件程序运行指令,以及执行所述固件程序运行指令并根据所述固件程序运行指令向运算硬件加速模块发送相应的控制信号。
本实施例中,例如图2所示,中央处理器11具体可以通过片上数据总线读取数据存储模块12,即存储空间内包含固件程序运行指令等在内的固件程序,即当执行一次非对称密码算法运算时,中央处理器11依次读取存储空间里的该非对称密码算法对应的固件程序运行指令,并按上述固件程序运行指令顺序执行运算操作。
本实施例中,所述中央处理器11,可以包括:配置单元,用于当所述固件程序运行指令为算数运算指令时,基于所述目标非对称密码算法对应的固件程序,通过片上控制总线对所述运算硬件加速模块13进行寄存器配置;启动单元,用于启动配置后的运算硬件加速模块13以执行相应的运算操作。即当固件程序运行指令需调用运算硬件加速模块13中包含运算单元的运算资源时,中央处理器11首先通过片上控制总线对运算硬件加速模块13进行寄存器配置,配置完成后启动运算硬件加速模块13进行计算。
与所述中央处理器相连的所述数据存储模块12,用于存储固件程序。
本实施例中,所述数据存储模块12,包括:第一接收单元,用于通过片上数据总线接收所述运算硬件加速模块发送的运算中间数据;第二接收单元,用于通过所述片上数据总线接收所述中央处理器发送的运算中间数据和操作完成的结果数据。即上述数据存储模块12还用于存储运算硬件加速模块13运算时的运算中间数据,以及中央处理器11运算时的运算中间数据和操作完成的结果数据。
与所述中央处理器相连的所述运算硬件加速模块13,用于接收所述中央处理器发送的控制信号,并根据所述控制信号执行相应的运算操作。
本实施例中,所述运算硬件加速模块13,可以包括:模计算单元131,用于执行蒙哥马利模乘运算、数据移位运算、模加运算和模减运算中的任意一项或几项;模运算控制单元132,用于执行模逆运算、模乘运算和模幂运算中的任意一项或几项;曲线运算控制单元133,用于执行点加运算、点倍运算和标量乘运算中的任意一项或几项。即通过模计算单元131可以实现蒙哥马利模乘运算、数据移位运算、模加运算和模减运算。通过模运算控制单元132可以实现模逆运算、模乘运算和模幂运算,通过曲线运算控制单元133可以实现点加运算、点倍运算和标量乘运算,由此满足不同非对称算法的不同运行操作所需的运算过程,在一个非对称密码算法装置上实现多种非对称密码算法的多种应用。
由上可见,本实施例中非对称密码算法装置由中央处理器、存储空间和运算硬件加速模块构成,运算硬件加速模块包括模计算单元、模运算控制单元和曲线运算控制单元,由此可以实现蒙哥马利模乘运算、数据移位运算、模加运算、模减运算、模逆运算、模乘运算、模幂运算、加运算、点倍运算和标量乘运算等多种运算,由此满足不同非对称算法的不同运行操作所需的运算过程,在一个非对称密码算法装置上实现多种非对称密码算法的多种应用。
相应的,本申请实施例还公开了一种非对称密码算法的运行方法,参见图3所示,该方法可以包括以下步骤:
步骤S11:获取目标非对称密码算法的操作指令。
本实施例中,首先通过中央处理器获取目标非对称密码算法的操作指令,上述目标非对称密码算法包括但不限于RSA算法、ECC算法、SM2算法和SM9算法,其中,上述操作指令可以包括但不限于加密指令、解密指令、签名指令和验签指令。
步骤S12:根据所述操作指令,从数据存储模块的固件程序中依次读取对应的固件程序运行指令。
本实施例中,即当执行一次非对称密码算法的运行操作时,中央处理器根据操作指令依次读取数据存储模块中该非对称密码算法对应的固件程序运行指令。其中,上述固件程序包括各类非对称密钥算法的公钥数据、私钥数据、待操作数据,以及各类非对称密码算法的固件程序运行指令。
步骤S13:执行所述固件程序运行指令,并根据所述固件程序运行指令向运算硬件加速模块发送相应的控制信号,以便所述运算硬件加速模块根据所述控制信号执行相应的运算操作。
本实施例中,由中央处理器执行上述固件程序运行指令,并根据上述固件程序运行指令向运算硬件加速模块发送相应的控制信号,以便上述运算硬件加速模块根据控制信号执行相应的运算操作。
本实施例在运行过程中,上述数据存储模块还可以通过片上数据总线接收运算硬件加速模块发送的运算中间数据,以及通过所述片上数据总线接收中央处理器发送的运算中间数据和操作完成的结果数据。
本实施例中,当完成一次运算后,可以由运算硬件加速模块向中央处理器发送中断信号,以便中央处理器执行下一条固件程序运行指令。上述运算硬件加速模块可以包括模计算单元、模运算控制单元和曲线运算控制单元,其中,模计算单元,用于执行蒙哥马利模乘运算、数据移位运算、模加运算和模减运算中的任意一项或几项;模运算控制单元用于执行模逆运算、模乘运算和模幂运算中的任意一项或几项;曲线运算控制单元用于执行点加运算、点倍运算和标量乘运算中的任意一项或几项。由此满足不同非对称算法的不同运行操作所需的运算过程,在一个非对称密码算法装置上实现多种非对称密码算法的多种应用。
由上可见,本实施例中利用中央处理器根据获取的目标非对称密码算法的操作指令,从数据存储模块存储的固件程序中依次读取对应的固件程序运行指令,然后执行所述固件程序运行指令,并根据所述固件程序运行指令向运算硬件加速模块发送相应的控制信号,再由运算硬件加速模块根据接收到的控制信号执行相应的运算操作。由此一来,用户可以根据不同的工作场景下发不同的非对称密码算法的操作指令,CPU根据操作指令选择执行不同算法的固件程序,并将繁杂的运算交由运算硬件加速模块执行,从而实现不同的非对称密码的加密、解密、签名、验签等用途。通过采用硬件加速和软件程序结合的实现方法,用硬件加速执行软件计算较慢且消耗资源的操作,用软件程序执行不同非对称密码算法中控制跳转等操作,既保证了本装置的性能,又提高了灵活性,即能同时支持多种非对称密码算法的多种应用,便于用户更为灵活的同时使用不同的非对称密码算法,以及同时使用同一种非对称密码算法的不同操作类型。
进一步的,本申请实施例还公开了一种电子设备,参见图4所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图4为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的非对称密码算法的运行方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括固件程序运行指令在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的非对称密码算法的运行方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的非对称密码算法的运行方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、寄存器、硬盘、可移动磁盘、或技术领域内所公知的其它形式的支持刷新更改的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种非对称密码算法装置、方法、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种非对称密码算法装置,其特征在于,包括:
中央处理器,用于根据获取的目标非对称密码算法的操作指令,从数据存储模块中依次读取对应的固件程序运行指令,以及执行所述固件程序运行指令并根据所述固件程序运行指令向运算硬件加速模块发送相应的控制信号;
与所述中央处理器相连的所述数据存储模块,用于存储固件程序;
与所述中央处理器相连的所述运算硬件加速模块,用于接收所述中央处理器发送的控制信号,并根据所述控制信号执行相应的运算操作。
2.根据权利要求1所述的非对称密码算法装置,其特征在于,所述操作指令包括加密指令、解密指令、签名指令和验签指令。
3.根据权利要求1所述的非对称密码算法装置,其特征在于,所述固件程序包括各类非对称密钥算法的公钥数据、私钥数据、待操作数据,以及各类非对称密码算法的固件程序运行指令。
4.根据权利要求1所述的非对称密码算法装置,其特征在于,所述数据存储模块,包括:
第一接收单元,用于通过片上数据总线接收所述运算硬件加速模块发送的运算中间数据;
第二接收单元,用于通过所述片上数据总线接收所述中央处理器发送的运算中间数据和操作完成的结果数据。
5.根据权利要求1所述的非对称密码算法装置,其特征在于,所述运算硬件加速模块,还用于在执行完成所述运算操作后,向所述中央处理器发送中断信号,以便所述中央处理器执行下一条固件程序运行指令。
6.根据权利要求1所述的非对称密码算法装置,其特征在于,所述运算硬件加速模块,包括:
模计算单元,用于执行蒙哥马利模乘运算、数据移位运算、模加运算和模减运算中的任意一项或几项;
模运算控制单元,用于执行模逆运算、模乘运算和模幂运算中的任意一项或几项;
曲线运算控制单元,用于执行点加运算、点倍运算和标量乘运算中的任意一项或几项。
7.根据权利要求1至6任一项所述的非对称密码算法装置,其特征在于,所述中央处理器,包括:
配置单元,用于当所述固件程序运行指令为算数运算指令时,基于所述目标非对称密码算法对应的固件程序,通过片上控制总线对所述运算硬件加速模块进行寄存器配置;
启动单元,用于启动配置后的运算硬件加速模块以执行相应的运算操作。
8.一种非对称密码算法的运行方法,其特征在于,包括:
获取目标非对称密码算法的操作指令;
根据所述操作指令,从数据存储模块的固件程序中依次读取对应的固件程序运行指令;
执行所述固件程序运行指令,并根据所述固件程序运行指令向运算硬件加速模块发送相应的控制信号,以便所述运算硬件加速模块根据所述控制信号执行相应的运算操作。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求8所述的非对称密码算法的运行方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求8所述的非对称密码算法的运行方法。
CN202110265027.3A 2021-03-11 2021-03-11 一种非对称密码算法装置、方法、设备及存储介质 Pending CN113055165A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110265027.3A CN113055165A (zh) 2021-03-11 2021-03-11 一种非对称密码算法装置、方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110265027.3A CN113055165A (zh) 2021-03-11 2021-03-11 一种非对称密码算法装置、方法、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113055165A true CN113055165A (zh) 2021-06-29

Family

ID=76511742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110265027.3A Pending CN113055165A (zh) 2021-03-11 2021-03-11 一种非对称密码算法装置、方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113055165A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489571A (zh) * 2022-04-15 2022-05-13 广州万协通信息技术有限公司 一种非对称算法计算电路

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1635731A (zh) * 2003-12-27 2005-07-06 海信集团有限公司 可重构密码协处理器电路
CN1959694A (zh) * 2006-12-04 2007-05-09 中国科学院计算技术研究所 一种可编程安全处理器
US20090319804A1 (en) * 2007-07-05 2009-12-24 Broadcom Corporation Scalable and Extensible Architecture for Asymmetrical Cryptographic Acceleration
CN202711261U (zh) * 2012-08-16 2013-01-30 北京江南天安科技有限公司 一种加密卡
CN202795363U (zh) * 2012-09-19 2013-03-13 北京江南天安科技有限公司 一种可编程加密模块
CN104579656A (zh) * 2014-12-31 2015-04-29 北京时代民芯科技有限公司 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器
CN109672519A (zh) * 2018-10-17 2019-04-23 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种密码装置及其数据加解密方法
CN112217643A (zh) * 2019-07-09 2021-01-12 华为技术有限公司 运算方法、装置及设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1635731A (zh) * 2003-12-27 2005-07-06 海信集团有限公司 可重构密码协处理器电路
CN1959694A (zh) * 2006-12-04 2007-05-09 中国科学院计算技术研究所 一种可编程安全处理器
US20090319804A1 (en) * 2007-07-05 2009-12-24 Broadcom Corporation Scalable and Extensible Architecture for Asymmetrical Cryptographic Acceleration
CN202711261U (zh) * 2012-08-16 2013-01-30 北京江南天安科技有限公司 一种加密卡
CN202795363U (zh) * 2012-09-19 2013-03-13 北京江南天安科技有限公司 一种可编程加密模块
CN104579656A (zh) * 2014-12-31 2015-04-29 北京时代民芯科技有限公司 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器
CN109672519A (zh) * 2018-10-17 2019-04-23 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种密码装置及其数据加解密方法
CN112217643A (zh) * 2019-07-09 2021-01-12 华为技术有限公司 运算方法、装置及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489571A (zh) * 2022-04-15 2022-05-13 广州万协通信息技术有限公司 一种非对称算法计算电路

Similar Documents

Publication Publication Date Title
Pan et al. An efficient elliptic curve cryptography signature server with GPU acceleration
Hutter et al. Multiprecision multiplication on AVR revisited
EP1320027A2 (en) Elliptic curve cryptosystem apparatus, method and program
Kocabaş et al. Implementation of binary Edwards curves for very-constrained devices
JPH09274560A (ja) べき乗剰余演算回路及びべき乗剰余演算システム及びべき乗剰余演算のための演算方法
CN102279725A (zh) Ecc协处理器
CN110825436B (zh) 应用于人工智能芯片的计算方法和人工智能芯片
CN111158756B (zh) 用于处理信息的方法和装置
Qiu et al. Implementing RSA for sensor nodes in smart cities
CN113055165A (zh) 一种非对称密码算法装置、方法、设备及存储介质
CN109144472B (zh) 一种二元扩域椭圆曲线的标量乘法及其实现电路
US10454680B2 (en) RSA decryption processor and method for controlling RSA decryption processor
Liu et al. Energy-efficient elliptic curve cryptography for MSP430-based wireless sensor nodes
Koc et al. Fast software exponentiation in GF (2/sup k/)
Wang et al. Asip-based design and implementation of rsa for embedded systems
CN107320959B (zh) 游戏角色标识信息生成方法、装置、介质和电子设备
CN111414343A (zh) 日志写入方法、装置、电子设备和介质
CN113467752B (zh) 用于隐私计算的除法运算装置、数据处理系统及方法
Franck et al. Energy-scalable montgomery-curve ECDH key exchange for ARM cortex-M3 microcontrollers
Bartolini et al. Instruction set extensions for cryptographic applications
US9047167B2 (en) Calculating the modular inverses of a value
JP2007218997A (ja) 素数生成装置、プログラム及び方法
CN112487448B (zh) 一种加密信息处理装置、方法及计算机设备
Nedjah et al. Four hardware implementations for the m-ary modular exponentiation
WO2023141933A1 (en) Techniques, devices, and instruction set architecture for efficient modular division and inversion

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210629

RJ01 Rejection of invention patent application after publication