CN116389100A - 一种数字信封加密方法及装置 - Google Patents

一种数字信封加密方法及装置 Download PDF

Info

Publication number
CN116389100A
CN116389100A CN202310324811.6A CN202310324811A CN116389100A CN 116389100 A CN116389100 A CN 116389100A CN 202310324811 A CN202310324811 A CN 202310324811A CN 116389100 A CN116389100 A CN 116389100A
Authority
CN
China
Prior art keywords
ciphertext
digital envelope
key
data
identifier
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
CN202310324811.6A
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.)
Hubei Chutianyun Co ltd
Original Assignee
Hubei Chutianyun 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 Hubei Chutianyun Co ltd filed Critical Hubei Chutianyun Co ltd
Publication of CN116389100A publication Critical patent/CN116389100A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/72Signcrypting, i.e. digital signing and encrypting simultaneously

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

本发明涉及一种数字信封加密方法及装置,包括:使用SM4数据加密密钥,对待上传的明文数据进行对称加密得到第一密文,并根据明文数据的ID生成随机SM4对称密钥;使用接收方SM2公钥,对随机SM4对称密钥进行非对称加密得到第二密文;使用随机SM4对称密钥,对SM4数据加密密钥进行对称加密得到第三密文;使用发送方SM2私钥,对SM4数据加密密钥进行签名,得到签名值;将第二密文、第三密文、签名值封装成数字信封,并随机生成数字信封的数字信封标识;本发明既利用了SM4对称加密算法的解密性能,又利用了SM2数字信封的签名快、防抵赖等特性,接收方在接收到多个发送方发送的大量SM2密文时,验签速度快,不会产生数据通道堵塞的情况。

Description

一种数字信封加密方法及装置
技术领域
本发明涉及一种数字信封加密方法及装置。
背景技术
SM2密码算法作为一种公钥密码算法,它基于更加安全先进的椭圆曲线密码机制,在国际标准的ECC椭圆曲线密码理论基础上进行改进而来,其加密强度更高。SM2属于非对称加密算法,使用公钥加密,私钥解密,在安全性和运算速度方面要优于RSA算法。综上,SM2算法作为公钥算法,可以完成签名、密钥交换以及加密应用。
SM4密码算法是一种分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。加密算法与密钥扩展算法都采用32轮非线性迭代结构。密钥扩展算法:将加密密钥变换为轮密钥的运算单元。数据解密和数据加密的算法结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。SM4属于对称加密算法,可用于替代DES/AES等国际算法,SM4算法与AES算法具有相同的密钥长度和分组长度,都是128位。
发明内容
本发明的发明人发现,SM2公钥加密适用于加密长度较短的数据,如会话密钥和消息报文。在写一个安全的应用时,如果单独使用SM2算法或者SM4算法,对数据的加密解密仅依赖密钥进行控制,是不安全的;SM2签名速度快,验签速度慢,SM2密文的解密性能,相对弱于对称加密算法(SM4)。接收端接收到多个子平台发送的大量SM2密文时,如果解密不及时,容易产生数据通道堵塞。鉴于上述问题,本发明有必要提出一种数字信封加密方法及装置以解决或部分解决上述问题,本发明提出的技术方案如下:
第一方面,本发明提供一种数字信封加密方法,包括:
使用SM4数据加密密钥,对待上传的明文数据进行对称加密得到第一密文,并根据所述明文数据的ID生成随机SM4对称密钥;
使用接收方SM2公钥,对所述随机SM4对称密钥进行非对称加密得到第二密文;
使用所述随机SM4对称密钥,对所述SM4数据加密密钥进行对称加密得到第三密文;
使用发送方SM2私钥,对所述SM4数据加密密钥进行签名,得到签名值;
将所述第二密文、第三密文、签名值封装成数字信封,并随机生成所述数字信封的数字信封标识;
获取发送方标识以及接收方标识,将所述数字信封标识、所述发送方标识、所述接收方标识及所述数字信封存入数据交换密钥表;
将所述第一密文和所述数字信封标识存入密文表,将所述数据交换密钥表和所述密文表发送至所述接收方。
在一可选的实施例中,所述使用所述随机SM4对称密钥,对所述SM4数据加密密钥进行对称加密得到第三密文,包括:
使用所述随机SM4对称密钥采用ECB模式对所述SM4数据加密密钥进行对称加密,并使用PKCS5填充模式进行数据填充,得到所述第三密文。
在一可选的实施例中,所述使用接收方SM2公钥,对所述随机SM4对称密钥进行非对称加密得到第二密文,包括:
基于接收方SM2公钥,使用第一SM2密码算法对所述随机SM4对称密钥进行非对称加密,得到所述第二密文。
在一可选的实施例中,所述将所述第二密文、第三密文、签名值封装成数字信封,并随机生成所述数字信封的数字信封标识,包括:
采用预设的签名数字信封结构,对所述第二密文、第三密文、签名值进行封装,得到所述数字信封,并随机生成所述数字信封的数字信封标识。
在一可选的实施例中,所述将所述第二密文、第三密文、签名值封装成数字信封,并随机生成所述数字信封的数字信封标识,包括:
采用预设的数字信封格式,对将所述第二密文、第三密文、签名值进行封装,得到所述数字信封,并随机生成所述数字信封的数字信封标识。
第二方面,本发明提供一种数字信封解密方法,通过下述步骤对采用如第一方面所述的数字信封加密方法加密的数字信封进行解密:
获取发送方发送的数据交换密钥表和密文表;
从所述数据交换密钥表获取数字信封标识,并根据所述数字信封标识从所述数据交换密钥表中获取对应的数字信封;
对所述数字信封进行解封得到第二密文、第三密文和签名值;
使用发送方SM2公钥,对所述签名值进行解密,得到第一SM4数据加密密钥;
使用接收方SM2私钥,对所述第二密文进行解密得到随机SM4对称密钥;
使用所述随机SM4对称密钥,对所述第三密文进行解密,得到第二SM4数据加密密钥;
若所述第一SM4数据加密密钥和所述第二SM4数据加密密钥一致,则基于所述数字信封标识从所述密文表中获取第一密文,使用所述第一SM4数据加密密钥或第二SM4数据加密密钥对所述第一密文进行解密得到发送方发送的明文数据。
第三方面,本发明提供一种数字信封加密装置,包括:
随机SM4对称密钥生成模块,用于使用SM4数据加密密钥,对待上传的明文数据进行对称加密得到第一密文,并根据所述明文数据的ID生成随机SM4对称密钥;
第一加密模块,用于使用接收方SM2公钥,对所述随机SM4对称密钥进行非对称加密得到第二密文;
第二加密模块,用于使用所述随机SM4对称密钥,对所述SM4数据加密密钥进行对称加密得到第三密文;
签名模块,用于使用发送方SM2私钥,对所述SM4数据加密密钥进行签名,得到签名值;
封装模块,用于将所述第二密文、第三密文、签名值封装成数字信封,并随机生成所述数字信封的数字信封标识;
数据存入模块,用于获取发送方标识以及接收方标识,将所述数字信封标识、所述发送方标识、所述接收方标识及所述数字信封存入数据交换密钥表;
发送模块,用于将所述第一密文和所述数字信封标识存入密文表,将所述数据交换密钥表和所述密文表发送至所述接收方。
第四方面,本发明提供一种数字信封解密装置,包括:
接收模块,用于获取发送方发送的数据交换密钥表和密文表;
数字信封获取模块,用于从所述数据交换密钥表获取数字信封标识,并根据所述数字信封标识从所述数据交换密钥表中获取对应的数字信封;
解封模块,用于对所述数字信封进行解封得到第二密文、第三密文和签名值;
第一解密模块,用于使用发送方SM2公钥,对所述签名值进行解密,得到第一SM4数据加密密钥;
第二解密模块,用于使用接收方SM2私钥,对所述第二密文进行解密得到随机SM4对称密钥;
第三解密模块,用于使用所述随机SM4对称密钥,对所述第三密文进行解密,得到第二SM4数据加密密钥;
验签模块,用于若所述第一SM4数据加密密钥和所述第二SM4数据加密密钥一致,则基于所述数字信封标识从所述密文表中获取第一密文,使用所述第一SM4数据加密密钥或第二SM4数据加密密钥对所述第一密文进行解密得到发送方发送的明文数据。
第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数字信封加密方法和/或如第二方面所述的数字信封解密方法。
第六方面,本发明提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如第一方面所述的数字信封加密方法和/或如第二方面所述的数字信封解密方法。
基于上述技术方案,本发明较现有技术而言的有益效果为:
本发明实施例提供的数字信封加密方法,先使用SM4数据加密密钥,对待上传的明文数据进行对称加密得到第一密文,并根据明文数据的ID生成随机SM4对称密钥;其次,使用接收方的SM2公钥,对随机SM4对称密钥进行非对称加密得到第二密文,签名速度快,;再使用随机SM4对称密钥对SM4数据加密密钥进行对称加密得到第三密文,最后将第二密文、第三密文、签名值封装成数字信封,接收方可采用SM2非对称密钥完成数字信封内容的解密,即使用发送方的SM2公钥对数字信封内容中的签名值进行解密得到第一SM4数据加密密钥,以及,使用接收方的SM2私钥对数字信封内容中的第二密文进行解密得到随机SM4对称密钥,并采用随机SM4对称密钥对数字信封内容中的第三密文进行解密得到第二SM4数据加密密钥,通过将第一SM4数据加密密钥和第二SM4数据加密密钥进行对比,从而实现验签,通过SM4数据加密密钥进行验签,解密性能好。本发明数据发送方使用SM4对称加密算法对明文数据内容进行加密,使用SM2非对称加密算法进行数字信封签名。接收端先用SM2非对称加密算法,进行数字信封验签,验签成功后,就做到了防抵赖,另外SM4对称加密算法在加密解密需要相同的密钥,可以通过数字信封实现生成相同的密钥和密钥交换,用于SM4对称加密。本发明既利用了SM4对称加密算法的解密性能,又利用了SM2数字信封的签名快、防抵赖等特性,接收方在接收到多个发送方发送的大量SM2密文时,验签速度快,不会产生数据通道堵塞的情况。SM4数据加密密钥可用来对发送方发送的使用SM4数据加密密钥加密的密文数据即第一密文进行解密,从而得到发送方发送的明文数据。
本发明实施例提供的数字信封加密方法,先使用SM4数据加密密钥,对待上传的明文数据进行对称加密得到第一密文,并根据明文数据的ID生成随机SM4对称密钥;其次,使用接收方的SM2公钥,对随机SM4对称密钥进行非对称加密得到第二密文;再使用随机SM4对称密钥对SM4数据加密密钥进行对称加密得到第三密文,通过对明文数据进行加密,并对明文数据进行加密的SM4数据加密密钥进行加密,形成对每个批次密文数据即第一密文和数据加密密钥的双重密码保护;通过将数据交换密钥表和密文表发送至接收方,从而将数字信封内容及该数字信封同批次的密文数据即第一密文,通过安全数据通道发送至接收方。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的数字信封加密方法的流程示意图一;
图2是本发明实施例一提供的数字信封加密方法的流程示意图二;
图3是本发明实施例二提供的数字信封解密方法的流程示意图;
图4是本发明实施例三提供的数字信封加密装置的结构示意图;
图5是本发明实施例四提供的数字信封解密装置的结构示意图;
图6是本发明实施例六提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例一
基于对数字信封与密钥关系的分析,本发明实施数字信封加密流程聚焦在数字信封内容、数字信封标识加工、数字信封标识和密文数据的关联关系以及明文数据加密等方面。本发明实施例提供一种数字信封加密方法,参照图1和图2所示,包括:
S101、使用SM4数据加密密钥A,对待上传的明文数据进行对称加密得到第一密文A,并根据所述明文数据的ID生成随机SM4对称密钥K;本发明实施例中的明文数据ID为基于UUID生成算法生成的数据库唯一标识UUID。UUID(Universally Unique Identifier)代表通用唯一标识符,是基于“RFC 4122”通用唯一标识符URN命名空间定义的。UUID被设计为在空间和时间全球独一无二的数字,预期两个UUID值是不同的,即使它们在两个独立的服务器上生成。使用UUID作为随机主键具有UUID值在表、数据库甚至在服务器上都是唯一的,允许从不同数据库合并行或跨服务器分发数据库;UUID值不会公开有关数据的信息;可以在避免往返数据库服务器的任何地方生成UUID值;简化应用程序中的逻辑等优点。基于UUID生成算法生成明文数据ID的过程可以参照现有技术中的具体描述,如可以是利用时间戳和网卡的MAC地址生成唯一的UUID,此处,不再赘述。
随机SM4对称密钥K为密钥保护密钥,用于使用接收方的SM2公钥得到随机SM4对称密钥K的密文即第二密文B,以及对SM4数据加密密钥A进行加密得到SM4数据加密密钥A的密文即第三密文C。
S102、使用接收方SM2公钥,对所述随机SM4对称密钥K进行非对称加密得到第二密文B;
S103、使用所述随机SM4对称密钥K,对所述SM4数据加密密钥A进行对称加密得到第三密文C;
S104、使用发送方SM2私钥,对所述SM4数据加密密钥A进行签名,得到签名值S;
上述步骤S101-S104中,数字信封使用SM2非对称密钥(即发送方SM2公钥和接收方SM2私钥)对随机SM4对称密钥K和SM4数据加密密钥A进行加密;密文数据使用SM4数据加密密钥A进行加密得到。那么,数字信封是带SM2密码保护的密钥,数字信封内容使用SM2密钥解密后能够获取打开密文数据的SM4对称密钥(即随机SM4对称密钥K),由于随机SM4对称密钥K是每次根据明文数据的ID随机生成的,每个批次的SM4对称密钥K不同;获取密文数据但没有该批次的随机SM4对称密钥K,依然无法解密密文内容。以此区别于传统的单独使用SM2非对称密钥或SM4对称密钥时密钥的安全无法保障,形成对每个批次密文数据和密钥的双重密码保护。
S105、将所述第二密文B、第三密文C、签名值S封装成数字信封,并随机生成所述数字信封的数字信封标识(随机数字信封ID);
S106、获取发送方标识以及接收方标识,将所述数字信封标识、所述发送方标识、所述接收方标识及所述数字信封存入数据交换密钥表;
将数字信封标识、发送方标识、接收方标识、表名称及封装好的数字信封存入数据交换密钥表。
S107、将所述第一密文A和所述数字信封标识存入密文表,将所述数据交换密钥表和所述密文表发送至所述接收方。
使用SM4对称密钥即SM4数据加密密钥A将明文数据加密得到密文数据,并将该批次密文数据的数字信封标识随同密文数据即第一密文A存入密文表。
通过软件实现“SM2+SM4”组合加密方案实施,使用数据交换密钥表单独存储数字信封的唯一标识、发送方标识、接收方标识和数字信封内容等信息,数据交换密钥表、密文表传输到接收方后,接收方按照数字信封格式、密文字段等规范约定进行数字信封验证、密文数据解密。在传统单独使用SM2或SM4单一加密方法进行数据加密传输的实施方式选择上,本发明增加“SM2+SM4”组合加密方案进行实施,进一步完善数据传输的机密性、完整性、真实性和不可否认性。
上述数据交换密钥表和密文表,可通过政务外网或其他安全通道上送至数据的接收方,形成该批次数字信封加密闭环。
上述步骤S102-S105中,发送方使用接收方的SM2公钥、发送方的SM2私钥通过SM2非对称加密算法对SM4对称密钥(即随机SM4对称密钥K和SM4数据加密密钥A)进行加密签名,得到数字信封内容;数字信封内容及该数字信封同批次的密文数据即第一密文,通过安全数据通道发送至接收方。接收方接收后,使用SM2非对称密钥(即发送方SM2公钥和接收方SM2私钥)进行数字信封内容的解密;数字信封内容解密后得到SM4数据加密密钥A,用来对发送方使用SM4数据加密密钥A加密的密文数据即第一密文A进行解密。
本发明实施例提供的数字信封加密方法,先使用SM4数据加密密钥,对待上传的明文数据进行对称加密得到第一密文,并根据明文数据的ID生成随机SM4对称密钥;其次,使用接收方的SM2公钥,对随机SM4对称密钥进行非对称加密得到第二密文,签名速度快,;再使用随机SM4对称密钥对SM4数据加密密钥进行对称加密得到第三密文,最后将第二密文、第三密文、签名值封装成数字信封,接收方可采用SM2非对称密钥完成数字信封内容的解密,即使用发送方的SM2公钥对数字信封内容中的签名值进行解密得到第一SM4数据加密密钥,以及,使用接收方的SM2私钥对数字信封内容中的第二密文进行解密得到随机SM4对称密钥,并采用随机SM4对称密钥对数字信封内容中的第三密文进行解密得到第二SM4数据加密密钥,通过将第一SM4数据加密密钥和第二SM4数据加密密钥进行对比,从而实现验签,通过SM4数据加密密钥进行验签,解密性能好。本发明数据发送方使用SM4对称加密算法对明文数据内容进行加密,使用SM2非对称加密算法进行数字信封签名。接收端先用SM2非对称加密算法,进行数字信封验签,验签成功后,就做到了防抵赖,另外,SM4对称加密算法在加密解密需要相同的密钥,可以通过数字信封实现生成相同的密钥和密钥交换,用于SM4对称加密。本发明既利用了SM4对称加密算法的解密性能,又利用了SM2数字信封的签名快、防抵赖等特性,接收方在接收到多个发送方发送的大量SM2密文时,验签速度快,不会产生数据通道堵塞的情况。SM4数据加密密钥可用来对发送方发送的使用SM4数据加密密钥加密的密文数据即第一密文进行解密,从而得到发送方发送的明文数据。
本发明实施例提供的数字信封加密方法,先使用SM4数据加密密钥,对待上传的明文数据进行对称加密得到第一密文,并根据明文数据的ID生成随机SM4对称密钥;其次,使用接收方的SM2公钥,对随机SM4对称密钥进行非对称加密得到第二密文;再使用随机SM4对称密钥对SM4数据加密密钥进行对称加密得到第三密文,通过对明文数据进行加密,并对明文数据进行加密的SM4数据加密密钥进行加密,形成对每个批次密文数据即第一密文和数据加密密钥的双重密码保护;通过将数据交换密钥表和密文表上送至接收方,从而将数字信封内容及该数字信封同批次的密文数据即第一密文,通过安全数据通道发送至接收方。从而保证数据传输的机密性、完整性、真实性和不可否认性,在SM2数据加密流程基础上,本发明增加“SM2+SM4”组合加密方案进行实施。在完成此方案并测试成功后,实现通过SM4加密通道完成数据推送。
在一具体实施例中,上述步骤S103中,对SM4数据加密密钥A进行对称加密时可以采用ECB模式,并采用PKCS5填充模式进行数据填充。上述对所述使用所述随机SM4对称密钥K,对所述SM4数据加密密钥A进行对称加密得到第三密文C,具体包括:
使用所述随机SM4对称密钥K采用ECB模式对所述SM4数据加密密钥A进行对称加密,并使用PKCS5填充模式进行数据填充,得到所述第三密文C。
本发明实施例采用ECB模式将加密的数据分成若干组,每组的大小跟加密密钥相同,不足的部分进行填充,按照顺序将计算所得的数据连在一起即可,各段数据之间互不影响。使用PKCS5填充时,最后一个字节肯定为填充数据的长度,所以在解密后可以准确删除填充的数据。
在一具体实施例中,上述步骤S102中,对所述随机SM4对称密钥K进行非对称加密的方法可以是第一SM2密码算法。上述使用接收方SM2公钥,对所述随机SM4对称密钥K进行非对称加密得到第二密文B,具体包括:
基于接收方SM2公钥,使用第一SM2密码算法对所述随机SM4对称密钥K进行非对称加密,得到所述第二密文B。
所述第一SM2密码算法为遵照GM/T 0009-2012SM2密码算法使用规范的SM2密码算法。加密的具体实现过程本领域技术人员可以参照现有技术中的详细描述,在此,不再赘述。
在一具体实施例中,上述步骤S105中,在第二密文B、第三密文C、签名值S进行封装时,可以采用预设的签名数字信封结构。上述将所述第二密文B、第三密文C、签名值S封装成数字信封,并随机生成所述数字信封的数字信封标识,具体包括:
采用预设的签名数字信封结构,对所述第二密文B、第三密文C、签名值S进行封装,得到所述数字信封,并随机生成所述数字信封的数字信封标识。
上述预设的签名数字信封结构可以是符合GB/T 35275-2017签名数字信封结构的任意一种签名数字信封结构。封装的具体实现过程本领域技术人员可以参照现有技术中的详细描述,在此,不再赘述。
在一具体实施例中,上述步骤S105中,在第二密文B、第三密文C、签名值S进行封装时,可以采用预设的数字信封格式。上述将所述第二密文B、第三密文C、签名值S封装成数字信封,并随机生成所述数字信封的数字信封标识,包括:
采用预设的数字信封格式,对将所述第二密文B、第三密文C、签名值S进行封装,得到所述数字信封,并随机生成所述数字信封的数字信封标识。封装的具体实现过程本领域技术人员可以参照现有技术中的详细描述,在此,不再赘述。
上述预设的数字信封格式可以是符合SM2密码算法加密签名消息语法规范的任意一种数字信封格式。数字信封格式遵循《GM/T 0010-2012SM2密码算法加密签名消息语法规范》,关联标准设计《GM/T 0015-2012基于SM2密码算法的数字证书格式规范》、《GM/T 0009-2012SM2密码算法使用规范》,详情本领域技术人员可以参阅标准说明。数字信封格式可通过在线工具查看,示例如下:
Figure BDA0004152909740000111
Figure BDA0004152909740000121
数字信封格式中定义了密钥保护密钥密文(SM2)、数据加密密钥密文(SM4)、签名值(SM2)的格式及加密方法。
实施例二
本发明实施例提供一种数字信封解密方法,参照图3所示,通过下述步骤对采用如实施例一所述的数字信封加密方法加密的数字信封进行解密:
S201、获取发送方发送的数据交换密钥表和密文表;
S202、从所述数据交换密钥表获取数字信封标识,并根据所述数字信封标识从所述数据交换密钥表中获取对应的数字信封;
S203、对所述数字信封进行解封得到第二密文B、第三密文C和签名值S;
S204、使用发送方SM2公钥,对所述签名值S进行解密,得到第一SM4数据加密密钥A1;
S205、使用接收方SM2私钥,对所述第二密文B进行解密得到随机SM4对称密钥K;
S206、使用所述随机SM4对称密钥K,对所述第三密文C进行解密,得到第二SM4数据加密密钥A2;
S207、若所述第一SM4数据加密密钥A1和所述第二SM4数据加密密钥A2一致,则基于所述数字信封标识从所述密文表中获取第一密文A,使用所述第一SM4数据加密密钥A1或第二SM4数据加密密钥A2对所述第一密文A进行解密得到发送方发送的明文数据。
实施例三
本发明实施例提供一种数字信封加密装置,参照图4所示,包括:
随机SM4对称密钥生成模块301,用于使用SM4数据加密密钥,对待上传的明文数据进行对称加密得到第一密文,并根据所述明文数据的ID生成随机SM4对称密钥;
第一加密模块302,用于使用接收方SM2公钥,对所述随机SM4对称密钥进行非对称加密得到第二密文;
第二加密模块303,用于使用所述随机SM4对称密钥,对所述SM4数据加密密钥进行对称加密得到第三密文;
签名模块304,用于使用发送方SM2私钥,对所述SM4数据加密密钥进行签名,得到签名值;
封装模块305,用于将所述第二密文、第三密文、签名值封装成数字信封,并随机生成所述数字信封的数字信封标识;
数据存入模块306,用于获取发送方标识以及接收方标识,将所述数字信封标识、所述发送方标识、所述接收方标识及所述数字信封存入数据交换密钥表;
发送模块307,用于将所述第一密文和所述数字信封标识存入密文表,将所述数据交换密钥表和所述密文表发送至所述接收方。
本发明实施例提供的数字信封加密装置,其实现原理和技术效果与前述任意一个方法实施例所述的数字信封加密方法类似,此处不再赘述。
实施例四
本发明实施例提供一种数字信封解密装置,参照图5所示,包括:
接收模块401,用于获取发送方发送的数据交换密钥表和密文表;
数字信封获取模块402,用于从所述数据交换密钥表获取数字信封标识,并根据所述数字信封标识从所述数据交换密钥表中获取对应的数字信封;
解封模块403,用于对所述数字信封进行解封得到第二密文、第三密文和签名值;
第一解密模块404,用于使用发送方SM2公钥,对所述签名值进行解密,得到第一SM4数据加密密钥;
第二解密模块405,用于使用接收方SM2私钥,对所述第二密文进行解密得到随机SM4对称密钥;
第三解密模块406,用于使用所述随机SM4对称密钥,对所述第三密文进行解密,得到第二SM4数据加密密钥;
验签模块407,用于若所述第一SM4数据加密密钥和所述第二SM4数据加密密钥一致,则基于所述数字信封标识从所述密文表中获取第一密文,使用所述第一SM4数据加密密钥或第二SM4数据加密密钥对所述第一密文进行解密得到发送方发送的明文数据。
本发明实施例提供的数字信封解密装置,其实现原理和技术效果与前述任意一个方法实施例所述的数字信封解密方法类似,此处不再赘述。
实施例五
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述任意一个方法实施例所述的数字信封加密方法和/或如前述任意一个方法实施例所述的数字信封解密方法。
该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本发明实施例的方法。
根据本发明的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
实施例六
本发明实施例提供了一种电子设备,参照图6所示,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111、通信接口112和存储器113通过通信总线114完成相互间的通信,
存储器113,用于存放计算机程序;
处理器111,用于执行存储器113上所存放的程序时,实现如前述任意一个方法实施例所述的数字信封加密方法和/或如前述任意一个方法实施例所述的数字信封解密方法。
本发明实施例提供的电子设备,其实现原理和技术效果与前述任意一个方法实施例类似,此处不再赘述。
上述存储器113可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器113具有用于执行上述方法中的任何方法步骤的程序代码的存储空间。例如,用于程序代码的存储空间可以包括分别用于实现上面的方法中的各个步骤的各个程序代码。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,光盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为便携式或者固定存储单元。该存储单元可以具有与上述电子设备中的存储器113类似布置的存储段或者存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括用于执行根据本发明的实施例的方法步骤的程序,即可以由例如处理器111读取的代码,这些代码当由电子设备运行时,导致该电子设备执行上面所描述的方法中的各个步骤。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。可单独使用本发明的每个方面和/或实施例,或者与一个或更多其他方面和/或其他实施例结合使用。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种数字信封加密方法,其特征在于,包括:
使用SM4数据加密密钥,对待上传的明文数据进行对称加密得到第一密文,并根据所述明文数据的ID生成随机SM4对称密钥;
使用接收方SM2公钥,对所述随机SM4对称密钥进行非对称加密得到第二密文;
使用所述随机SM4对称密钥,对所述SM4数据加密密钥进行对称加密得到第三密文;
使用发送方SM2私钥,对所述SM4数据加密密钥进行签名,得到签名值;
将所述第二密文、第三密文、签名值封装成数字信封,并随机生成所述数字信封的数字信封标识;
获取发送方标识以及接收方标识,将所述数字信封标识、所述发送方标识、所述接收方标识及所述数字信封存入数据交换密钥表;
将所述第一密文和所述数字信封标识存入密文表,将所述数据交换密钥表和所述密文表发送至所述接收方。
2.根据权利要求1所述的数字信封加密方法,其特征在于,所述使用所述随机SM4对称密钥,对所述SM4数据加密密钥进行对称加密得到第三密文,包括:
使用所述随机SM4对称密钥采用ECB模式对所述SM4数据加密密钥进行对称加密,并使用PKCS5填充模式进行数据填充,得到所述第三密文。
3.根据权利要求1所述的数字信封加密方法,其特征在于,所述使用接收方SM2公钥,对所述随机SM4对称密钥进行非对称加密得到第二密文,包括:
基于接收方SM2公钥,使用第一SM2密码算法对所述随机SM4对称密钥进行非对称加密,得到所述第二密文。
4.根据权利要求1所述的数字信封加密方法,其特征在于,所述将所述第二密文、第三密文、签名值封装成数字信封,并随机生成所述数字信封的数字信封标识,包括:
采用预设的签名数字信封结构,对所述第二密文、第三密文、签名值进行封装,得到所述数字信封,并随机生成所述数字信封的数字信封标识。
5.根据权利要求1-4任一项所述的数字信封加密方法,其特征在于,所述将所述第二密文、第三密文、签名值封装成数字信封,并随机生成所述数字信封的数字信封标识,包括:
采用预设的数字信封格式,对将所述第二密文、第三密文、签名值进行封装,得到所述数字信封,并随机生成所述数字信封的数字信封标识。
6.一种数字信封解密方法,其特征在于,通过下述步骤对采用如权利要求1-5任一项所述的数字信封加密方法加密的数字信封进行解密:
获取发送方发送的数据交换密钥表和密文表;
从所述数据交换密钥表获取数字信封标识,并根据所述数字信封标识从所述数据交换密钥表中获取对应的数字信封;
对所述数字信封进行解封得到第二密文、第三密文和签名值;
使用发送方SM2公钥,对所述签名值进行解密,得到第一SM4数据加密密钥;
使用接收方SM2私钥,对所述第二密文进行解密得到随机SM4对称密钥;
使用所述随机SM4对称密钥,对所述第三密文进行解密,得到第二SM4数据加密密钥;
若所述第一SM4数据加密密钥和所述第二SM4数据加密密钥一致,则基于所述数字信封标识从所述密文表中获取第一密文,使用所述第一SM4数据加密密钥或第二SM4数据加密密钥对所述第一密文进行解密得到发送方发送的明文数据。
7.一种数字信封加密装置,其特征在于,包括:
随机SM4对称密钥生成模块,用于使用SM4数据加密密钥,对待上传的明文数据进行对称加密得到第一密文,并根据所述明文数据的ID生成随机SM4对称密钥;
第一加密模块,用于使用接收方SM2公钥,对所述随机SM4对称密钥进行非对称加密得到第二密文;
第二加密模块,用于使用所述随机SM4对称密钥,对所述SM4数据加密密钥进行对称加密得到第三密文;
签名模块,用于使用发送方SM2私钥,对所述SM4数据加密密钥进行签名,得到签名值;
封装模块,用于将所述第二密文、第三密文、签名值封装成数字信封,并随机生成所述数字信封的数字信封标识;
数据存入模块,用于获取发送方标识以及接收方标识,将所述数字信封标识、所述发送方标识、所述接收方标识及所述数字信封存入数据交换密钥表;
发送模块,用于将所述第一密文和所述数字信封标识存入密文表,将所述数据交换密钥表和所述密文表发送至所述接收方。
8.一种数字信封解密装置,其特征在于,包括:
接收模块,用于获取发送方发送的数据交换密钥表和密文表;
数字信封获取模块,用于从所述数据交换密钥表获取数字信封标识,并根据所述数字信封标识从所述数据交换密钥表中获取对应的数字信封;
解封模块,用于对所述数字信封进行解封得到第二密文、第三密文和签名值;
第一解密模块,用于使用发送方SM2公钥,对所述签名值进行解密,得到第一SM4数据加密密钥;
第二解密模块,用于使用接收方SM2私钥,对所述第二密文进行解密得到随机SM4对称密钥;
第三解密模块,用于使用所述随机SM4对称密钥,对所述第三密文进行解密,得到第二SM4数据加密密钥;
验签模块,用于若所述第一SM4数据加密密钥和所述第二SM4数据加密密钥一致,则基于所述数字信封标识从所述密文表中获取第一密文,使用所述第一SM4数据加密密钥或第二SM4数据加密密钥对所述第一密文进行解密得到发送方发送的明文数据。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5任一项所述的数字信封加密方法和/或如权利要求6所述的数字信封解密方法。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如权利要求1-5任一项所述的数字信封加密方法和/或如权利要求6所述的数字信封解密方法。
CN202310324811.6A 2022-12-28 2023-03-29 一种数字信封加密方法及装置 Pending CN116389100A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211692166 2022-12-28
CN2022116921665 2022-12-28

Publications (1)

Publication Number Publication Date
CN116389100A true CN116389100A (zh) 2023-07-04

Family

ID=86976307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310324811.6A Pending CN116389100A (zh) 2022-12-28 2023-03-29 一种数字信封加密方法及装置

Country Status (1)

Country Link
CN (1) CN116389100A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117579392A (zh) * 2024-01-16 2024-02-20 北京富通亚讯网络信息技术有限公司 基于加密处理的可靠数据传输方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117579392A (zh) * 2024-01-16 2024-02-20 北京富通亚讯网络信息技术有限公司 基于加密处理的可靠数据传输方法、装置、设备及介质
CN117579392B (zh) * 2024-01-16 2024-04-16 北京富通亚讯网络信息技术有限公司 基于加密处理的可靠数据传输方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US8009829B2 (en) Method and system for deploying advanced cryptographic algorithms
Housley Cryptographic message syntax
CN106921638B (zh) 一种基于非对称加密的安全装置
CN107395368B (zh) 无介质环境中的数字签名方法及解封装方法与解密方法
EP3476078B1 (en) Systems and methods for authenticating communications using a single message exchange and symmetric key
CN102437910A (zh) 数据加/解密校验方法及其系统
CN105763331A (zh) 一种数据加密方法和数据解密方法及装置
US9762560B2 (en) Method for generating cryptographic “one-time pads” and keys for secure network communications
CN103152362B (zh) 基于云计算的大数据文件加密传输方法
CN108183791B (zh) 应用于云环境下的智能终端数据安全处理方法及系统
CN109873699B (zh) 一种可撤销的身份公钥加密方法
CN112804205A (zh) 数据加密方法及装置、数据解密方法及装置
CN105554031A (zh) 加密方法、加密装置、解密方法、解密装置和终端
WO2020155622A1 (zh) 提高影像数据传输安全的方法、装置、系统及存储介质
CN113285959A (zh) 一种邮件加密方法、解密方法及加解密系统
CN102255725A (zh) 随机混合密钥加解密方法
CN102598575B (zh) 用于对密码保护的有效数据单元加速解密的方法和系统
CN104200154A (zh) 一种基于标识的安装包签名方法及其装置
CN112948867A (zh) 加密报文的生成与解密方法、装置及电子设备
CN111079178B (zh) 一种可信电子病历脱敏和回溯方法
CN116389100A (zh) 一种数字信封加密方法及装置
CN104486756B (zh) 一种密笺短信的加解密方法及系统
CN104734847A (zh) 面向公钥密码应用的共享对称密钥数据加密和解密方法
CN105339995A (zh) 解密装置、解密能力提供装置、其方法、以及程序
Housley RFC2630: Cryptographic Message Syntax

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