CN116846548A - 一种带格式数据密文的生成方法、解密方法和通信系统 - Google Patents

一种带格式数据密文的生成方法、解密方法和通信系统 Download PDF

Info

Publication number
CN116846548A
CN116846548A CN202310708730.6A CN202310708730A CN116846548A CN 116846548 A CN116846548 A CN 116846548A CN 202310708730 A CN202310708730 A CN 202310708730A CN 116846548 A CN116846548 A CN 116846548A
Authority
CN
China
Prior art keywords
data
ciphertext
plaintext
format
check value
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
CN202310708730.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.)
Guangzhou Jn Union Technology Co ltd
Original Assignee
Guangzhou Jn Union 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 Guangzhou Jn Union Technology Co ltd filed Critical Guangzhou Jn Union Technology Co ltd
Priority to CN202310708730.6A priority Critical patent/CN116846548A/zh
Publication of CN116846548A publication Critical patent/CN116846548A/zh
Pending legal-status Critical Current

Links

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
    • 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/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

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

Abstract

本发明公开了一种带格式数据密文的生成方法、解密方法和通信系统,其中带格式数据密文的生成方法包括:获取待加密的第一数据明文;根据预设的第一附加信息,对第一数据明文进行加密,获得第一数据密文;分别对第一数据明文和第一数据密文进行校验值计算,获得第一数据明文校验值和第一数据密文校验值;将第一附加信息、第一数据明文校验值和第一数据密文校验值作为第一格式数据,并根据预设的编码格式,将第一格式数据和第一数据密文进行编码,生成第一带格式数据密文。本发明提出一种带格式数据密文的生成方法、解密方法和通信系统,对数据密文进行信息扩展,来提高数据密文解密的效率和正确率。

Description

一种带格式数据密文的生成方法、解密方法和通信系统
技术领域
本发明涉及数据安全技术领域,特别是涉及一种带格式数据密文的生成方法、解密方法和通信系统。
背景技术
在计算机网络数据的应用中,数据安全是一种重要的保障。其中,在保障数据安全的过程中,对数据进行加密以及解密处理是一种重要的手段或途径。但是,在现有技术中,对数据进行加密后得到的数据密文在泄露后容易被直接解密导致数据泄露,在解密数据密文时需要提供繁琐的加密信息,此外,数据密文被解密后无法验证数据的完整性和正确性。
发明内容
本发明提供一种带格式数据密文的生成方法、解密方法和通信系统,以解决现有技术中数据密文解密效率和正确率低的问题。
为了解决上述问题,本发明提供了一种带格式数据密文的生成方法,包括:
获取待加密的第一数据明文;
根据预设的第一附加信息,对所述第一数据明文进行加密,获得第一数据密文;其中,所述第一附加信息包括:第一校验算法、第二校验算法、第一填充模式、第一加密模式和第一密钥标识;
分别对所述第一数据明文和所述第一数据密文进行校验值计算,获得第一数据明文校验值和第一数据密文校验值;
将所述第一附加信息、所述第一数据明文校验值和所述第一数据密文校验值作为第一格式数据,并根据预设的编码格式,将所述第一格式数据和所述第一数据密文进行编码,生成第一带格式数据密文。
实施以上技术手段,具有如下有益效果:
本发明通过对第一数据明文进行计算,得到第一数据明文的校验值和第一数据密文,再对第一数据密文进行计算,得到第一数据密文的校验值,记录第一附加信息,按照格式把第一数据密文、第一数据明文校验值、第一数据密文校验值和第一附加信息编码,生成第一带格式数据密文。数据明文和数据密文的校验值是为了对带格式密文解密后得到的数据明文和数据密文的校验值做对比验证,保证数据的正确性和完整性;按照预设编码的格式把格式数据和数据密文编码,以便在带格式的数据密文进行解密时,无需提供解密信息,提高了解密效率;编码的对象不包含保护保护密钥,所以无法通过获取带格式密文,而直接对其进行解密,保证了数据的安全性。相比于现有技术提升了解密的效率和正确率,保证了数据的安全性。
作为优选方案,根据预设的第一附加信息,对所述第一数据明文进行加密,获得第一数据密文,具体为:
根据所述第一填充模式,对所述第一数据明文进行填充;
根据所述第一密钥标识,从密钥管理系统获取与所述第一密钥标识对应的第一保护密钥,并使用所述第一保护密钥和所述第一加密模式对填充后的第一数据明文进行加密,得到第一数据密文。
作为优选方案,分别对所述第一数据明文和所述第一数据密文进行校验值计算,获得第一数据明文校验值和第一数据密文校验值,具体为:
使用所述第一校验算法,对所述第一数据明文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到所述第一数据明文的校验值;
使用所述第二校验算法,对所述第一数据密文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到所述第一数据密文的校验值。
该优选方案计算得到数据明文和数据密文的校验值,是为了在对带格式的数据密文解密后,与计算得到的数据明文和数据密文的校验值做对比验证,保证数据明文和数据密文的数据正确性和完整性,预防数据被破坏。
作为优选方案,根据预设的编码格式,将所述第一格式数据和所述第一数据密文进行编码,生成第一带格式数据密文,具体为:
采用36进制数,用2个字节表示所述第一密钥标识,1个字节表示所述第一校验算法,1个字节表示所述第一加密模式,1个字节表示所述第一填充模式,2个字节表示所述第一数据明文校验值,2个字节表示所述第一数据密文校验值,按照以上长度对所述第一格式数据进行编码,用余下的字节表示数据密文,对所述第一数据密文进行编码,生成第一带格式数据密文。
该优选方案所预设的编码格式内部仅包含了密钥标识,不包含保护密钥,即使泄露了带格式密文,也无法直接对其进行解密,能够保证数据的安全性。
作为优选方案,第一校验算法、第二校验算法、第一填充模式、第一加密模式和第一密钥标识,具体为:
所述第一校验算法包括:CRC32算法、MD5算法、SM3算法或SHA256算法;
所述第二校验算法包括:CRC32算法、MD5算法、SM3算法或SHA256算法;
所述第一填充模式包括:0x00填充模式、PKCS7填充模式或ISO10126填充模式;
所述第一加密模式包括:ECB加密模式、CBC加密模式或GCM加密模式;
所述第一密钥标识包括:密码算法和密钥ID。
该优选方案包含多种校验算法、填充模式和加密模式,可以根据情况灵活选择。
本发明提供了一种带格式数据密文的解密方法,包括:
获取待解密的第二带格式数据密文,并根据预设的解编码方法,解析所述第二带格式数据密文,获得第二格式数据和第二数据密文;其中,所述第二格式数据包括:第二附加信息、第二数据明文校验值和第二数据密文校验值;所述第二附加信息包括:第三校验算法、第四校验算法、第二填充模式、第二加密模式和第二密钥标识;
根据所述第二数据密文校验值和所述第三校验算法,对所述第二数据密文进行校验;
在所述第二数据密文通过校验后,根据所述第二附加信息对所述第二数据密文进行解密,得到第二数据明文;
根据所述第二数据明文校验值和所述第四校验算法,对所述第二数据明文进行校验,并在所述第二数据明文通过校验后,输出所述第二数据明文。
作为优选方案,根据所述第二附加信息对所述第二数据密文进行解密,得到第二数据明文,具体为:
根据所述第二密钥标识,从密钥管理系统获取与所述第二密钥标识对应的第二保护密钥,并使用所述第二保护密钥和所述第二加密模式对所述第二数据密文进行解密,得到已填充的数据明文;
根据所述第二填充模式对所述已填充的数据明文进行去填充,得到所述第二数据明文。
作为优选方案,根据所述第二数据密文校验值和所述第三校验算法,对所述第二数据密文进行校验,具体为:
根据所述第三校验算法,对所述第二数据密文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到第三数据密文校验值,将所述第三数据密文校验值与所述第二数据密文校验值做对比验证;
当所述第三数据密文校验值与所述第二数据密文校验值相同时,确定所述第二数据密文通过校验;
当所述第三数据密文校验值与所述第二数据密文校验值不相同时,确定所述第二数据密文不通过校验。
作为优选方案,根据所述第二数据明文校验值和所述第四校验算法,对所述第二数据明文进行校验,具体为:
根据所述第四校验算法,对所述第二数据明文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到第三数据明文校验值,将所述第三数据明文校验值和所述第二数据明文校验值做对比验证;
当所述第三数据明文校验值与所述第二数据明文校验值相同时,确定所述第二数据明文通过校验;
当所述第三数据明文校验值与所述第二数据明文校验值不相同时,确定所述第二数据明文不通过校验。
本发明提供了一种带格式数据密文的通信系统,包括:应用系统、服务系统和密钥管理系统;所述服务系统分别与所述应用系统、密钥管理系统通信连接;
其中,所述服务系统包括加密装置和解密装置;
所述加密装置用于执行如上述所述的带格式数据密文的生成方法;
所述解密装置用于执行如上述所述的带格式数据密文的解密方法;
所述加密装置包括:加密模块、校验值计算模块和编码模块;
加密模块,用于根据预设的第一附加信息,对所述第一数据明文进行加密,获得第一数据密文;其中,所述第一附加信息包括:第一校验算法、第二校验算法、第一填充模式、第一加密模式和第一密钥标识;
校验值计算模块,用于分别对所述第一数据明文和所述第一数据密文进行校验值计算,获得第一数据明文校验值和第一数据密文校验值;
编码模块,用于将所述第一附加信息、所述第一数据明文校验值和所述第一数据密文校验值作为第一格式数据,并根据预设的编码格式,将所述第一格式数据和所述第一数据密文进行编码,生成第一带格式数据密文。
附图说明
图1是本发明实施例提供的一种带格式数据密文的生成方法的流程示意图;
图2是本发明实施例提供的一种编码示意图;
图3是本发明实施例提供的一种带格式数据密文的解密方法的流程示意图;
图4是本发明实施例提供的一种带格式数据密文的通信系统的结构示意图;
图5是本发明实施例提供的一种加密场景图;
图6是本发明实施例提供的一种解密场景图;
图7是本发明实施例提供的一种带格式数据密文的生成装置的结构示意图;
图8是本发明实施例提供的一种带格式数据密文的解密装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“校验值”是指:对数据进行摘要运算,得到的不可逆的一串数据;术语“密钥标识”是指:密钥管理系统生成保护密钥的时,为保护密钥生成的唯一标识;术语“保护密钥”是指:密钥管理系统生成,用于加解密数据的密钥;术语“36进制数”是指:由10个数字和26个大写字母组成的36进制数,例如:0~Z,0代表0,A代表10,Z代表的是35。
请参阅图1,本发明的实施例提供了一种带格式数据密文的生成方法,包括:
S1、获取待加密的第一数据明文;
在本发明实施例中,第一数据明文是指未加密前的原始数据,可以通过内部存储数据、网站、人工输入和设备输入等方式获取待加密的第一数据明文。
S2、根据预设的第一附加信息,对第一数据明文进行加密,获得第一数据密文;其中,第一附加信息包括:第一校验算法、第二校验算法、第一填充模式、第一加密模式和第一密钥标识;
在本发明实施例中,根据第一填充模式,对第一数据明文进行填充,如果第一数据明文长度是第一保护密钥的整数倍,就不进行填充;
根据第一密钥标识,从密钥管理系统获取与第一密钥标识对应的第一保护密钥,并使用第一保护密钥和第一加密模式对填充后的第一数据明文进行加密,得到第一数据密文。其中,第一填充模式包括:0x00填充模式、PKCS7填充模式或ISO10126填充模式,第一密钥标识包括:密码算法和密钥ID,第一加密模式包括:ECB加密模式、CBC加密模式或GCM加密模式;
其中,密钥管理系统是用于分配和管理加密密钥的装置和应用程序,它包括从密钥的安全生成到密钥的安全交换、客户端上的安全密钥处理和存储。
本发明实施例包含多种填充模式、加密模式,可以根据实际情况灵活选择。
S3、分别对第一数据明文和第一数据密文进行校验值计算,获得第一数据明文校验值和第一数据密文校验值;
在本发明实施例中,使用第一校验算法,对第一数据明文进行计算,将计算后得到的结果除以2,再对1296取模,得到第一数据明文的校验值;
使用第二校验算法,对第一数据密文进行计算,将计算后得到的结果除以2,再对1296取模,得到第一数据密文的校验值;
其中,第一校验算法包括:CRC32算法、MD5算法、SM3算法或SHA256算法;第二校验算法包括:CRC32算法、MD5算法、SM3算法或SHA256算法。
本发明实施例通过计算得到数据明文和数据密文的校验值,能够在对带格式的数据密文解密后,与计算得到的数据明文和数据密文的校验值做对比验证,保证了数据明文和数据密文的数据正确性和完整性,预防数据被破坏;第一校验算法和第二校验算法中包含多种算法,可以根据实际情况灵活选择,推荐使用CRC32算法,CRC32算法检错能力极强,开销小,易于用编码器及检测电路实现。
S4、将第一附加信息、第一数据明文校验值和第一数据密文校验值作为第一格式数据,并根据预设的编码格式,将第一格式数据和第一数据密文进行编码,生成第一带格式数据密文;
在本发明实施例中,采用36进制数,用2个字节表示第一密钥标识,1个字节表示第一校验算法,1个字节表示第一加密模式,1个字节表示第一填充模式,2个字节表示第一数据明文校验值,2个字节表示第一数据密文校验值,按照以上长度对第一格式数据进行编码,用余下的字节表示数据密文,对第一数据密文进行编码,生成第一带格式数据密文;
请参阅图2,为应用本发明实施例,还提供了一种编码示意图,分别用各字节表示格式数据中的各数据和数据密文,生成带格式数据密文。
本发明实施例所预设的编码格式内部仅包含了密钥标识,不包含保护密钥,即使泄露了带格式密文,也无法直接对其进行解密,能够保证数据的安全性;生成的第一带格式数据密文中包含第一数据密文和第一格式数据,其中第一格式数据包含第一数据明文校验值、第一数据密文校验值和第一附加信息,其中第一附加信息包含第一校验算法、第二校验算法、第一填充模式、第一加密模式和第一密钥标识,做这样的嵌套分类,能够将第一数据密文、第一数据明文校验值、第一数据密文校验值和第一附加信息区分开,利用第一附加信息对第一数据密文计算得到新的数据明文校验值和新的数据密文校验值,以便用新的数据明文校验值和新的数据密文校验值分别与第一数据明文校验值、第一数据密文校验值做校验,提高数据的使用效率。在本发明实施例中,提供了一种校验算法、加密模式、填充模式的字节长度表示方式:
校验算法:
0:CRC32(推荐使用)
1:MD5
2:SM3
3:SHA256
加密模式:
0:ECB加密模式
1:CBC加密模式
5:GCM加密模式
填充模式:
0:不填充
1:0x00填充模式
2:PKCS7填充模式
3:ISO10126填充模式
在本发明实施例中,提供了一种生成带格式数据密文的计算公式:
1、根据校验算法对数据明文做校验后得到的校验值除以2,再对1296取模,得到数据明文校验值:
plainCheckData=(chk(plain)/2)%1296
plainCheckData:数据明文校验值;
Chk:计算校验值;
plain:数据明文。
2、对数据明文进行填充(采用SM4加密时,被加密的数据明文的长度需要是SM4密钥的整数倍),再用保护密钥对填充后的数据进行加密:
cipher=Encrypt(key,Padding(plain))
cipher:数据密文;
Encode:加密;
Padding:做填充;
3、根据校验算法对数据密文做校验后得到的校验值除以2,再对1296取模,得到数据密文校验值:
cipherCheckData=(chk(cipherData)/2)%1296
cipherCheckData:密文校验值;
cipherData:数据密文;
4、将密钥标识、校验算法、加密模式、填充模式、数据明文校验值、数据密文校验值和数据密文按格式拼装得到带格式的数据密文:
cipherData=KeyID+CheckAlg+EncryptMode+PaddingMode+
plainCheckData+cipherCheckData+cipherData
CheckAlg:校验算法;
cipherData:带格式的数据密文;
EncryptMode:加密模式;
PaddingMode:填充模式。
本发明实施例通过对第一数据明文进行计算,得到第一数据明文的校验值和第一数据密文,再对第一数据密文进行计算,得到第一数据密文的校验值,记录第一附加信息,按照格式把第一数据密文、第一数据明文校验值、第一数据密文校验值和第一附加信息编码,生成第一带格式数据密文。数据明文和数据密文的校验值是为了对带格式密文解密后得到的数据明文和数据密文的校验值做对比验证,保证数据的正确性和完整性;按照预设编码的格式把格式数据和数据密文编码,以便在带格式的数据密文进行解密时,无需提供解密信息,提高了解密效率;编码的对象不包含保护保护密钥,所以无法通过获取带格式密文,而直接对其进行解密,保证了数据的安全性。相比于现有技术提升了解密的效率和正确率,保证了数据的安全性。
请参阅图3,本发明的实施例提供了一种带格式数据密文的解密方法,包括:
S10、获取待解密的第二带格式数据密文,并根据预设的解编码方法,解析第二带格式数据密文,获得第二格式数据和第二数据密文;其中,第二格式数据包括:第二附加信息、第二数据明文校验值和第二数据密文校验值;第二附加信息包括:第三校验算法、第四校验算法、第二填充模式、第二加密模式和第二密钥标识;
在本发明实施例中,采用2进制数,用第二密钥标识表示2个字节,第二校验算法表示1个字节,第二加密模式表示1个字节,第二填充模式表示1个字节,第二数据明文校验值表示2个字节,第二数据密文校验值表示2个字节,第二数据密文表示余下的字节,对第二带格式数据密文进行解析,获得第二格式数据和第二数据密文。
S20、根据第二数据密文校验值和第三校验算法,对第二数据密文进行校验;
在本发明实施例中,根据第三校验算法,对第二数据密文进行计算,将计算后得到的结果除以2,再对1296取模,得到第三数据密文校验值,将第三数据密文校验值与第二数据密文校验值做对比验证;
当第三数据密文校验值与第二数据密文校验值相同时,确定第二数据密文通过校验;
当第三数据密文校验值与第二数据密文校验值不相同时,确定第二数据密文不通过校验,说明第二带格式数据密文中的第二数据密文已经被篡改,需要重新按照上述一种带格式数据密文的生成方法,生成第一带格式数据密文,并对新生成的第一带格式数据密文重新进行解密,得到新的第二数据密文,对新的第二数据密文再次进行校验,执行此操作直到第三数据密文校验值与新的第二数据密文校验值相同,确定新的第二数据密文通过校验。
S30、在第二数据密文通过校验后,根据第二附加信息对第二数据密文进行解密,得到第二数据明文;
在本发明实施例中,根据第二密钥标识,从密钥管理系统获取与第二密钥标识对应的第二保护密钥,并使用第二保护密钥和第二加密模式对第二数据密文进行解密,得到已填充的数据明文;
根据第二填充模式对已填充的数据明文进行去填充,得到第二数据明文。
S40、根据第二数据明文校验值和第四校验算法,对第二数据明文进行校验,并在第二数据明文通过校验后,输出第二数据明文;
在本发明实施例中,根据第四校验算法,对第二数据明文进行计算,将计算后得到的结果除以2,再对1296取模,得到第三数据明文校验值,将第三数据明文校验值和第二数据明文校验值做对比验证;
当第三数据明文校验值与第二数据明文校验值相同时,确定第二数据明文通过校验;
当第三数据明文校验值与第二数据明文校验值不相同时,确定第二数据明文不通过校验,说明第二带格式数据明文中的第二数据明文已经被篡改,需要重新按照上述一种带格式数据密文的生成方法,生成第一带格式数据密文,并对新生成的第一带格式数据密文重新进行解密,得到新的第二数据明文,对新的第二数据明文再次进行校验,执行此操作直到第三数据密文校验值与新的第二数据明文校验值相同,确定新的第二数据明文通过校验。
本发明实施例按照预设的解编码方法把格式数据和数据密文编码,能保证在带格式的数据密文进行解密时,无需提供解密信息,提高了解密效率;使用第二数据密文校验值和第三校验算法,对第二数据密文进行校验,使用第二数据明文校验值和第四校验算法,对第二数据明文进行校验,两次检验过程保证数据的正确性和完整性;相比于现有技术提升了解密的效率和正确率,保证了数据的安全性。
请参阅图4,本发明的实施例提供了一种带格式数据密文的通信系统,包括:应用系统1、服务系统2和密钥管理系统3;服务系统2分别与应用系统1、密钥管理系统3通信连接;
其中,服务系统1包括加密装置和解密装置;
加密装置用于一种带格式数据密文的生成方法;
解密装置用于执行一种带格式数据密文的解密方法;
加密装置包括:加密模块、校验值计算模块和编码模块;
加密模块,用于根据预设的第一附加信息,对第一数据明文进行加密,获得第一数据密文;其中,第一附加信息包括:第一校验算法、第二校验算法、第一填充模式、第一加密模式和第一密钥标识;
校验值计算模块,用于分别对第一数据明文和第一数据密文进行校验值计算,获得第一数据明文校验值和第一数据密文校验值;
编码模块,用于将第一附加信息、第一数据明文校验值和第一数据密文校验值作为第一格式数据,并根据预设的编码格式,将第一格式数据和第一数据密文进行编码,生成第一带格式数据密文。
请参阅图5,为应用本发明实施例,还提供了一种加密场景图,
应用系统把数据明文发送到服务系统,服务系统根据校验算法对数据明文进行校验值计算,服务系统根据密钥标识从密钥管理系统中获取保护密钥密钥值,服务系统根据加密模式、填充模式,使用保护密钥密钥值对数据明文进行加密运算,服务系统根据校验算法对数据密文进行校验值计算,服务系统把密钥标识、校验算法、加密模式、填充模式、明文校验值、密文校验值、数据密文按照格式进行编码生成带格式数据密文,将带格式数据密文返回到应用系统中。
请参阅图6,为应用本发明实施例,还提供了一种解密场景图,
应用系统把带格式数据密文发送到服务系统,服务系统对带格式数据密文解析获得数据密文、明文校验值、密文校验值、校验算法、密钥标识、加密模式、填充模式,服务系统根据校验算法对数据密文进行校验值计算验证,服务系统根据密钥标识从密钥管理系统中获取保护密钥密钥值,服务系统根据加密模式、填充模式,使用保护密钥密钥值对数据明文进行加密运算,服务系统根据校验算法对数据明文进行校验值计算验证,若通过验证,将数据明文返回到应用系统中,若不通过验证,说明该带格式数据密文中的数据已经被篡改。
本发明实施例将服务系统分别与应用系统、密钥管理系统通信连接,通过服务系统中的加密装置和解密装置,结合密钥管理系统分别对数据明文和带格式数据密文进行加密和解密,加密以及解密过程主要都是通过服务系统来完成,避免了数据加密和解密过程涉及过多平台,提高了加密和解密的效率,提高应用程序运行的稳定性,减轻系统负担,在服务系统运行模式下,应用系统可以在服务系统执行对应的任务,这可以使得用户更快速地返回到应用系统,从而减少了操作等待时间。
请参阅图7,本发明的实施例还提供了一种带格式数据密文的生成装置,包括:
数据密文生成模块10,用于根据预设的第一附加信息,对第一数据明文进行加密,获得第一数据密文;其中,第一附加信息包括:第一校验算法、第二校验算法、第一填充模式、第一加密模式和第一密钥标识;
校验值生成模块20,分别对第一数据明文和第一数据密文进行校验值计算,获得第一数据明文校验值和第一数据密文校验值;
带格式数据密文生成模块30,用于将第一附加信息、第一数据明文校验值和第一数据密文校验值作为第一格式数据,并根据预设的编码格式,将第一格式数据和第一数据密文进行编码,生成第一带格式数据密文。
在本装置的各个模块之前,还包括获取模块,用于获取待加密的第一数据明文。
根据第一填充模式,对第一数据明文进行填充;
根据第一密钥标识,从密钥管理系统获取与第一密钥标识对应的第一保护密钥,并使用第一保护密钥和第一加密模式对填充后的第一数据明文进行加密,得到第一数据密文;
其中,第一填充模式包括:0x00填充模式、PKCS7填充模式或ISO10126填充模式,第一密钥标识包括:密码算法和密钥ID,第一加密模式包括:ECB加密模式、CBC加密模式或GCM加密模式。
在一个实施例中,校验值生成模块20还用于:
使用第一校验算法,对第一数据明文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到第一数据明文的校验值;
使用第二校验算法,对第一数据密文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到第一数据密文的校验值;
其中,第一校验算法包括:CRC32算法、MD5算法、SM3算法或SHA256算法,第二校验算法包括:CRC32算法、MD5算法、SM3算法或SHA256算法。
在一个实施例中,带格式数据密文生成模块30还用于:
采用36进制数,用2个字节表示第一密钥标识,1个字节表示第一校验算法,1个字节表示第一加密模式,1个字节表示第一填充模式,2个字节表示第一数据明文校验值,2个字节表示第一数据密文校验值,按照以上长度对第一格式数据进行编码,用余下的字节表示数据密文,对第一数据密文进行编码,生成第一带格式数据密文。
本发明实施例通过对第一数据明文进行计算,得到第一数据明文的校验值和第一数据密文,再对第一数据密文进行计算,得到第一数据密文的校验值,记录第一附加信息,按照格式把第一数据密文、第一数据明文校验值、第一数据密文校验值和第一附加信息编码,生成第一带格式数据密文。数据明文和数据密文的校验值是为了对带格式密文解密后得到的数据明文和数据密文的校验值做对比验证,保证数据的正确性和完整性;按照预设编码的格式把格式数据和数据密文编码,以便在带格式的数据密文进行解密时,无需提供解密信息,提高了解密效率;编码的对象不包含保护保护密钥,所以无法通过获取带格式密文,而直接对其进行解密,保证了数据的安全性。相比于现有技术提升了解密的效率和正确率,保证了数据的安全性。请参阅图8,本发明的实施例还提供了一种带格式数据密文的解密装置,包括:
解析模块101,用于根据预设的解编码方法,解析第二带格式数据密文,获得第二格式数据和第二数据密文;其中,第二格式数据包括:第二附加信息、第二数据明文校验值和第二数据密文校验值;第二附加信息包括:第三校验算法、第四校验算法、第二填充模式、第二加密模式和第二密钥标识;
密文校验模块201,用于根据第二数据密文校验值和第三校验算法,对第二数据密文进行校验;
明文生成模块301,用于在第二数据密文通过校验后,根据第二附加信息对第二数据密文进行解密,得到第二数据明文;
明文校验模块401,用于根据第二数据明文校验值和第四校验算法,对第二数据明文进行校验,并在第二数据明文通过校验后,输出第二数据明文。
在本装置的各个模块之前,还包括获取模块,用于获取待解密的第二带格式数据密文。
在一个实施例中,解析模块101还用于:
根据预设的解编码方法,解析第二带格式数据密文,获得第二格式数据和第二数据密文,具体为:
采用2进制数,用第二密钥标识表示2个字节,第二校验算法表示1个字节,第二加密模式表示1个字节,第二填充模式表示1个字节,第二数据明文校验值表示2个字节,第二数据密文校验值表示2个字节,第二数据密文表示余下的字节,对第二带格式数据密文进行解析,获得第二格式数据和第二数据密文。
在一个实施例中,密文校验模块201还用于:
根据第三校验算法,对第二数据密文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到第三数据密文校验值,将第三数据密文校验值与第二数据密文校验值做对比验证;
当第三数据密文校验值与第二数据密文校验值相同时,确定第二数据密文通过校验;
当第三数据密文校验值与第二数据密文校验值不相同时,确定第二数据密文不通过校验。
在一个实施例中,明文生成模块301还用于:
根据第二密钥标识,从密钥管理系统获取与第二密钥标识对应的第二保护密钥,并使用第二保护密钥和第二加密模式对第二数据密文进行解密,得到已填充的数据明文;
根据第二填充模式对已填充的数据明文进行去填充,得到第二数据明文。
在一个实施例中,明文校验模块401还用于:
根据第四校验算法,对第二数据明文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到第三数据明文校验值,将第三数据明文校验值和第二数据明文校验值做对比验证;
当第三数据明文校验值与第二数据明文校验值相同时,确定第二数据明文通过校验;
当第三数据明文校验值与第二数据明文校验值不相同时,确定第二数据明文不通过校验。
本发明实施例按照预设的解编码方法把格式数据和数据密文编码,能保证在带格式的数据密文进行解密时,无需提供解密信息,提高了解密效率;使用第二数据密文校验值和第三校验算法,对第二数据密文进行校验,使用第二数据明文校验值和第四校验算法,对第二数据明文进行校验,两次检验过程保证数据的正确性和完整性;相比于现有技术提升了解密的效率和正确率,保证了数据的安全性。
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种带格式数据密文的生成方法,其特征在于,包括:
获取待加密的第一数据明文;
根据预设的第一附加信息,对所述第一数据明文进行加密,获得第一数据密文;其中,所述第一附加信息包括:第一校验算法、第二校验算法、第一填充模式、第一加密模式和第一密钥标识;
分别对所述第一数据明文和所述第一数据密文进行校验值计算,获得第一数据明文校验值和第一数据密文校验值;
将所述第一附加信息、所述第一数据明文校验值和所述第一数据密文校验值作为第一格式数据,并根据预设的编码格式,将所述第一格式数据和所述第一数据密文进行编码,生成第一带格式数据密文。
2.如权利要求1所述的一种带格式数据密文的生成方法,其特征在于,根据预设的第一附加信息,对所述第一数据明文进行加密,获得第一数据密文,具体为:
根据所述第一填充模式,对所述第一数据明文进行填充;
根据所述第一密钥标识,从密钥管理系统获取与所述第一密钥标识对应的第一保护密钥,并使用所述第一保护密钥和所述第一加密模式对填充后的第一数据明文进行加密,得到第一数据密文。
3.如权利要求1所述的一种带格式数据密文的生成方法,其特征在于,分别对所述第一数据明文和所述第一数据密文进行校验值计算,获得第一数据明文校验值和第一数据密文校验值,具体为:
使用所述第一校验算法,对所述第一数据明文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到所述第一数据明文的校验值;
使用所述第二校验算法,对所述第一数据密文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到所述第一数据密文的校验值。
4.如权利要求1所述的一种带格式数据密文的生成方法,其特征在于,根据预设的编码格式,将所述第一格式数据和所述第一数据密文进行编码,生成第一带格式数据密文,具体为:
采用36进制数,用2个字节表示所述第一密钥标识,1个字节表示所述第一校验算法,1个字节表示所述第一加密模式,1个字节表示所述第一填充模式,2个字节表示所述第一数据明文校验值,2个字节表示所述第一数据密文校验值,按照以上长度对所述第一格式数据进行编码,用余下的字节表示数据密文,对所述第一数据密文进行编码,生成所述第一带格式数据密文。
5.如权利要求1-4任意一项所述的一种带格式数据密文的生成方法,其特征在于,第一校验算法、第二校验算法、第一填充模式、第一加密模式和第一密钥标识,具体为:
所述第一校验算法包括:CRC32算法、MD5算法、SM3算法或SHA256算法;
所述第二校验算法包括:CRC32算法、MD5算法、SM3算法或SHA256算法;
所述第一填充模式包括:0x00填充模式、PKCS7填充模式或ISO10126填充模式;
所述第一加密模式包括:ECB加密模式、CBC加密模式或GCM加密模式;
所述第一密钥标识包括:密码算法和密钥ID。
6.一种带格式数据密文的解密方法,其特征在于,包括:
获取待解密的第二带格式数据密文,并根据预设的解编码方法,解析所述第二带格式数据密文,获得第二格式数据和第二数据密文;其中,所述第二格式数据包括:第二附加信息、第二数据明文校验值和第二数据密文校验值;所述第二附加信息包括:第三校验算法、第四校验算法、第二填充模式、第二加密模式和第二密钥标识;
根据所述第二数据密文校验值和所述第三校验算法,对所述第二数据密文进行校验;
在所述第二数据密文通过校验后,根据所述第二附加信息对所述第二数据密文进行解密,得到第二数据明文;
根据所述第二数据明文校验值和所述第四校验算法,对所述第二数据明文进行校验,并在所述第二数据明文通过校验后,输出所述第二数据明文。
7.如权利要求6所述的一种带格式数据密文的解密方法,其特征在于,根据所述第二附加信息对所述第二数据密文进行解密,得到第二数据明文,具体为:
根据所述第二密钥标识,从密钥管理系统获取与所述第二密钥标识对应的第二保护密钥,并使用所述第二保护密钥和所述第二加密模式对所述第二数据密文进行解密,得到已填充的数据明文;
根据所述第二填充模式对所述已填充的数据明文进行去填充,得到所述第二数据明文。
8.如权利要求6所述的一种带格式数据密文的解密方法,其特征在于,根据所述第二数据密文校验值和所述第三校验算法,对所述第二数据密文进行校验,具体为:
根据所述第三校验算法,对所述第二数据密文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到第三数据密文校验值,将所述第三数据密文校验值与所述第二数据密文校验值做对比验证;
当所述第三数据密文校验值与所述第二数据密文校验值相同时,确定所述第二数据密文通过校验;
当所述第三数据密文校验值与所述第二数据密文校验值不相同时,确定所述第二数据密文不通过校验。
9.如权利要求6所述的一种带格式数据密文的解密方法,其特征在于,根据所述第二数据明文校验值和所述第四校验算法,对所述第二数据明文进行校验,具体为:
根据所述第四校验算法,对所述第二数据明文进行计算,将计算后得到的结果根据预设的处理方法进行计算,得到第三数据明文校验值,将所述第三数据明文校验值和所述第二数据明文校验值做对比验证;
当所述第三数据明文校验值与所述第二数据明文校验值相同时,确定所述第二数据明文通过校验;
当所述第三数据明文校验值与所述第二数据明文校验值不相同时,确定所述第二数据明文不通过校验。
10.一种带格式数据密文的通信系统,其特征在于,包括:应用系统、服务系统和密钥管理系统;所述服务系统分别与所述应用系统、密钥管理系统通信连接;
其中,所述服务系统包括加密装置和解密装置;
所述加密装置用于执行如权利要求1至5任意一项所述的带格式数据密文的生成方法;
所述解密装置用于执行如权利要求6至9任意一项所述的带格式数据密文的解密方法;
所述加密装置包括:加密模块、校验值计算模块和编码模块;
加密模块,用于根据预设的第一附加信息,对所述第一数据明文进行加密,获得第一数据密文;其中,所述第一附加信息包括:第一校验算法、第二校验算法、第一填充模式、第一加密模式和第一密钥标识;
校验值计算模块,用于分别对所述第一数据明文和所述第一数据密文进行校验值计算,获得第一数据明文校验值和第一数据密文校验值;
编码模块,用于将所述第一附加信息、所述第一数据明文校验值和所述第一数据密文校验值作为第一格式数据,并根据预设的编码格式,将所述第一格式数据和所述第一数据密文进行编码,生成第一带格式数据密文。
CN202310708730.6A 2023-06-14 2023-06-14 一种带格式数据密文的生成方法、解密方法和通信系统 Pending CN116846548A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310708730.6A CN116846548A (zh) 2023-06-14 2023-06-14 一种带格式数据密文的生成方法、解密方法和通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310708730.6A CN116846548A (zh) 2023-06-14 2023-06-14 一种带格式数据密文的生成方法、解密方法和通信系统

Publications (1)

Publication Number Publication Date
CN116846548A true CN116846548A (zh) 2023-10-03

Family

ID=88169761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310708730.6A Pending CN116846548A (zh) 2023-06-14 2023-06-14 一种带格式数据密文的生成方法、解密方法和通信系统

Country Status (1)

Country Link
CN (1) CN116846548A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117527351A (zh) * 2023-11-08 2024-02-06 青海师范大学 一种数据完整性验证方法及装置
CN117527351B (zh) * 2023-11-08 2024-10-22 青海师范大学 一种数据完整性验证方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117527351A (zh) * 2023-11-08 2024-02-06 青海师范大学 一种数据完整性验证方法及装置
CN117527351B (zh) * 2023-11-08 2024-10-22 青海师范大学 一种数据完整性验证方法及装置

Similar Documents

Publication Publication Date Title
CN111628868B (zh) 数字签名生成方法、装置、计算机设备和存储介质
CN109194466B (zh) 一种基于区块链的云端数据完整性检测方法及系统
US9489521B2 (en) Format preserving encryption methods for data strings with constraints
CN111131278B (zh) 数据处理方法及装置、计算机存储介质、电子设备
US9178703B2 (en) Method of protecting a control vector in an optional block of a standard key block
KR101989813B1 (ko) 특정 포맷을 가지는 대체 데이터의 생성 및 검증
CN110611670A (zh) 一种api请求的加密方法及装置
CN110868287A (zh) 一种认证加密密文编码方法、系统、装置及存储介质
CN117857060B (zh) 一种二维码离线核验方法、系统及存储介质
KR101015401B1 (ko) 분산된 데이터베이스 시스템에서 공통 id의 레코드 저장을 통한 무결성 확인 방법
CN111079178B (zh) 一种可信电子病历脱敏和回溯方法
US12021968B2 (en) Method for data processing in a computing environment with distributed computers and railway application
CN116866029B (zh) 随机数加密数据传输方法、装置、计算机设备及存储介质
CN116975875A (zh) 基于国密算法的固件传输认证保护方法及系统
CN108615155B (zh) 一种鉴别交易信息完整性的方法
CN116361833A (zh) 校验方法、装置及终端设备
CN116846548A (zh) 一种带格式数据密文的生成方法、解密方法和通信系统
CN116781265A (zh) 一种数据加密的方法和装置
CN112187446B (zh) 一种认证加密方法、验证解密方法和通信方法
CN113111990A (zh) 一种ofd电子文件的数据处理方法及系统
US20130058487A1 (en) Method of building optional blocks
US20120311324A1 (en) Method of mapping key information
CN114978694B (zh) 基于数字签名的数据体生成方法、装置、设备及存储介质
CN114697119B (zh) 数据检验方法、装置、计算机可读存储介质及电子设备
CN117879804A (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