CN115758434B - 一种数据高效编码加密方法 - Google Patents

一种数据高效编码加密方法 Download PDF

Info

Publication number
CN115758434B
CN115758434B CN202310017014.3A CN202310017014A CN115758434B CN 115758434 B CN115758434 B CN 115758434B CN 202310017014 A CN202310017014 A CN 202310017014A CN 115758434 B CN115758434 B CN 115758434B
Authority
CN
China
Prior art keywords
data
encrypted
plaintext
encryption
compressed data
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.)
Active
Application number
CN202310017014.3A
Other languages
English (en)
Other versions
CN115758434A (zh
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.)
Shenzhen Aolian Information Security Technology Co ltd
Original Assignee
Shenzhen Aolian Information Security 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 Shenzhen Aolian Information Security Technology Co ltd filed Critical Shenzhen Aolian Information Security Technology Co ltd
Priority to CN202310017014.3A priority Critical patent/CN115758434B/zh
Publication of CN115758434A publication Critical patent/CN115758434A/zh
Application granted granted Critical
Publication of CN115758434B publication Critical patent/CN115758434B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明实施例涉及数据加密技术领域,具体公开了一种数据高效编码加密方法。本发明实施例通过对待加密明文进行编码压缩,生成压缩后数据;将所述压缩后数据构造为待加密数据;采用无密文扩张的对称加密方式将所述待加密数据加密,并对加密结果进行编码。能够通过对待加密明文进行编码压缩与待加密构造之后,进行无密文扩张的对称加密与编码,实现对数据的高效编码加密,确保数据加密保护后长度不扩张,有效适用于数据库加密中对字段长度不能扩张的应用场景。

Description

一种数据高效编码加密方法
技术领域
本发明属于数据加密技术领域,尤其涉及一种数据高效编码加密方法。
背景技术
数据作为新型生产要素,是实现业务价值的主要载体,已成为继能源、资源和信息之后的第四大资源,成为继领土、领海、领空之外的第四空间。使用数据涉及到数据处理的多个环节,其中数据存储环节面临诸多泄露威胁与安全挑战。
采用密码技术,对业务中核心/敏感的数据进行加密是重要且必须的技术手段,能满足数据机密性和完整性的安全需求,最大程度的实现对核心或敏感数据的保护。而要同时实现数据机密性和完整性的保护,通常的数据加密和完整性保护算法对数据处理后,会导致数据膨胀,数据长度增加,从而对业务系统应用的数据存储带来影响,如加密后的文件变长或数据库的字段必须扩张改造才能存放下密文数据和哈希数据,但实际应用中,不少使用场景如已上线的业务系统或云上大型信息系统是不允许对数据库结构进行修改。因此需要提供一种数据高效编码加密方法,确保数据加密保护后长度不扩张。
发明内容
本发明实施例的目的在于提供一种数据高效编码加密方法,旨在解决背景技术中提出的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种数据高效编码加密方法,所述方法具体包括以下步骤:
对待加密明文进行编码压缩,生成压缩后数据;
将所述压缩后数据构造为待加密数据;
采用无密文扩张的对称加密方式将所述待加密数据加密,并对加密结果进行编码。
作为本发明实施例技术方案进一步的限定,所述对待加密明文进行编码压缩,生成压缩后数据中:对于数字型字符串数据的待加密明文,采用BCD编码或转成数字字节进行压缩,得到压缩后数据。
作为本发明实施例技术方案进一步的限定,所述对待加密明文进行编码压缩,生成压缩后数据中:对于非数字型字符串数据的待加密明文,若可节约字节空间,则将UTF8字符串转换为UNICODE字符串,生成压缩后数据。
作为本发明实施例技术方案进一步的限定,所述对待加密明文进行编码压缩,生成压缩后数据中:对于非数字型字符串数据的待加密明文,若可节约字节空间,则将字符串中各字符使用其所在字符集的位置的比特串进行表达,将各个位置比特串拼接为压缩后数据。
作为本发明实施例技术方案进一步的限定,所述对待加密明文进行编码压缩,生成压缩后数据中:对于非数字型字符串数据的待加密明文,采用无损压缩算法,将待加密明文压缩后形成压缩后数据。
作为本发明实施例技术方案进一步的限定,所述将所述压缩后数据构造为待加密数据中:对于数字型字符串数据的待加密明文,计算所述压缩后数据的消息认证码的MAC值,将所述压缩后数据与所述MAC值进行拼接,构造为待加密数据。
作为本发明实施例技术方案进一步的限定,所述将所述压缩后数据构造为待加密数据中:对于非数字型字符串数据的待加密明文,计算所述压缩后数据的消息认证码的MAC值,将所述待加密数据与所述MAC值进行拼接,构造为待加密数据。
作为本发明实施例技术方案进一步的限定,所述采用无密文扩张的对称加密方式将所述待加密数据加密中:采用分组加密算法的ECB模式或CBC模式对所述待加密数据进行加密,得到加密结果。
作为本发明实施例技术方案进一步的限定,所述采用无密文扩张的对称加密方式将所述待加密数据加密中:采用分组加密算法,配合CTR模式、OFB模式或CFB模式对所述待加密数据进行加密,得到加密结果;或采用流加密算法,对所述待加密数据进行加密,得到加密结果。
作为本发明实施例技术方案进一步的限定,所述对加密结果进行编码中:根据加密结果确定密文字节流,对所述密文字节流采用BASE92编码或BASE92变换编码,生成可见字符。
与现有技术相比,本发明的有益效果是:
本发明实施例通过对待加密明文进行编码压缩,生成压缩后数据;将所述压缩后数据构造为待加密数据;采用无密文扩张的对称加密方式将所述待加密数据加密,并对加密结果进行编码。能够通过对待加密明文进行编码压缩与待加密构造之后,进行无密文扩张的对称加密与编码,实现对数据的高效编码加密,确保数据加密保护后长度不扩张,有效适用于数据库加密中对字段长度不能扩张的应用场景。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1示出了本发明实施例提供的方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解的是,现有的技术中,要同时实现数据机密性和完整性的保护,通常的数据加密和完整性保护算法对数据处理后,会导致数据膨胀,数据长度增加,从而对业务系统应用的数据存储带来影响,如加密后的文件变长或数据库的字段必须扩张改造才能存放下密文数据和哈希数据,但实际应用中,不少使用场景如已上线的业务系统或云上大型信息系统是不允许对数据库结构进行修改。因此需要提供一种数据高效编码加密方法,确保数据加密保护后长度不扩张。
为解决上述问题,本发明实施例通过对待加密明文进行编码压缩,生成压缩后数据;将所述压缩后数据构造为待加密数据;采用无密文扩张的对称加密方式将所述待加密数据加密,并对加密结果进行编码。能够通过对待加密明文进行编码压缩与待加密构造之后,进行无密文扩张的对称加密与编码,实现对数据的高效编码加密,确保数据加密保护后长度不扩张,有效适用于数据库加密中对字段长度不能扩张的应用场景。
图1示出了本发明实施例提供的方法的流程示意图。
具体的,一种数据高效编码加密方法,其特征在于,所述方法具体包括以下步骤:
步骤一、对待加密明文进行编码压缩,生成压缩后数据。
在本发明实施例中,对于数字型字符串数据,包括手机号、座机号、银行账号、身份证等等的待加密明文,根据其长度大小,采用BCD编码或转成数字字节进行压缩;对非数字型的字符串数据,根据字符集情况,若可节约字节空间,则将UTF8字符串转换为UNICODE字符串,或将字符串中各字符使用其所在字符集的位置的比特串进行表达,将各个位置比特串拼接为压缩后数据,还可以采用无损压缩算法压缩后形成压缩的数据。
步骤二、将所述压缩后数据构造为待加密数据。
在本发明实施例中,对于数字型字符串数据的待加密明文,通过计算其压缩数据的消息认证码MAC值,将压缩后数据与MAC值进行拼接,构造为待加密数据,其中,MAC值长度与压缩后数据长度之和为对称加密算法分组长度;对于非数字型字符的待加密明文,通过计算其MAC值,根据安全性和密文长度要求选择MAC值长度,将待加密的明文与MAC值进行拼接,构造为待加密数据。
步骤三、采用无密文扩张的对称加密方式将所述待加密数据加密,并对加密结果进行编码。
在本发明实施例中,若待加密数据长度正好为对称加密分组长度的倍数,采用分组加密算法的ECB、CBC等模式进行加密,确保密文不扩张;还可以使用分组加密算法配合CTR模式、OFB模式或CFB模式加密压缩后数据或流加密算法加密压缩后数据,其中加密过程的初始向量或计数根据MAC值派生。加密后的密文字节流采用BASE92编码或BASE92的变换编码,生成可见字符,或将加密后的密文字节流转换成中文字符流。
可以理解的是,将加密后的密文字节流转换成中文字符流,具体为:根据选择的中文字符集,如UNICODE、UTF8、GBK中文字符集等或这些集合的子集的大小TABLESIZE,将加密后的密文字节流分割为多个不大于TABLESIZE的数值,使用这些数值作为中文字符表的索引获得对应的中文字符。
针对需要保护的身份证号、银行卡号、手机号等不超过19个字节的数字型明文数据,提供具体实施方式1如下:
(1)对待加密明文进行编码压缩形成压缩后数据:若明文长度小于等于16字节,生成BCD编码,输出 8字节数值;长度大于16字节,将明文转换为数值,输出 8字节数据;
(2)根据压缩后数据构造为待加密数据:对压缩后数据采用SM4算法和密钥1计算其8个字节的CMAC值;CMAC值截取前63比特,设置第64比特为编码位,编码位用于判断是明文长度是大于16字节还是小于等于16字节;将编码后8个字节与CMAC的8个字节进行拼接,构造出16个字节的待加密数据;
(3)对待加密数据采用无密文扩张的对称加密方法加密:待加密数据正好为分组长度,使用SM4算法CBC模式和密钥2对其加密,输出密文16字节,CBC模式的初始向量为0;再根据加密结果采用高效编码方式编码:对16个字节的密文数据进行BASE92编码,生成20个字节的可见字符。
针对具体实施方式1的解密验证流程为:
(1)对加密结果解码:BASE92解码,还原出16个字节密文;
(2)数据解密:使用SM4算法CBC模式和密钥2解密16个字节密文得到16个字节解密数据;
(3)数据验证:取出解密数据前8个字节,使用SM4计算其8个字节的CMAC值,取其前63个比特与解密数据的后8个字节的前63个比特进行比较,若相同,解密成功且明文未被篡改;
(4)解码还原明文:根据编码位,使用BCD解码或数字解码,还原出明文。
针对需要保护的姓名、地址、邮箱等非数字型的明文数据,提供具体实施方式2如下:
(1)对待加密明文进行编码压缩形成压缩后数据,根据压缩后数据构造为待加密数据:对于长度为M个字节的UTF8明文数据采用SM4算法计算其8个字节的EMAC值;将M个字节的M字节的UTF8明文转化为N字节的UNICODE数据构造出待加密数据;
(2)对待加密数据采用无密文扩张的对称加密方法加密:以8字节EMAC值高位填充0扩展为16字节的初始向量,对N个字节的明文使用SM4算法CTR模式和密钥2对其加密,输出密文和EMAC的拼接N+8字节数据;
(3)对加密结果编码: 选择UNICODE中文字符集,根据选择UNICODE字符集大小TABLESIZE,将加密后的密文字节流分割为多个不大于TABLESIZE的数值,使用数值作为中文字符表的索引获得对应的中文字符,形成编码的密文中文串,将编码的UNCODE密文中文字符串转换为UTF8字符串。
针对具体实施方式2的解密验证流程为:
(1)对加密结果解码:UTF8解码,转换为UNICODE字符,反向转换还原出N+8个字节密文;
(2)数据解密:以密文中的8字节EMAC值高位填充0扩展为16字节的初始向量,使用SM4算法CTR模式和密钥2解密前N个字节密文得到N个字节解密数据;
(3)数据验证:使用SM4和密钥1计算明文的8个字节的EMAC值,与密文数据的后8个字节进行比较,若相同,解密成功且明文未被篡改;
(4)还原明文:取解密数据的N个字节,转换为UTF8字符作为明文。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种数据高效编码加密方法,其特征在于,所述方法具体包括以下步骤:
对待加密明文进行编码压缩,生成压缩后数据;
所述对待加密明文进行编码压缩,生成压缩后数据中:对于数字型字符串数据的待加密明文,采用BCD编码或转成数字字节进行压缩,得到压缩后数据;对于非数字型字符串数据的待加密明文,将UTF8字符串转换为UNICODE字符串,生成压缩后数据,或将字符串中各字符使用其所在字符集的位置的比特串进行表达,将各个位置比特串拼接为压缩后数据;
将所述压缩后数据构造为待加密数据;
所述将所述压缩后数据构造为待加密数据中:对于数字型字符串数据的待加密明文,计算所述压缩后数据的消息认证码的MAC值,将所述压缩后数据与所述MAC值进行拼接,构造为待加密数据;对于非数字型字符串数据的待加密明文,计算所述压缩后数据的消息认证码的MAC值,将所述待加密数据与所述MAC值进行拼接,构造为待加密数据;
采用无密文扩张的对称加密方式将所述待加密数据加密,并对加密结果进行编码;
具体的,若待加密数据长度正好为对称加密分组长度的倍数,采用分组加密算法的ECB模式或CBC模式进行加密,确保密文不扩张;或使用分组加密算法配合CTR模式、OFB模式或CFB模式加密压缩后数据;或流加密算法加密压缩后数据,其中加密过程的初始向量或计数根据MAC值派生,加密后的密文字节流采用BASE92编码或BASE92变换编码,生成可见字符,或将加密后的密文字节流转换成中文字符流。
2.根据权利要求1所述的数据高效编码加密方法,其特征在于,所述对待加密明文进行编码压缩,生成压缩后数据中:对于非数字型字符串数据的待加密明文,采用无损压缩算法,将待加密明文压缩后形成压缩后数据。
CN202310017014.3A 2023-01-06 2023-01-06 一种数据高效编码加密方法 Active CN115758434B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310017014.3A CN115758434B (zh) 2023-01-06 2023-01-06 一种数据高效编码加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310017014.3A CN115758434B (zh) 2023-01-06 2023-01-06 一种数据高效编码加密方法

Publications (2)

Publication Number Publication Date
CN115758434A CN115758434A (zh) 2023-03-07
CN115758434B true CN115758434B (zh) 2023-05-12

Family

ID=85348399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310017014.3A Active CN115758434B (zh) 2023-01-06 2023-01-06 一种数据高效编码加密方法

Country Status (1)

Country Link
CN (1) CN115758434B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115248924A (zh) * 2021-04-27 2022-10-28 中移(苏州)软件技术有限公司 一种二维码处理方法、装置、电子设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5351046A (en) * 1993-05-28 1994-09-27 Adcox Thomas A Method and system for compacting binary coded decimal data
JP4345438B2 (ja) * 2003-10-29 2009-10-14 カシオ計算機株式会社 辞書データ圧縮装置、電子辞書装置及びプログラム
CN106712929A (zh) * 2016-12-30 2017-05-24 桂林电子科技大学 一种大数据的加密方法
US11917072B2 (en) * 2020-12-03 2024-02-27 International Business Machines Corporation Implementing opportunistic authentication of encrypted data
CN113556381B (zh) * 2021-06-15 2022-09-30 湖南幻影三陆零科技有限公司 Http请求的优化方法、终端以及存储介质
CN113486369B (zh) * 2021-06-23 2022-07-22 湖南遥昇通信技术有限公司 具有对称加密和无损压缩的编码方法、装置、设备及介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115248924A (zh) * 2021-04-27 2022-10-28 中移(苏州)软件技术有限公司 一种二维码处理方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN115758434A (zh) 2023-03-07

Similar Documents

Publication Publication Date Title
US8284933B2 (en) Encrypting variable-length passwords to yield fixed-length encrypted passwords
Nasution et al. Data security using vigenere cipher and goldbach codes algorithm
CN108197484B (zh) 一种分布式存储环境下实现节点数据安全的方法
JP2014509755A (ja) 暗号ハッシュ関数の実行を保護する方法とシステム
US11468009B2 (en) Secure compression
CN112511514A (zh) 一种http加密传输方法、装置、计算机设备及存储介质
CN107911354B (zh) 一种复合并行数据加密方法
CN115426101B (zh) 一种云互通平台的数据传输方法
CN115603907A (zh) 加密存储数据的方法、装置、设备和存储介质
Malalla et al. Improving hiding security of Arabic text steganography by hybrid AES cryptography and text steganography
US20190036543A1 (en) A Method of Protecting Data Using Compression Algorithms
CN110830261A (zh) 加密方法、装置、计算机设备及存储介质
CN116894273B (zh) 基于异或和求余的文件加密方法、解密方法、设备及介质
CN115758434B (zh) 一种数据高效编码加密方法
KR20120071844A (ko) 기밀성과 무결성을 제공하는 통합 암호화 장치 및 그 방법
CN115935299A (zh) 授权控制方法、装置、计算机设备和存储介质
CN106059748A (zh) 一种基于块安全再生码的轻量级数据安全存储方法
KR20050064343A (ko) 스트림 암호를 이용한 메시지 인증 코드 구성 방법
Sangwan Combining Huffman text compression with new double encryption algorithm
CN114254372B (zh) 数据加密处理方法、系统及电子设备
CN115834163B (zh) 加密数据的秘钥生成方法、装置、设备及存储介质
CN115442024B (zh) 基于混沌的MapReduce数据压缩的信息保护方法
CN114124354B (zh) 确定性鉴别加解密装置及方法
CN116527236A (zh) 一种加密卡的信息变更验证方法及系统
Wu et al. Two new message authentication codes based on APN functions and stream ciphers

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
GR01 Patent grant
GR01 Patent grant