CN112865969A - 一种数据加密卡的加密方法及装置 - Google Patents

一种数据加密卡的加密方法及装置 Download PDF

Info

Publication number
CN112865969A
CN112865969A CN202110174434.3A CN202110174434A CN112865969A CN 112865969 A CN112865969 A CN 112865969A CN 202110174434 A CN202110174434 A CN 202110174434A CN 112865969 A CN112865969 A CN 112865969A
Authority
CN
China
Prior art keywords
key
encryption
ciphertext
encrypted
target ciphertext
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
CN202110174434.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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN202110174434.3A priority Critical patent/CN112865969A/zh
Publication of CN112865969A publication Critical patent/CN112865969A/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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种数据加密卡的加密方法及装置,其方法应用于加密卡系统,加密卡系统包括:用于进行数据加密的CPU子系统,以及用于和读卡装置进行交互的硬件子系统;CPU子系统中包括:加密算法装置,加密算法装置配置有SM2和SM4国密算法;硬件子系统中包括:PCI‑E接口;方法包括:当PCI‑E接口处于连接状态时,响应于开始加密的指令,获取SM2私钥和SM4秘钥;开始加密的指令为CPU子系统从PCI‑E接口读取;基于SM2私钥,计算得到SM2公钥;利用SM4秘钥对目标明文进行加密,生成目标密文;利用SM2公钥对SM4秘钥进行加密,生成加密后的SM4秘钥;根据目标密文和加密后的SM4秘钥,得到加密数据包。从而解决现有的数据加密方法存在的投入成本高且灵活性差的问题。

Description

一种数据加密卡的加密方法及装置
技术领域
本发明涉及数据安全技术领域,尤其涉及一种数据加密卡的加密方法及装置。
背景技术
传统密码卡的设计方案大都是以数据传输总线芯片与安全加密芯片进行组合开发为主,这种方案虽然开发周期短,稳定性强,但这种加密方法具有投入成本高且灵活性差的明显缺点。
因此,提出一种制造成本低,且可以存在多种加密算法组合的密码卡加密方法,具有十分重要的意义。
发明内容
本发明实施例提供了一种数据加密卡的加密方法及装置,应用于加密卡系统,克服现有的数据加密方法存在的投入成本高且灵活性差的问题。
第一方面,本发明实施例提供的一种数据加密卡的加密放法,应用于加密卡系统,所述加密卡系统包括:用于进行数据加密的CPU子系统,以及用于和读卡装置进行交互的硬件子系统;所述CPU子系统中包括:加密算法装置,所述加密算法装置配置有SM2和SM4国密算法;所述硬件子系统中包括:PCI-E接口;所述方法包括:
当所述PCI-E接口处于连接状态时,响应于开始加密的指令,获取SM2私钥和SM4秘钥;所述开始加密的指令为所述CPU子系统从所述PCI-E接口读取;
基于所述SM2私钥,计算得到SM2公钥;
利用所述SM4秘钥对目标明文进行加密,生成目标密文;
利用所述SM2公钥对所述SM4秘钥进行加密,生成加密后的SM4秘钥;
根据所述目标密文和所述加密后的SM4秘钥,得到加密数据包。
可选地,所述加密卡系统还包括:随机数生成模块;获取SM4秘钥和SM2私钥,包括:
通过所述随机数生成模块生成第一组随机数和第二组随机数;
将所述第一组随机数设置为所述SM4秘钥;
将所述第二组随机数设置为所述SM2私钥。
可选地,所述加密算法模块还配置有SM3国密算法;利用所述SM2公钥对所述SM4秘钥进行加密,生成加密后的SM4秘钥之后,还包括:
通过所述SM3国密算法对所述目标密文进行加密,生成目标密文摘要;
所述根据所述目标密文和所述加密后的SM4秘钥,得到加密数据包的步骤,包括:
将所述目标密文、所述目标密文摘要和所述加密后的SM4秘钥组合,生成所述加密数据包。
第二方面,本发明实施例提供的一种数据加密卡的解密方法,包括:
S1,获取加密数据包,从所述加密数据包中提取加密后的SM4秘钥和目标密文;
S2,判断所述加密数据包中的所述目标密文是否为有效目标密文;若是,则执行步骤S3;若否,则执行步骤S5;
S3,利用SM2私钥对所述加密后的SM4秘钥进行解密,得到SM4秘钥;所述SM2私钥为加密卡系统中的随机生成模块生成;
S4,利用所述SM4秘钥对所述有效目标密文解密,得到目标明文;
S5,终止对所述加密数据包的数解密操作。
可选地,判断所述加密数据包中的所述目标密文是否为有效目标密文,包括:
从所述加密数据包中提取待测密文及目标密文摘要;
利用SM3国密算法对所述待测密文进行计算,得到待测密文摘要;
比较所述待测密文摘要和所述目标密文摘要是否相同;若是,则确定目标密文为有效目标密文;若否,则确定目标密文无效。
第三方面,本发明实施例提供的一种数据加密卡的加密装置,应用于加密卡系统,所述加密卡系统包括:用于进行数据加密的CPU子系统,以及用于和读卡装置进行交互的硬件子系统;所述CPU子系统中包括:加密算法装置,所述加密算法装置配置有SM2和SM4国密算法;所述硬件子系统中包括:PCI-E接口;所述装置包括:
获取模块,用于当所述PCI-E接口处于连接状态时,响应于开始加密的指令,获取SM2私钥和SM4秘钥;所述开始加密的指令为所述CPU子系统从所述PCI-E接口读取;
计算模块,用于基于所述SM2私钥,计算得到SM2公钥;
目标密文生成模块,用于利用所述SM4秘钥对目标明文进行加密,生成目标密文;
SM4秘钥生成模块,用于利用所述SM2公钥对所述SM4秘钥进行加密,生成加密后的SM4秘钥;
加密数据包生成模块,用于根据所述目标密文和所述加密后的SM4秘钥,得到加密数据包。
可选地,所述加密卡系统还包括:随机数生成模块;所述获取模块包括:
随机数生成子模块,用于通过所述随机数生成模块生成第一组随机数和第二组随机数;
SM4秘钥生成子模块,用于将所述第一组随机数设置为所述SM4秘钥;
SM2私钥生成子模块,用于将所述第二组随机数设置为所述SM2私钥。
可选地,所述加密算法装置还配置有SM3国密算法;所述装置还包括:
密文摘要生成模块,用于通过所述SM3国密算法对所述目标密文进行加密,生成目标密文摘要;
所述加密数据包生成模块包括:
加密数据包生成子模块,用于将所述目标密文、所述目标密文摘要和所述加密后的SM4秘钥组合,生成所述加密数据包。
第四方面,本发明实施例提供的一种数据加密卡的解密装置,包括:
提取模块,用于获取加密数据包,从所述加密数据包中提取加密后的SM4秘钥和目标密文;
判断模块,用于判断所述加密数据包中的所述目标密文是否为有效目标密文;若是,则执行SM4秘钥获取模块;若否,则执行步骤S5;
SM4秘钥获取模块,用于利用SM2私钥对所述加密后的SM4秘钥进行解密,得到SM4秘钥;所述SM2私钥为加密卡系统中的随机生成模块生成;
目标明文获取模块,用于利用所述SM4秘钥对所述有效目标密文解密,得到目标明文;
终止模块,用于终止数据解密操作。
可选地,所述判断模块包括:
提取子模块,用于从所述加密数据包中提取待测密文及目标密文摘要;
待测密文摘要生成子模块,利用SM3国密算法对所述待测密文进行计算,得到待测密文摘要;
比较子模块,用于比较所述待测密文摘要和所述目标密文摘要是否相同;若是,则确定目标密文为有效目标密文;若否,则确定目标密文无效。
第五方面,本发明实施例还公开了一种加密卡,包括:所述数据加密装置、处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现任一项所述方法的步骤。
第六方面,本发明实施例还公开了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现任一项所述数据加密方法的步骤。
从以上技术方案可以看出,本发明具有以下优点:
本发明应用于加密卡系统,所述加密卡系统包括:用于进行数据加密的CPU子系统,以及用于和读卡装置进行交互的硬件子系统;所述CPU子系统中包括:加密算法装置,所述加密算法装置配置有SM2和SM4国密算法;所述硬件子系统中包括:PCI-E接口;所述方法包括:当所述PCI-E接口处于连接状态时,响应于开始加密的指令,获取SM2私钥和SM4秘钥;所述开始加密的指令为所述CPU子系统从所述PCI-E接口读取;基于所述SM2私钥,计算得到SM2公钥;利用所述SM4秘钥对目标明文进行加密,生成目标密文;利用所述SM2公钥对所述SM4秘钥进行加密,生成加密后的SM4秘钥;根据所述目标密文和所述加密后的SM4秘钥,得到加密数据包。从而解决现有的数据加密方法存在的投入成本高且灵活性差的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的一种数据加密卡的加密方法实施例的步骤流程图;
图2为本发明的一种加密卡系统的结构图;
图3为本发明的CPU子系统1与硬件子系统2的交互示意图;
图4为本发明的CPU子系统1中模块间的通信示意图;
图5为本发明的一种数据加密卡的解密方法实施例的步骤流程图;
图6为本发明的一种数据加密卡的加密装置实施例的结构框图;
图7为本发明的一种数据加密卡的解密装置实施例的结构框图。
具体实施方式
本发明实施例提供了一种数据加密卡的加密方法及装置,应用于加密卡系统,克服现有的数据加密方法存在的投入成本高且灵活性差的问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明的一种数据加密卡的加密方法实施例的步骤流程图,应用于如图2所示的加密卡系统,所述加密卡系统包括:用于进行数据加密的CPU子系统1,以及用于和读卡装置进行交互的硬件子系统2;所述CPU子系统1中包括:加密算法装置11,所述加密算法装置配置有SM2和SM4国密算法;所述硬件子系统2中包括:PCI-E接口23;所述方法包括如下步骤:
步骤S101,当所述PCI-E接口23处于连接状态时,响应于开始加密的指令,获取SM2私钥和SM4秘钥;所述开始加密的指令为所述CPU子系统1从所述PCI-E接口23读取;
请参阅图2,图2为本发明的一种加密卡系统的结构图,所述硬件子系统2中包括:Flash存储器21、串口调试器22、PCI-E接口23和JTAG接口24,其中Flash存储器21用于保存用户自定义的代码,串口调试器22用于与串口17连接,实现连接类型的转换,PCI-E接口23用于使用外部电源供电以及触发加密方法的启动,JTAG接口24作为用户访问CPU子系统1的媒介,还可以对Flash存储器21进行代码的存储,以及对用户自定义加密方案的设计与调试。
所述CPU子系统1中包括:加密算法装置11、易失性存储器12、只读存储器13、IIC接口14、SPI接口15、随机数生成模块16、串口17和嵌入式CPU18,所述加密算法装置11配置有SM2国密算法模块111、SM3国密算法模块112和SM4国密算法模块113,易失性存储器12用于保存部分CPU缓存数据,只读存储器13用于保存系统的引导加载程序,IIC接口14是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线,IIC接口只有两根双向信号线,一根是数据线SDA,另一根是时钟线SCL,可以实现半双工通信,SPI接口15是一种权双工同步的通信总线,且在芯片的管脚上只占用四根线,随机数生成模块16为真随机数生成模块,可以生成完全非确定性的随机数,串口17用于转换密码卡与服务器或主机的连接为PCI-E连接,CPU18为32位的嵌入式CPU,具有RISC-V开源指令集,可支持用户自定义变成,对已有算法进行组合调用。并且,CPU子系统1中的模块和部件是基于AMBA总线协议实现通信。
而关于CPU子系统1与硬件子系统2中各硬件结构的交互,如图3所示,图3为本发明的CPU子系统1与硬件子系统2的交互示意图,用户通过JTAG接口24访问CPU子系统1的内部,还可以对Flash存储器21进行编辑后的代码的存储,并且可以通过PCI-E接口22实现密码卡与主机或服务器的连接,或者通过串口23在Micro USB数据线使电脑主机与CPU系统进行通信调试。
此外,针对CPU子系统1内部的模块间通信,如图4所示,需要说明,AMBA总线包含了高速总线AHB总线和低速总线APB总线,一般情况下,AHB总线一般用于传输大量数据的情况,而APB总线一般用于与IIC,UART,SPI等低速接口通信。图4为本发明的CPU子系统1中模块间的通信示意图,其中,a为AHB总线连接,b为APB总线连接,c为Bridge,用于实现AHB总线和APB总线间连接。可以看到,CPU18、SM2国密算法模块111、SM3国密算法模块112、SM4国密算法模块113、易失性存储器12和只读存储器13都为AHB总线连接,而IIC接口14、SPI接口15、随机数生成模块16和串口17都为APB总线连接。
SM2国密算法是一种非对称加密算法,使用这种算法时需要提前生成一对密钥对,其中密钥对包括公钥和私钥,公钥用于对数据进行加密,私钥用于对被公钥加密的数据进行解密。由于对数据进行加密和解密操作所使用的秘钥并不是同一秘钥,故称SM2国密算法为非对称加密算法。
SM3国密算法是一种密码杂凑算法,可以将小于264比特的数据通过算法生成长度为256比特的信息摘要,而基于生成的信息摘要,难以推出原本的数据。
SM4国密算法是一种对称加密算法,即使用SM4对数据进行加密及解密的数据所用到的秘钥为统一秘钥,SM4国密算法能够抵抗针对分组密码算法的各种攻击方法,如穷举搜索攻击、差分攻击和线性攻击等。
请参阅图2,在一个可选实施例中,所述加密卡系统还包括:随机数生成模块16;获取SM4秘钥和SM2私钥,包括:
通过所述随机数生成模块16生成第一组随机数和第二组随机数;
将所述第一组随机数设置为所述SM4秘钥;
将所述第二组随机数设置为所述SM2私钥。
在本发明实施例中,利用随机生成模块16生成两组随机数,其中第一组随机数设为SM4秘钥,第二组随机数设为SM2私钥。
现阶段所使用的随机数生成模块一般为伪随机数生成模块,即由固定的算法生成的随机数,这种随机数生成方式容易被破解,而本发明实施例所使用的随机数生成模块并不使用固定算法生成随机数,即可以生成完全非确定性的随机数,从而提升SM4秘钥和SM2私钥的安全性。
步骤S102,基于所述SM2私钥,计算得到SM2公钥;
在本发明实施例中,基于SM2私钥,通过SM2国密算法模块111,计算得到SM2公钥。
步骤S103,利用所述SM4秘钥对目标明文进行加密,生成目标密文;
在具体实现中,通过SM4国密算法模块113对目标铭文进行加密,生成目标密文。
步骤S104,利用所述SM2公钥对所述SM4秘钥进行加密,生成加密后的SM4秘钥;
步骤S105,根据所述目标密文和所述加密后的SM4秘钥,得到加密数据包。
在一个可选实施例中,所述加密算法模块还配置有SM3国密算法;利用所述SM2公钥对所述SM4秘钥进行加密,生成加密后的SM4秘钥之后,还包括:
通过所述SM3国密算法对所述目标密文进行加密,生成目标密文摘要;
所述根据所述目标密文和所述加密后的SM4秘钥,得到加密数据包的步骤,包括:
将所述目标密文、所述目标密文摘要和所述加密后的SM4秘钥组合,生成所述加密数据包。
在具体实现中,加密数据包中包括加密后的SM4秘钥、目标密文和目标密文摘要,将其进行打包并发送至与硬件子系统2连接的主机或服务器。
在本发明实施例所提供的一种数据加密方法,应用于加密卡系统,所述加密卡系统包括:用于进行数据加密的CPU子系统,以及用于和读卡装置进行交互的硬件子系统;所述CPU子系统中包括:加密算法装置,所述加密算法装置配置有SM2和SM4国密算法;所述硬件子系统中包括:PCI-E接口;所述方法包括:当所述PCI-E接口处于连接状态时,响应于开始加密的指令,获取SM2私钥和SM4秘钥;所述开始加密的指令为所述CPU子系统从所述PCI-E接口读取;基于所述SM2私钥,计算得到SM2公钥;利用所述SM4秘钥对目标明文进行加密,生成目标密文;利用所述SM2公钥对所述SM4秘钥进行加密,生成加密后的SM4秘钥;根据所述目标密文和所述加密后的SM4秘钥,得到加密数据包。从而解决现有的数据加密方法存在的投入成本高且灵活性差的问题。
请参阅图5,为本发明的一种数据加密卡的解密方法实施例的步骤流程图,所述步骤具体包括:
步骤S201,获取加密数据包,从所述加密数据包中提取加密后的SM4秘钥和目标密文;
步骤S202,判断所述加密数据包中的所述目标密文是否为有效目标密文;若是,则执行步骤S203;若否,则执行步骤S205;
在一个可选实施例中,判断所述加密数据包中的所述目标密文是否为有效目标密文,包括:
从所述加密数据包中提取待测密文及目标密文摘要;
利用SM3国密算法对所述待测密文进行计算,得到待测密文摘要;
比较所述待测密文摘要和所述目标密文摘要是否相同;若是,则确定目标密文为有效目标密文;若否,则确定目标密文无效。
在具体实现中,若待测密文摘要和目标密文摘要内容并不一致,则可以确定目标密文遭到篡改,进而确定目标密文无效;若待测密文摘要和目标密文摘要内容一致,则可以确定目标密文未被篡改,进而确定目标密文有效。
步骤S203,利用SM2私钥对所述加密后的SM4秘钥进行解密,得到SM4秘钥;所述SM2私钥为加密卡系统中的随机生成模块生成;
步骤S204,利用所述SM4秘钥对所述有效目标密文解密,得到目标明文;
步骤S205,终止对所述加密数据包的数解密操作。
在本发明实施例所提供的一种数据解密方法,通过S1,获取加密数据包,从所述加密数据包中提取加密后的SM4秘钥和目标密文;S2,判断所述加密数据包中的所述目标密文是否为有效目标密文;若是,则执行步骤S3;若否,则执行步骤S5;S3,利用SM2私钥对所述加密后的SM4秘钥进行解密,得到SM4秘钥;所述SM2私钥为加密卡系统中的随机生成模块生成;S4,利用所述SM4秘钥对所述有效目标密文解密,得到目标明文;S5,终止对所述加密数据包的数解密操作。作为与上述一种数据加密方法相应的数据解密方法,用于解决现有的密码卡所搭载的加密方法存在的投入成本高且灵活性差的问题。
请参阅图6,示出了一种数据加密卡的加密装置实施例的结构框图,应用于加密卡系统,所述加密卡系统包括:用于进行数据加密的CPU子系统,以及用于和读卡装置进行交互的硬件子系统;所述CPU子系统中包括:加密算法装置,所述加密算法装置配置有SM2和SM4国密算法;所述硬件子系统中包括:PCI-E接口;所述装置包括:
获取模块101,用于当所述PCI-E接口处于连接状态时,响应于开始加密的指令,获取SM2私钥和SM4秘钥;所述开始加密的指令为所述CPU子系统从所述PCI-E接口读取;
在一个可选实施例中,所述加密卡系统还包括:随机数生成模块;所述获取模块101包括:
随机数生成子模块,用于通过所述随机数生成模块生成第一组随机数和第二组随机数;
SM4秘钥生成子模块,用于将所述第一组随机数设置为所述SM4秘钥;
SM2私钥生成子模块,用于将所述第二组随机数设置为所述SM2私钥。
计算模块102,用于基于所述SM2私钥,计算得到SM2公钥;
目标密文生成模块103,用于利用所述SM4秘钥对目标明文进行加密,生成目标密文;
SM4秘钥生成模块104,用于利用所述SM2公钥对所述SM4秘钥进行加密,生成加密后的SM4秘钥;
加密数据包生成模块105,用于根据所述目标密文和所述加密后的SM4秘钥,得到加密数据包。
在一个可选实施例中,所述加密算法装置还配置有SM3国密算法;所述装置还包括:
密文摘要生成模块,用于通过所述SM3国密算法对所述目标密文进行加密,生成目标密文摘要;
所述加密数据包生成模块包括:
加密数据包生成子模块,用于将所述目标密文、所述目标密文摘要和所述加密后的SM4秘钥组合,生成所述加密数据包。
请参阅图7,示出了一种数据加密卡的解密装置实施例的结构框图,包括如下模块:
提取模块201,用于获取加密数据包,从所述加密数据包中提取加密后的SM4秘钥和目标密文;
判断模块202,用于判断所述加密数据包中的所述目标密文是否为有效目标密文;若是,则执行SM4秘钥获取模块;若否,则执行步骤S5;
SM4秘钥获取模块203,用于利用SM2私钥对所述加密后的SM4秘钥进行解密,得到SM4秘钥;所述SM2私钥为加密卡系统中的随机生成模块生成;
目标明文获取模块204,用于利用所述SM4秘钥对所述有效目标密文解密,得到目标明文;
终止模块205,用于终止数据解密操作。
在一个可选实施例中,所述判断模块102包括:
提取子模块,用于从所述加密数据包中提取待测密文及目标密文摘要;
待测密文摘要生成子模块,利用SM3国密算法对所述待测密文进行计算,得到待测密文摘要;
比较子模块,用于比较所述待测密文摘要和所述目标密文摘要是否相同;若是,则确定目标密文为有效目标密文;若否,则确定目标密文无效。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种加密卡,包括:所述数据加密装置、处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述数据加密方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述针对所述数据加密方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据加密方法和一种数据加密装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据加密卡的加密方法,其特征在于,应用于加密卡系统,所述加密卡系统包括:用于进行数据加密的CPU子系统,以及用于和读卡装置进行交互的硬件子系统;所述CPU子系统中包括:加密算法装置,所述加密算法装置配置有SM2和SM4国密算法;所述硬件子系统中包括:PCI-E接口;所述方法包括:
当所述PCI-E接口处于连接状态时,响应于开始加密的指令,获取SM2私钥和SM4秘钥;所述开始加密的指令为所述CPU子系统从所述PCI-E接口读取;
基于所述SM2私钥,计算得到SM2公钥;
利用所述SM4秘钥对目标明文进行加密,生成目标密文;
利用所述SM2公钥对所述SM4秘钥进行加密,生成加密后的SM4秘钥;
根据所述目标密文和所述加密后的SM4秘钥,得到加密数据包。
2.根据权利要求1所述的数据加密卡的加密方法,其特征在于,所述加密卡系统还包括:随机数生成模块;获取SM4秘钥和SM2私钥,包括:
通过所述随机数生成模块生成第一组随机数和第二组随机数;
将所述第一组随机数设置为所述SM4秘钥;
将所述第二组随机数设置为所述SM2私钥。
3.根据权利要求1或2所述的数据加密卡的加密方法,其特征在于,所述加密算法模块还配置有SM3国密算法;利用所述SM2公钥对所述SM4秘钥进行加密,生成加密后的SM4秘钥之后,还包括:
通过所述SM3国密算法对所述目标密文进行加密,生成目标密文摘要;
所述根据所述目标密文和所述加密后的SM4秘钥,得到加密数据包的步骤,包括:
将所述目标密文、所述目标密文摘要和所述加密后的SM4秘钥组合,生成所述加密数据包。
4.一种数据加密卡的解密方法,其特征在于,包括:
S1,获取加密数据包,从所述加密数据包中提取加密后的SM4秘钥和目标密文;
S2,判断所述加密数据包中的所述目标密文是否为有效目标密文;若是,则执行步骤S3;若否,则执行步骤S5;
S3,利用SM2私钥对所述加密后的SM4秘钥进行解密,得到SM4秘钥;所述SM2私钥为加密卡系统中的随机生成模块生成;
S4,利用所述SM4秘钥对所述有效目标密文解密,得到目标明文;
S5,终止对所述加密数据包的数解密操作。
5.根据权利要求4所述的数据加密卡的解密方法,其特征在于,判断所述加密数据包中的所述目标密文是否为有效目标密文,包括:
从所述加密数据包中提取待测密文及目标密文摘要;
利用SM3国密算法对所述待测密文进行计算,得到待测密文摘要;
比较所述待测密文摘要和所述目标密文摘要是否相同;若是,则确定目标密文为有效目标密文;若否,则确定目标密文无效。
6.一种数据加密卡的加密装置,其特征在于,应用于加密卡系统,所述加密卡系统包括:用于进行数据加密的CPU子系统,以及用于和读卡装置进行交互的硬件子系统;所述CPU子系统中包括:加密算法装置,所述加密算法装置配置有SM2和SM4国密算法;所述硬件子系统中包括:PCI-E接口;所述装置包括:
获取模块,用于当所述PCI-E接口处于连接状态时,响应于开始加密的指令,获取SM2私钥和SM4秘钥;所述开始加密的指令为所述CPU子系统从所述PCI-E接口读取;
计算模块,用于基于所述SM2私钥,计算得到SM2公钥;
目标密文生成模块,用于利用所述SM4秘钥对目标明文进行加密,生成目标密文;
SM4秘钥生成模块,用于利用所述SM2公钥对所述SM4秘钥进行加密,生成加密后的SM4秘钥;
加密数据包生成模块,用于根据所述目标密文和所述加密后的SM4秘钥,得到加密数据包。
7.根据权利要求6所述的数据加密卡的加密装置,其特征在于,所述加密卡系统还包括:随机数生成模块;所述获取模块包括:
随机数生成子模块,用于通过所述随机数生成模块生成第一组随机数和第二组随机数;
SM4秘钥生成子模块,用于将所述第一组随机数设置为所述SM4秘钥;
SM2私钥生成子模块,用于将所述第二组随机数设置为所述SM2私钥。
8.根据权利要求6或7所述的数据加密卡的加密装置,其特征在于,所述加密算法装置还配置有SM3国密算法;所述装置还包括:
密文摘要生成模块,用于通过所述SM3国密算法对所述目标密文进行加密,生成目标密文摘要;
所述加密数据包生成模块包括:
加密数据包生成子模块,用于将所述目标密文、所述目标密文摘要和所述加密后的SM4秘钥组合,生成所述加密数据包。
9.一种数据加密卡的解密装置,其特征在于,包括:
提取模块,用于获取加密数据包,从所述加密数据包中提取加密后的SM4秘钥和目标密文;
判断模块,用于判断所述加密数据包中的所述目标密文是否为有效目标密文;若是,则执行SM4秘钥获取模块;若否,则执行步骤S5;
SM4秘钥获取模块,用于利用SM2私钥对所述加密后的SM4秘钥进行解密,得到SM4秘钥;所述SM2私钥为加密卡系统中的随机生成模块生成;
目标明文获取模块,用于利用所述SM4秘钥对所述有效目标密文解密,得到目标明文;
终止模块,用于终止数据解密操作。
10.根据权利要求9所述的数据加密卡的解密装置,其特征在于,所述判断模块包括:
提取子模块,用于从所述加密数据包中提取待测密文及目标密文摘要;
待测密文摘要生成子模块,利用SM3国密算法对所述待测密文进行计算,得到待测密文摘要;
比较子模块,用于比较所述待测密文摘要和所述目标密文摘要是否相同;若是,则确定目标密文为有效目标密文;若否,则确定目标密文无效。
CN202110174434.3A 2021-02-07 2021-02-07 一种数据加密卡的加密方法及装置 Pending CN112865969A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110174434.3A CN112865969A (zh) 2021-02-07 2021-02-07 一种数据加密卡的加密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110174434.3A CN112865969A (zh) 2021-02-07 2021-02-07 一种数据加密卡的加密方法及装置

Publications (1)

Publication Number Publication Date
CN112865969A true CN112865969A (zh) 2021-05-28

Family

ID=75989302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110174434.3A Pending CN112865969A (zh) 2021-02-07 2021-02-07 一种数据加密卡的加密方法及装置

Country Status (1)

Country Link
CN (1) CN112865969A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420309A (zh) * 2021-07-01 2021-09-21 广东工业大学 基于国密算法的轻量化数据保护系统
CN114297114A (zh) * 2021-11-23 2022-04-08 北京智芯微电子科技有限公司 加密卡及其数据交互方法、装置及计算机可读存储介质
CN114978714A (zh) * 2022-05-24 2022-08-30 中国科学院大学 基于risc-v的轻量级数据总线加密安全传输方法
CN115632880A (zh) * 2022-12-07 2023-01-20 国网信息通信产业集团有限公司 一种基于国密算法的可靠数据传输及存储的方法及系统
CN116186793A (zh) * 2022-10-12 2023-05-30 三未信安科技股份有限公司 一种基于risc-v的安全芯片架构及其工作方法
WO2023098389A1 (zh) * 2021-11-30 2023-06-08 傲然技术有限公司 一种计算机文件安全加密方法、解密方法和可读存储介质
CN116582267A (zh) * 2023-05-15 2023-08-11 合芯科技(苏州)有限公司 一种数据加密系统、方法、装置、存储介质及电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411498A (zh) * 2016-12-23 2017-02-15 艾体威尔电子技术(北京)有限公司 一种实现国密算法的方法
CN107506668A (zh) * 2017-08-31 2017-12-22 北京计算机技术及应用研究所 一种基于通信消息实时认证的u盘访问方法
WO2018182890A1 (en) * 2017-03-28 2018-10-04 Alibaba Group Holding Limited Method and system for protecting data keys in trusted computing
CN109145568A (zh) * 2018-08-21 2019-01-04 西安得安信息技术有限公司 一种基于pci-e接口的全算法密码卡及其加密方法
US20190013941A1 (en) * 2017-07-07 2019-01-10 University Of South Florida Systems and methods for generating symmetric cryptographic keys
CN110995648A (zh) * 2019-10-25 2020-04-10 金现代信息产业股份有限公司 安全加密方法
CN111460455A (zh) * 2020-03-20 2020-07-28 北京智芯微电子科技有限公司 自加密固态硬盘的密钥协商方法、安全引导方法及系统
CN111860888A (zh) * 2020-07-17 2020-10-30 国网江苏省电力有限公司 一种输电线路无人机巡检状态实时监控搜寻系统及方法
CN111917710A (zh) * 2020-06-12 2020-11-10 北京智芯微电子科技有限公司 Pci-e密码卡及其密钥保护方法、计算机可读存储介质
CN112020037A (zh) * 2020-09-25 2020-12-01 卡斯柯信号(郑州)有限公司 一种适用于轨道交通的国产通信加密方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411498A (zh) * 2016-12-23 2017-02-15 艾体威尔电子技术(北京)有限公司 一种实现国密算法的方法
WO2018182890A1 (en) * 2017-03-28 2018-10-04 Alibaba Group Holding Limited Method and system for protecting data keys in trusted computing
US20190013941A1 (en) * 2017-07-07 2019-01-10 University Of South Florida Systems and methods for generating symmetric cryptographic keys
CN107506668A (zh) * 2017-08-31 2017-12-22 北京计算机技术及应用研究所 一种基于通信消息实时认证的u盘访问方法
CN109145568A (zh) * 2018-08-21 2019-01-04 西安得安信息技术有限公司 一种基于pci-e接口的全算法密码卡及其加密方法
CN110995648A (zh) * 2019-10-25 2020-04-10 金现代信息产业股份有限公司 安全加密方法
CN111460455A (zh) * 2020-03-20 2020-07-28 北京智芯微电子科技有限公司 自加密固态硬盘的密钥协商方法、安全引导方法及系统
CN111917710A (zh) * 2020-06-12 2020-11-10 北京智芯微电子科技有限公司 Pci-e密码卡及其密钥保护方法、计算机可读存储介质
CN111860888A (zh) * 2020-07-17 2020-10-30 国网江苏省电力有限公司 一种输电线路无人机巡检状态实时监控搜寻系统及方法
CN112020037A (zh) * 2020-09-25 2020-12-01 卡斯柯信号(郑州)有限公司 一种适用于轨道交通的国产通信加密方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420309A (zh) * 2021-07-01 2021-09-21 广东工业大学 基于国密算法的轻量化数据保护系统
CN113420309B (zh) * 2021-07-01 2022-05-17 广东工业大学 基于国密算法的轻量化数据保护系统
CN114297114A (zh) * 2021-11-23 2022-04-08 北京智芯微电子科技有限公司 加密卡及其数据交互方法、装置及计算机可读存储介质
CN114297114B (zh) * 2021-11-23 2024-01-23 北京智芯微电子科技有限公司 加密卡及其数据交互方法、装置及计算机可读存储介质
WO2023098389A1 (zh) * 2021-11-30 2023-06-08 傲然技术有限公司 一种计算机文件安全加密方法、解密方法和可读存储介质
CN114978714A (zh) * 2022-05-24 2022-08-30 中国科学院大学 基于risc-v的轻量级数据总线加密安全传输方法
CN114978714B (zh) * 2022-05-24 2023-11-10 中国科学院大学 基于risc-v的轻量级数据总线加密安全传输方法
CN116186793A (zh) * 2022-10-12 2023-05-30 三未信安科技股份有限公司 一种基于risc-v的安全芯片架构及其工作方法
CN115632880A (zh) * 2022-12-07 2023-01-20 国网信息通信产业集团有限公司 一种基于国密算法的可靠数据传输及存储的方法及系统
CN115632880B (zh) * 2022-12-07 2023-03-21 国网信息通信产业集团有限公司 一种基于国密算法的可靠数据传输及存储的方法及系统
CN116582267A (zh) * 2023-05-15 2023-08-11 合芯科技(苏州)有限公司 一种数据加密系统、方法、装置、存储介质及电子设备
CN116582267B (zh) * 2023-05-15 2023-10-31 合芯科技(苏州)有限公司 一种数据加密系统、方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN112865969A (zh) 一种数据加密卡的加密方法及装置
CN108345806B (zh) 一种硬件加密卡和加密方法
US11347898B2 (en) Data protection device and method and storage controller
CN101551784B (zh) 一种usb接口的ata类存储设备中数据的加密方法及装置
CN103701757B (zh) 业务接入的身份认证方法与系统
TWI570590B (zh) 與使用縮減回合編密的xts加密系統一起使用之動態加密金鑰
US8826042B2 (en) Memory controller, memory control apparatus, memory device, memory information protection system, control method for memory control apparatus, and control method for memory device
CN209803788U (zh) 一种pcie可信密码卡
CN106027261B (zh) 基于fpga的luks认证芯片电路及其密码恢复方法
CN109101829B (zh) 基于可重构密码处理器的安全固态盘数据传输系统
US11722467B2 (en) Secured communication from within non-volatile memory device
CN112329038A (zh) 一种基于usb接口的数据加密控制系统及芯片
CN104077243A (zh) Sata硬盘设备加密方法及系统
CN111859424B (zh) 物理管理平台的数据加密方法、系统、终端及存储介质
CN107423631A (zh) 一种数据库加解密方法和装置
WO2019184741A1 (zh) 应用程序信息的存储、处理方法及装置
CN114189326B (zh) 一种插拔式加密终端的多重加密系统及解密方法
US20210006391A1 (en) Data processing method, circuit, terminal device and storage medium
CN107861892A (zh) 一种实现数据处理的方法及终端
CN111339523B (zh) 嵌入式设备的授权方法及装置
CN114650138A (zh) 一种i2c通信方法、系统、设备以及介质
CN114697113A (zh) 一种基于硬件加速卡的多方隐私计算方法、装置及系统
CN111159783B (zh) 一种便携式高速流加密硬件装置及方法
JP2015026892A (ja) 情報処理システム
CN106789061A (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: 20210528