CN115208571A - 一种基于高速混合加密算法的并行多路硬件实现方法 - Google Patents

一种基于高速混合加密算法的并行多路硬件实现方法 Download PDF

Info

Publication number
CN115208571A
CN115208571A CN202211117795.5A CN202211117795A CN115208571A CN 115208571 A CN115208571 A CN 115208571A CN 202211117795 A CN202211117795 A CN 202211117795A CN 115208571 A CN115208571 A CN 115208571A
Authority
CN
China
Prior art keywords
data
algorithm
channel
fpga
client
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
CN202211117795.5A
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.)
Sinoinfosec Beijing Technology Co ltd
Original Assignee
Sinoinfosec Beijing 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 Sinoinfosec Beijing Technology Co ltd filed Critical Sinoinfosec Beijing Technology Co ltd
Priority to CN202211117795.5A priority Critical patent/CN115208571A/zh
Publication of CN115208571A publication Critical patent/CN115208571A/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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
    • 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 Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于高速混合加密算法的并行多路硬件实现方法,包括:客户端、FPGA、密码模块以及主控处理器,并采用了高速混合的加密算法。与现有技术相比,通过混合使用加密算法避免了单一密码体制安全性不高、加密速率过慢、密钥管理不便等缺点,同时对体系中限制加密、解密速度提升的算法进行硬件实现上的优化设计。

Description

一种基于高速混合加密算法的并行多路硬件实现方法
技术领域
本发明涉及密码学技术领域,更具体的说是涉及一种基于高速混合加密算法的并行多路硬件实现方法。
背景技术
SM2算法标准系列是由国家密码管理局制定,采用ECC椭圆曲线密码机制,在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,选取了更为安全的机制。国家密码管理局同时制定了配套的密码设备应用接口规范,采用会话方式访问密码运算接口。SM2 非对称算法得益于椭圆曲线密码体制,其公钥可对外公开,可实现密钥的便捷管理,信息传输的安全性也较高。但是由于涉及大位宽的复杂模运算,SM2 算法的加解密速度普遍较慢,仅适用于加密小块数据。且现有的单一密码加密技术的安全型也难以达到用户预期的使用要求。
发明内容
鉴于此,本发明提供了一种基于高速混合加密算法的并行多路硬件实现方法,通过混合使用加密算法避免了单一密码体制安全性不高、加密速率过慢、密钥管理不便等缺点,同时对体系中限制加密、解密速度提升的算法进行硬件实现上的优化设计。
为实现上述目的,本发明提供如下技术方案:
一种基于高速混合加密算法的并行多路硬件实现方法,该方法包括如下步骤:
A)客户端创建会话,使用密码设备应用接口,以会话方式调用密码模块运算接口;主控处理器作为接收方,使用SM2算法生成配对的公钥和私钥,并在加密计算前先将公钥发送给客户端;
B)客户端接收到SM2公钥后,使用SM2算法加密SM4密钥生成密钥密文,同时使用SM9算法加密信息明文P生成信息密文C1,使用SM4算法加密信息明文P生成信息密文C2,另外再使用SM3算法计算P中收尾两组数据块的摘要值;待上述算法均计算完成后,将四组数据打包,通过传输通道一同发送给主控处理器;
C)主控处理器在收到数据后,首先利用 SM2 私钥,通过 SM2算法将 SM4 密钥解密出来。然后利用 SM4 密钥,通过 SM4算法解密所收到的信息密文 C2,得到尚未验证的信息明文 P2,通过SM9算法解密所收到的信息密文C1,得到信息铭文P1,接着使用 SM3 算法计算得到信息明文 P1、P2 的摘要值 B1、B2,并与所收到的摘要值 A 进行对比验证:若一致,则代表数据在传输过程中没有被窜改,可输出所解密的信息明文 P,完成解密;若摘要值不一致,则系统发出警告并退出解密。
优选的,通过SM9算法进行加密、解密的方法包括步骤:
S1:获取用户的原始数据,包括系统参数、信息明文M和签名密钥、预计算的GT中的元素;
S2:使用基于固定基的快速模幂算法计算GT中元素的模幂;
S3:确定数字签名;
S4:输出消息M及其数字签名。
优选的,使用基于固定基的快速模幂算法计算GT中元素的模幂的具体步骤为:
输入:GT中的元素g,随机数r∈[1,N-1];
输出:w=gr
预计算:g1=g;g2=g64;g4=g128;g8=g192
S11:根据预计算的4个值,计算如下10个值:
g3= g2* g1;g5= g4* g1;g6= g4* g2;g7= g4* g3;g9= g8* g1;g10= g8* g2
g11= g8* g3 ;g12= g8* g4 ;g13= g8* g5 ;g14= g8* g6 ;g15= g8* g7
S12:令 u = 1,g0= 1;
S13:对 j 从 63 降至 0,执行:
a) u = u2;
b) 令 r_4 = R3[j]* 23+ R2[j]* 22+ R1[j]* 2 + R0[j]; u = u*gr_4
r_4 ∈[0,15];
S14:返回 w = u。
优选的,该方法包括包括:客户端、FPGA、密码模块以及主控处理器;
每个所述FPGA包含有FPGA模块1至模块16,每个模块均内置有卡内接口寄存器和PC侧接口寄存器,且卡内接口寄存器和PC侧接口寄存器共用存储器内的计算资源,减少数据复制带来的开销;
所述主控处理器内置有处理核,每个处理核含有1-4个内核,所述内核中轮询线程获取状态队列中的状态数据,根据数据中的通道号唤醒对应通道的处理线程;每个客户端会话对应一路通道,每个通道的请求由对应的通道处理线程进行处理,FPGA为每个通道预分配计算资源,由于每个内核支持64个通道,4个内核支持256个多路通道,因此最大支持可以256个客户端会话。
优选的,在上述实现方法中,所述FPGA的卡内寄存器接口组数与主控处理器的内核数目一致,以支持无锁并行计算。
优选的,在上述实现方法中,运行时,所述FPGA通过状态队列通知客户端、主控处理器;其中,状态队列与主控处理器的内核数目一致,以支持无锁并行计算。
优选的,在上述实现方法中,该方法中所述内接口寄存器、PC侧接口寄存器与状态队列分离设计,以减少数据复制带来的开销。
优选的,在上述实现方法中,该方法包括:初始阶段和运行阶段;
初始阶段包括:
1)FPGA为每个通道分配卡内、PC侧接口寄存器资源,计算资源(乘法器);
2)主控处理器分配DMA等资源、配置卡内寄存器,为每个处理核创建一个轮询线程,和FPGA进行通信,为每个通道创建处理线程;
运行阶段包括:
1)客户端创建会话,调用密码运算接口;
2)客户端将密码运算请求数据发送到会话对应的通道中,同时写PC侧接口寄存器;
3)FPGA获取密码运算请求数据,将数据写入到卡内寄存器,通过状态队列通知主控处理器;
4)主控处理器轮询线程获取状态队列中的状态数据,根据数据中的通道号唤醒对应通道处理线程;
5)通道处理线程从卡内寄存器中获取待处理数据,解析并处理请求转化为对应的运算原语请求写入到卡内接口寄存器,进入睡眠状态;
6)FPGA获取到卡内寄存器中的请求数据,调用对应通道计算资源进行SM2、SM3、SM4及SM9运算,将计算结果写入到卡内寄存器,通过状态队列通知主控处理器; 运算原语包括:基点乘、点乘或混合点乘。
7)主控处理器轮询线程获取到状态数据后,唤醒对应通道处理线程继续处理,主线程处理结束后将处理结果写入卡内寄存;
8)FPGA获取处理结果,写入PC侧接口寄存器,通过状态队列通知客户端;
9)客户端从会话对应的通道中获取响应数据。
经由上述的技术方案可知,与现有技术相比,本发明具有以下益处:
(1) 本发明通过混合使用加密算法避免了单一密码体制安全性不高、加密速率过慢、密钥管理不便等缺点。
(2)相对于以往技术,该项技术将主控处理器系统资源(通道处理线程)、FPGA计算资源与实际客户端会话通过多路通道进行绑定,极大提高了硬件资源利用率;
(3)相对于以往技术,该项技术同时支持256个客户端会话并行执行运算,大大提高了运算并行程度。
(4)相对于以往技术,当客户端负载与密码模块功耗为线程关系,最大程度降低码模块在中低负载的情形下,资源浪费现象。
附图说明
图1为基于高速混合加密算法的原理图。
图2为SM9算法流程图。
图3为本发明的总体框架结构示意图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。
除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
为实现上述目的,本发明提供如下技术方案:
如图1所示,一种基于高速混合加密算法的并行多路硬件实现方法,该方法包括如下步骤:
A)客户端创建会话,使用密码设备应用接口,以会话方式调用密码模块运算接口;主控处理器作为接收方,使用SM2算法生成配对的公钥和私钥,并在加密计算前先将公钥发送给客户端;
B)客户端接收到SM2公钥后,使用SM2算法加密SM4密钥生成密钥密文,同时使用SM9算法加密信息明文P生成信息密文C1,使用SM4算法加密信息明文P生成信息密文C2,另外再使用SM3算法计算P中收尾两组数据块的摘要值;待上述算法均计算完成后,将四组数据打包,通过传输通道一同发送给主控处理器;
C)主控处理器在收到数据后,首先利用 SM2 私钥,通过 SM2算法将 SM4 密钥解密出来。然后利用 SM4 密钥,通过 SM4算法解密所收到的信息密文 C2,得到尚未验证的信息明文 P2,通过SM9算法解密所收到的信息密文C1,得到信息铭文P1,接着使用 SM3 算法计算得到信息明文 P1、P2 的摘要值 B1、B2,并与所收到的摘要值 A 进行对比验证:若一致,则代表数据在传输过程中没有被窜改,可输出所解密的信息明文 P,完成解密;若摘要值不一致,则系统发出警告并退出解密。
优选的,通过SM9算法进行加密、解密的方法包括如图2所示的步骤:
S1:获取用户的原始数据,包括系统参数、信息明文M和签名密钥、预计算的GT中的元素;
S2:使用基于固定基的快速模幂算法计算GT中元素的模幂;
S3:确定数字签名;
S4:输出消息M及其数字签名。
优选的,使用基于固定基的快速模幂算法计算GT中元素的模幂的具体步骤为:
输入:GT中的元素g,随机数r∈[1,N-1];
输出:w=gr
预计算:g1=g;g2=g64;g4=g128;g8=g192
S11:根据预计算的4个值,计算如下10个值:
g3= g2* g1;g5= g4* g1;g6= g4* g2;g7= g4* g3;g9= g8* g1;g10= g8* g2
g11= g8* g3 ;g12= g8* g4 ;g13= g8* g5 ;g14= g8* g6 ;g15= g8* g7
S12:令 u = 1,g0= 1;
S13:对 j 从 63 降至 0,执行:
a) u = u2;
b) 令 r_4 = R3[j]* 23+ R2[j]* 22+ R1[j]* 2 + R0[j]; u = u*gr_4
r_4 ∈[0,15];
S14:返回 w = u。
图3给出了本发明的总体框架结构示意图,包括:客户端、FPGA、密码模块以及主控处理器;
每个所述FPGA包含有FPGA模块1至模块16,每个模块均内置有卡内接口寄存器和PC侧接口寄存器,且卡内接口寄存器和PC侧接口寄存器共用存储器内的计算资源,减少数据复制带来的开销;
所述主控处理器内置有处理核,每个处理核含有1-4个内核,所述内核中轮询线程获取状态队列中的状态数据,根据数据中的通道号唤醒对应通道的处理线程;每个客户端会话对应一路通道,每个通道的请求由对应的通道处理线程进行处理,FPGA为每个通道预分配计算资源,由于每个内核支持64个通道,4个内核支持256个多路通道,因此最大支持可以256个客户端会话。
优选的,在上述实现方法中,所述FPGA的卡内寄存器接口组数与主控处理器的内核数目一致,以支持无锁并行计算。
优选的,在上述实现方法中,运行时,所述FPGA通过状态队列通知客户端、主控处理器;其中,状态队列与主控处理器的内核数目一致,以支持无锁并行计算。
优选的,在上述实现方法中,该方法中所述内接口寄存器、PC侧接口寄存器与状态队列分离设计,以减少数据复制带来的开销。
优选的,在上述实现方法中,该方法包括:初始阶段和运行阶段。初始阶段包括:
1)FPGA为每个通道分配卡内、PC侧接口寄存器资源,计算资源(乘法器);
2)主控处理器分配DMA等资源、配置卡内寄存器,为每个处理核创建一个轮询线程,和FPGA进行通信,为每个通道创建处理线程;
运行阶段包括:
1)客户端创建会话,调用密码运算接口;
2)客户端将密码运算请求数据发送到会话对应的通道中,同时写PC侧接口寄存器;
3)FPGA获取密码运算请求数据,将数据写入到卡内寄存器,通过状态队列通知主控处理器;
4)主控处理器轮询线程获取状态队列中的状态数据,根据数据中的通道号唤醒对应通道处理线程;
5)通道处理线程从卡内寄存器中获取待处理数据,解析并处理请求转化为对应的运算原语请求写入到卡内接口寄存器,进入睡眠状态;
6)FPGA获取到卡内寄存器中的请求数据,调用对应通道计算资源进行SM2、SM3、SM4及SM9运算,将计算结果写入到卡内寄存器,通过状态队列通知主控处理器; 运算原语包括:基点乘、点乘或混合点乘。
7)主控处理器轮询线程获取到状态数据后,唤醒对应通道处理线程继续处理,主线程处理结束后将处理结果写入卡内寄存;
8)FPGA获取处理结果,写入PC侧接口寄存器,通过状态队列通知客户端;
9)客户端从会话对应的通道中获取响应数据。
经由上述的技术方案可知,与现有技术相比,本发明具有以下益处:
(1) 本发明通过混合使用加密算法避免了单一密码体制安全性不高、加密速率过慢、密钥管理不便等缺点。
(2)相对于以往技术,该项技术将主控处理器系统资源(通道处理线程)、FPGA计算资源与实际客户端会话通过多路通道进行绑定,极大提高了硬件资源利用率;
(3)相对于以往技术,该项技术同时支持256个客户端会话并行执行运算,大大提高了运算并行程度。
(4)相对于以往技术,当客户端负载与密码模块功耗为线程关系,最大程度降低码模块在中低负载的情形下,资源浪费现象。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (6)

1.一种基于高速混合加密算法的并行多路硬件实现方法,其特征在于,该方法包括如下步骤:
A)客户端创建会话,使用密码设备应用接口,以会话方式调用密码模块运算接口;主控处理器作为接收方,使用SM2算法生成配对的公钥和私钥,并在加密计算前先将公钥发送给客户端;
B)客户端接收到SM2公钥后,使用SM2算法加密SM4密钥生成密钥密文,同时使用SM9算法加密信息明文P生成信息密文C1,使用SM4算法加密信息明文P生成信息密文C2,另外再使用SM3算法计算P中收尾两组数据块的摘要值;待上述算法均计算完成后,将四组数据打包,通过传输通道一同发送给主控处理器;
C)主控处理器在收到数据后,首先利用 SM2 私钥,通过 SM2算法将 SM4 密钥解密出来;然后利用 SM4 密钥,通过 SM4算法解密所收到的信息密文 C2,得到尚未验证的信息明文 P2,通过SM9算法解密所收到的信息密文C1,得到信息铭文P1,接着使用 SM3 算法计算得到信息明文 P1、P2 的摘要值 B1、B2,并与所收到的摘要值 A 进行对比验证:若一致,则代表数据在传输过程中没有被窜改,可输出所解密的信息明文 P,完成解密;若摘要值不一致,则系统发出警告并退出解密。
2.根据权利要求1所述的方法,其特征在于,通过所述SM9算法进行加密、解密包括下列步骤:
S1:获取用户的原始数据,包括系统参数、信息明文M和签名密钥、预计算的GT中的元素;
S2:使用基于固定基的快速模幂算法计算GT中元素的模幂;
S3:确定数字签名;
S4:输出消息M及其数字签名。
3.根据权利要求2所述的方法,其特征在于,使用基于固定基的快速模幂算法计算GT中元素的模幂的具体步骤为:
输入:GT中的元素g,随机数r∈[1,N-1];
输出:w=gr
预计算:g1=g;g2=g64;g4=g128;g8=g192
S11:根据预计算的4个值,计算如下10个值:
g3= g2* g1;g5= g4* g1;g6= g4* g2;g7= g4* g3;g9= g8* g1;g10= g8* g2
g11= g8* g3 ;g12= g8* g4 ;g13= g8* g5 ;g14= g8* g6 ;g15= g8* g7
S12:令 u = 1,g0= 1;
S13:对 j 从 63 降至 0,执行:
a) u = u2;
b) 令 r_4 = R3[j]* 23+ R2[j]* 22+ R1[j]* 2 + R0[j]; u = u*gr_4
r_4 ∈[0,15];
S14:返回 w = u。
4.根据权利要求1所述的方法,其特征在于,所述并行多路硬件包括:客户端、FPGA、密码模块以及主控处理器;每个所述FPGA包含有FPGA模块1至模块16,每个模块均内置有卡内接口寄存器和PC侧接口寄存器,且卡内接口寄存器和PC侧接口寄存器共用存储器内的计算资源,减少数据复制带来的开销;所述主控处理器内置有处理核,每个处理核含有1-4个内核,所述内核中轮询线程获取状态队列中的状态数据,根据数据中的通道号唤醒对应通道的处理线程;每个客户端会话对应一路通道,每个通道的请求由对应的通道处理线程进行处理,FPGA为每个通道预分配计算资源,由于每个内核支持64个通道,4个内核支持256个多路通道,因此最大支持可以256个客户端会话。
5.根据权利要求4所述的方法,其特征在于,所述FPGA的卡内寄存器接口组数与主控处理器的内核数目一致,以支持无锁并行计算;运行时,所述FPGA通过状态队列通知客户端、主控处理器;其中,状态队列与主控处理器的内核数目一致,以支持无锁并行计算;所述内接口寄存器、PC侧接口寄存器与状态队列分离设计,以减少数据复制带来的开销。
6.根据权利要求5所述的方法,其特征在于,该方法包括:初始阶段和运行阶段;其中:
初始阶段包括:
1)FPGA为每个通道分配卡内、PC侧接口寄存器资源,计算资源;
2)主控处理器分配DMA等资源、配置卡内寄存器,为每个处理核创建一个轮询线程,和FPGA进行通信,为每个通道创建处理线程;
运行阶段包括:
1)客户端创建会话,调用密码运算接口;
2)客户端将密码运算请求数据发送到会话对应的通道中,同时写PC侧接口寄存器;
3)FPGA获取密码运算请求数据,将数据写入到卡内寄存器,通过状态队列通知主控处理器;
4)主控处理器轮询线程获取状态队列中的状态数据,根据数据中的通道号唤醒对应通道处理线程;
5)通道处理线程从卡内寄存器中获取待处理数据,解析并处理请求转化为对应的运算原语请求写入到卡内接口寄存器,进入睡眠状态;
6)FPGA获取到卡内寄存器中的请求数据,调用对应通道计算资源进行SM2、SM3、SM4及SM9运算,将计算结果写入到卡内寄存器,通过状态队列通知主控处理器; 运算原语包括:基点乘、点乘或混合点乘;
7)主控处理器轮询线程获取到状态数据后,唤醒对应通道处理线程继续处理,主线程处理结束后将处理结果写入卡内寄存;
8)FPGA获取处理结果,写入PC侧接口寄存器,通过状态队列通知客户端;
9)客户端从会话对应的通道中获取响应数据。
CN202211117795.5A 2022-09-14 2022-09-14 一种基于高速混合加密算法的并行多路硬件实现方法 Pending CN115208571A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211117795.5A CN115208571A (zh) 2022-09-14 2022-09-14 一种基于高速混合加密算法的并行多路硬件实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211117795.5A CN115208571A (zh) 2022-09-14 2022-09-14 一种基于高速混合加密算法的并行多路硬件实现方法

Publications (1)

Publication Number Publication Date
CN115208571A true CN115208571A (zh) 2022-10-18

Family

ID=83573254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211117795.5A Pending CN115208571A (zh) 2022-09-14 2022-09-14 一种基于高速混合加密算法的并行多路硬件实现方法

Country Status (1)

Country Link
CN (1) CN115208571A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147488A (zh) * 2017-03-24 2017-09-08 广东工业大学 一种基于sm2加解密算法的签名验签系统和方法
CN111416717A (zh) * 2019-01-07 2020-07-14 中安网脉(北京)技术股份有限公司 一种sm2算法并行多路硬件实现方法
CN112019352A (zh) * 2020-09-07 2020-12-01 北京三未信安科技发展有限公司 一种sm9快速签名方法、系统及电子设备
CN112202568A (zh) * 2020-10-09 2021-01-08 天津大学 软硬件协同设计sm9数字签名通信方法和系统
CN114697095A (zh) * 2022-03-23 2022-07-01 中山大学 一种混合加解密方法、系统、装置及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147488A (zh) * 2017-03-24 2017-09-08 广东工业大学 一种基于sm2加解密算法的签名验签系统和方法
CN111416717A (zh) * 2019-01-07 2020-07-14 中安网脉(北京)技术股份有限公司 一种sm2算法并行多路硬件实现方法
CN112019352A (zh) * 2020-09-07 2020-12-01 北京三未信安科技发展有限公司 一种sm9快速签名方法、系统及电子设备
CN112202568A (zh) * 2020-10-09 2021-01-08 天津大学 软硬件协同设计sm9数字签名通信方法和系统
CN114697095A (zh) * 2022-03-23 2022-07-01 中山大学 一种混合加解密方法、系统、装置及介质

Similar Documents

Publication Publication Date Title
US7200226B2 (en) Cipher block chaining decryption
US5805703A (en) Method and apparatus for digital signature authentication
CN105099672B (zh) 混合加密方法及实现该方法的装置
US9819656B2 (en) Method for secure communication using asymmetric and symmetric encryption over insecure communications
CN1284327C (zh) 分组加密系统和方法
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
CN109145568A (zh) 一种基于pci-e接口的全算法密码卡及其加密方法
EP3461056B1 (en) Systems and methods for facilitating iterative key generation and data encryption and decryption
WO2003021849A2 (en) A non-algebraic cryptographic architecture
US10715332B2 (en) Encryption for transactions in a memory fabric
WO2023109235A1 (zh) 加解密初始化配置方法、边缘端、加解密平台及安全系统
CN107534558A (zh) 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统
WO2020253380A1 (zh) 数据加密方法、装置及终端设备
WO2021217939A1 (zh) 用于区块链数据处理的方法、装置及可读存储介质
CN114531239B (zh) 多加密密钥的数据传输方法及系统
CN109104278A (zh) 一种加密解密方法
Al-Shargabi et al. A new DNA based encryption algorithm for internet of things
CN111416717A (zh) 一种sm2算法并行多路硬件实现方法
Cheung et al. Implementation of an FPGA based accelerator for virtual private networks
CN101515853B (zh) 信息终端及其信息安全装置
CN115865540B (zh) 一种信息安全传输方法及装置
CN115208571A (zh) 一种基于高速混合加密算法的并行多路硬件实现方法
Murphy et al. Hardware-software implementation of public-key cryptography for wireless sensor networks
CN114679252A (zh) 一种MACsec AES算法资源共享方法
CN112367159A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20221018