CN116756758A - 一种数据加密解密方法、装置、计算机设备、存储介质 - Google Patents
一种数据加密解密方法、装置、计算机设备、存储介质 Download PDFInfo
- Publication number
- CN116756758A CN116756758A CN202310898657.3A CN202310898657A CN116756758A CN 116756758 A CN116756758 A CN 116756758A CN 202310898657 A CN202310898657 A CN 202310898657A CN 116756758 A CN116756758 A CN 116756758A
- Authority
- CN
- China
- Prior art keywords
- data
- encrypted
- key
- ciphertext
- right sub
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 239000011159 matrix material Substances 0.000 claims abstract description 71
- 230000009466 transformation Effects 0.000 claims description 35
- 238000006467 substitution reaction Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据加密解密方法、装置、计算机设备、存储介质。可应用于金融领域或其他领域。所述加密方法包括:获取待加密数据;利用第一密钥将所述待加密数据进行加密,得到加密文本;所述加密文本包括多位密文;将每位密文编码为若干位二进制的像素值,得到密文编码矩阵;获取用于数据加密的原始图像;将所述密文编码矩阵与所述原始图像的像素矩阵按预设规则进行运算,得到加密图像。该方法先将数据进行第一次加密,加密成密文文本,对密文文本编码后,使用图像对编码的密文文本进行二次加密,加密成图像形式,采用两次加密以提高数据传输的安全性。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种数据加密解密方法、装置、系统、计算机设备、存储介质。
背景技术
随着信息技术的发展,数字化的业务系统的应用越来越普遍,数字化的业务系统开发过程中或日常业务处理过程中,会涉及数据验证、测试、业务数据在各部门间进行流转等等场景。
然而,数据中可能涉及客户信息,数据在上述场景中应用时,面临数据泄漏、遗失的风险。
发明内容
基于上述问题,本申请提供了一种数据加密解密方法、装置、系统、计算机设备、存储介质,能够提高数据使用的安全性。
本申请公开了如下技术方案:
本申请第一方面提供一种数据加密方法,包括:
获取待加密数据;
利用第一密钥将所述待加密数据进行加密,得到加密文本;所述加密文本包括多位密文;
将每位密文编码为若干位二进制的像素值,得到密文编码矩阵;
获取用于数据加密的原始图像;
将所述密文编码矩阵与所述原始图像的像素矩阵按预设规则进行运算,得到加密图像。
在一种可能的实现方式中,利用第一密钥将所述待加密数据进行加密,得到加密文本,包括:
获取第一密钥;
基于第一位置换规则对第一密钥进行位置换,得到置换密钥;
将所述变换密钥拆分成左子密钥和右子密钥;
分别将左子密钥和右子密钥进行n次循环左移运算,在第i次循环左移运算后,得到第i左子密钥和第i右子密钥;其中,n为正整数,i为大于0且小于n的整数;
基于第二位置换规则、第i左子密钥和第i右子密钥,得到第i变换密钥;
使用n个变换密钥将所述待加密数据进行加密,得到加密文本。
在一种可能的实现方式中,所述使用n个变换密钥将所述待加密数据进行加密,得到加密文本,包括:
基于第三位置换规则对所述待加密数据进行位置换,得到置换待加密数据;
将所述置换待加密数据拆分成左子数据和右子数据;
利用预设运算规则、所述n个变换密钥对所述左子数据和所述右子数据进行n次迭代加密运算,得到加密文本;在第i次加密运算使用第i变换密钥。
在一种可能的实现方式中,所述左子数据和右子数据的位长度均为第一长度;
所述利用预设运算规则、所述n个变换密钥对所述左子数据和所述右子数据进行n次迭代加密运算,得到加密文本,包括:
将所述右子数据的位长度扩展至第二长度,得到扩展后的右子数据;
将第i变换密钥与所述扩展后的右子数据进行异或运算,得到异或结果;所述第二长度大于所述第一长度;
将所述异或结果的位长度转换为第一长度,得到转换后的异或结果;
将所述转换后的异或结果与所述左子数据进行异或运算,得到右子结果;
将所述右子数据作为新的左子数据;
将所述右子结果作为新的右子数据;
循环执行n次将所述右子数据的位长度扩展至第二长度,得到扩展后的右子数据及其后续步骤。
在一种可能的实现方式中,所述将所述密文编码矩阵与所述原始图像的像素矩阵按预设规则进行运算,得到加密图像,包括:
将所述密文编码矩阵各元素值与所述原始图像的像素矩阵中对应的各元素值相加,得到加密图像的像素矩阵,进而得到所述加密图像。
本申请第二方面提供一种数据解密方法,包括:
获取加密图像;
根据原始图像对所述加密图像解密,得到密文编码矩阵;
对密文编码矩阵进行解码,得到加密文本;
利用第一密钥对所述加密文本进行解密,得到解密数据。
本申请第三方面提供一种数据加密装置,包括:
第一获取单元,用于获取待加密数据;
第一加密单元,用于利用第一密钥将所述待加密数据进行加密,得到加密文本;所述加密文本包括多位密文;
编码单元,用于将每位密文编码为若干位二进制的像素值,得到密文编码矩阵;
第二获取单元,用于获取用于数据加密的原始图像;
第二加密单元,用于将所述密文编码矩阵与所述原始图像的像素矩阵按预设规则进行运算,得到加密图像。
本申请第四方面提供一种数据解密装置,包括:
加密图像获取单元,用于获取加密图像;
第一解密单元,用于根据原始图像对所述加密图像解密,得到密文编码矩阵;
解码单元,用于对密文编码矩阵进行解码,得到加密文本;
第二解密单元,用于利用第一密钥对所述加密文本进行解密,得到解密数据。
本申请第五方面提供一种数据加密解密系统,包括:数据加密终端、数据解密终端和数据传输模块;
所述数据加密终端用于获取待加密数据;利用第一密钥将所述待加密数据进行加密,得到加密文本;所述加密文本包括多位密文;将每位密文编码为若干位二进制的像素值,得到密文编码矩阵;获取用于数据加密的原始图像;将所述密文编码矩阵与所述原始图像的像素矩阵按预设规则进行运算,得到加密图像;
所述数据传输模块用于将所述加密图像传输给所述数据解密模块;
所述数据解密终端用于接收所述加密图像;根据原始图像对所述加密图像解密,得到密文编码矩阵;对密文编码矩阵进行解码,得到加密文本;利用第一密钥对所述加密文本进行解密,得到解密数据。
本申请第六方面提供一种计算机设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本申请第一方面所述的数据加密方法或第二方面所述的数据解密方法。
本申请第七方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如本申请第一方面所述的数据加密方法或第二方面所述的数据解密方法。
相较于现有技术,本申请具有以下有益效果:
本申请提供的数据加密方法,先将数据进行第一次加密,加密成密文文本,对密文文本编码后,使用图像对编码的密文文本进行二次加密,加密成图像形式,采用两次加密以提高数据传输的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种场景示例的示意图;
图2为本申请实施例提供的一种数据加密方法流程图;
图3为本申请实施例提供的一种数据解密方法流程图;
图4为本申请实施例提供的一种数据加密装置结构图;
图5为本申请实施例提供的一种数据解密装置结构图;
图6为本申请实施例提供的一种计算机设备结构图。
具体实施方式
正如前文所述,随着信息技术的发展,数字化的业务系统的应用越来越普遍,数字化的业务系统开发过程中或日常业务处理过程中,会涉及数据验证、测试、业务数据在各部门间进行流转等等场景。
然而,数据中可能涉及客户信息,数据在上述场景中应用时,面临数据泄漏、遗失的风险。
有鉴于此,本申请实施例提供了一种数据加密解密方法、装置、系统、计算机设备、存储介质。为了便于理解本申请实施例提供的数据加密方法,下面将结合图1所示的场景示例进行说明。其中,图1为本申请实施例提供的一种场景示例的示意图。
在实际应用中,终端设备101获取待加密数据;利用第一密钥将所述待加密数据进行加密,得到加密文本;所述加密文本包括多位密文;将每位密文编码为若干位二进制的像素值,得到密文编码矩阵;获取用于数据加密的原始图像;将所述密文编码矩阵与所述原始图像的像素矩阵按预设规则进行运算,得到加密图像。该方法先将数据进行第一次加密,加密成密文文本,对密文文本编码后,使用图像对编码的密文文本进行二次加密,加密成图像形式,采用两次加密以提高数据传输的安全性。
本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的适用范围不受到该框架任何方面的限制。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图2,该图为本申请实施例提供的一种数据加密方法流程图,如图2所示,该方法包括:
S201、获取待加密数据。
待加密数据可以是明文字符,也可以是二进制或十六进制字符串。待加密数据可以为用户输入终端设备的数据,也可以为终端设备对用户信息进行相关处理后的业务数据。
S202、利用第一密钥将所述待加密数据进行加密,得到加密文本;所述加密文本包括多位密文。
第一密钥可以为DES算法的初始化密钥,通过DES算法将待加密数据加密为文本型密文,文本型密文内容为十六进制字符文本。
S203、将每位密文编码为若干位二进制的像素值,得到密文编码矩阵。
在一个示例中,以6个像素格表示一位密文,6格像素以2进制的形式进行编码,例如一位密文编码表示为[0 1 1;1 0 1]。为后续使用密文编码矩阵作用于原始图的像素矩阵做准备。
S204、获取用于数据加密的原始图像。
在本实施例中,原始图像可以为任意图像,图像大小可以根据实际情况设定,优选为原始图像的像素矩阵与密文编码矩阵大小相同。
S205、将所述密文编码矩阵与所述原始图像的像素矩阵按预设规则进行运算,得到加密图像。
读取原始图像的像素矩阵与密码编码矩阵做运算,以实现对密文编码矩阵的二次加密。
在一种可能的实现方式中,S205包括:
将所述密文编码矩阵各元素值与所述原始图像的像素矩阵中对应的各元素值相加,得到加密图像的像素矩阵,进而得到所述加密图像。
在一个示例中,一位密文编码表示为[0 1 1;1 0 1],原始图片中的某像素区域像素表示为[85 20 56;36 25 96],则经加密后表示为[85 19 55;35 2595]。由于像素取值范围在[0,255],因此对于一个像素点而言,像素值的加1减1对视觉并无影响。
本申请实施例先将数据进行第一次加密,加密成密文文本,对密文文本编码后,使用图像对编码的密文文本进行二次加密,加密成图像形式,采用两次加密以提高数据传输的安全性。
在一种可能的实现方式中,S202包括:
A1、获取第一密钥;
A2、基于第一位置换规则对第一密钥进行位置换,得到置换密钥;
A3、将所述置换密钥拆分成左子密钥和右子密钥;
A4、分别将左子密钥和右子密钥进行n次循环左移运算,在第i次循环左移运算后,得到第i左子密钥和第i右子密钥;其中,n为正整数,i为大于0且小于n的整数;
A5、基于第二位置换规则、第i左子密钥和第i右子密钥,得到第i变换密钥;
A6、使用n个变换密钥将所述待加密数据进行加密,得到加密文本。
第一密钥为64位二进制码,第一置换规则指示置换密钥的每一位对应第密钥的哪一位,相当于将第一密钥数据顺序重新排列得到置换密钥。第二位置换规则指示第i变换密钥的每一位对应第i左子密钥和第i右子密钥的某一位。在第一密钥的基础上进行变换增加加密复杂度。
在一个示例中,取16进制第一密钥:
K=133457799BBCDFF1。
转换到二进制:
K=0001001100110100010101110111100110011011101111001101111111110001。其中,加粗标注第8位、第16位、第24位、第32位、第40位、第48位、第56位、第64位作为奇偶校验位,不参与运算,即实际密钥为56位:
K’=00010010 01101001 01011011 11001001 10110111 1011011111111000。
第一位置换规则以数组形式表示为:[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4]。
第一个元素为57,这将使第一秘钥的第57位变换为置换秘钥K+的第一位。同理,第一秘钥的第49位变换为置换秘钥的第2位,第一秘钥的第4位变换为置换秘钥的最后一位,上述数组只有56个元素,因此,第一秘钥中只有56位会进入置换秘钥,。
根据K’和第一位置换规则的数组,得到置换密钥:
K+=11110000110011001010101011110101010101100110011110001111。
进而将K+拆分成左子密钥:C0=1111000011001100101010101111;
右子密钥:D0=0101010101100110011110001111。
每一对Cn和Dn都是由前一对Cn-1和Dn-1移位而来。对于n=1,2,3,....,16,在前一轮移位的结果上,进行左移操作。C3和D3分别由是C2和D2左移位得到,C16和D16则分别是由C15和D15通过左移得到。
C1=1110000110011001010101011111;
C2=1100001100110010101010111111;
C3=0000110011001010101011111111;
D1=1010101011001100111100011110;
D2=0101010110011001111000111101;
D3=0101011001100111100011110101。
对每一对拼合后的子秘钥CnDn,基于第二位置换规则进行变换得到对应的变换密钥。
第二位置换规则以数组形式表示为:[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32]。
对于C1D1,第一变换密钥为:
K1=000110110000001011101111111111000111000001110010;
对于C2D2,第二变换密钥为:
K2=011110011010111011011001110110111100100111100101;
对于C3D3,第三变换密钥为:
K3=010101011111110010001010010000101100111110011001。
在一种可能的实现方式中,A6包括:
A61、基于第三位置换规则对所述待加密数据进行位置换,得到置换待加密数据;
A62、将所述置换待加密数据拆分成左子数据和右子数据;
A63、利用预设运算规则、所述n个变换密钥对所述左子数据和所述右子数据进行n次迭代加密运算,得到加密文本;在第i次加密运算使用第i变换密钥。
本申请中对待加密数据进行n次迭代加密,每次迭代更换一个变换密钥,对上一次加密的数据再进行加密。
在一种可能的实现方式中,所述左子数据和右子数据的位长度均为第一长度;
A63包括:
A631、将所述右子数据的位长度扩展至第二长度,得到扩展后的右子数据;
A632、将第i变换密钥与所述扩展后的右子数据进行异或运算,得到异或结果;所述第二长度大于所述第一长度;
A633、将所述异或结果的位长度转换为第一长度,得到转换后的异或结果;
A634、将所述转换后的异或结果与所述左子数据进行异或运算,得到右子结果;
A633、将所述右子数据作为新的左子数据;将所述右子结果作为新的右子数据;
A634、循环执行n次将所述右子数据的位长度扩展至第二长度,得到扩展后的右子数据及其后续步骤。
图3为本申请实施例提供的一种数据解密方法流程图。如图3所示,该方法包括:
S301、获取加密图像;
S302、根据原始图像对所述加密图像解密,得到密文编码矩阵;
S303、对密文编码矩阵进行解码,得到加密文本;
S304、利用第一密钥对所述加密文本进行解密,得到解密数据。
本申请实施例采用两次加密两次解密机制以提高数据传输的安全性。
在一种可能的实现方式中,S302包括:
将所述加密图像的像素矩阵中各元素值减轻所述原始图像的像素矩阵中对应的各元素值,得到密文编码矩阵。
在一种可能的实现方式中,S304包括:
获取第一密钥;
基于第一位置换规则对第一密钥进行位置换,得到置换密钥;
将所述变换密钥拆分成左子密钥和右子密钥;
分别将左子密钥和右子密钥进行n次循环左移运算,在第i次循环左移运算后,得到第i左子密钥和第i右子密钥;其中,n为正整数,i为大于0且小于n的整数;
基于第二位置换规则、第i左子密钥和第i右子密钥,得到第i变换密钥;
使用n个变换密钥对所述加密文本进行解密,得到解密数据;在第j轮解密中,使用第n-j+1变换密钥;其中,j为大于0且小于n的整数。
在一种可能的实现方式中,使用n个变换密钥对所述加密文本进行解密,得到解密数据,包括:
将加密文本拆分成所述加密左子数据和加密右子数据;
利用预设运算规则、所述n个变换密钥对所述加密左子数据和加密右子数据进行n轮解密运算,得到解密的左子数据和右子数据;在第j轮解密中,使用第n-j+1变换密钥;其中,j为大于0且小于n的整数;
将左子数据和右子数据拼成置换解密数据;
基于第三位置换规则和置换解密数据,得到解密数据。
在一种可能的实现方式中,所述加密左子数据和加密右子数据的位长度均为第一长度;
利用预设运算规则、所述n个变换密钥对所述加密左子数据和加密右子数据进行n轮解密运算,得到解密的左子数据和右子数据,包括:
将加密左子数据和加密右子数据进行异或运算,得到异或结果;
将异或结果位长度扩展至第二长度,得到扩展后的异或结果;
将第n-j+1变换密钥与所述扩展后的异或结果进行异或运算,得到扩展后的右子数据;
扩展后的右子数据的位长度转换为第一长度,得到右子数据;
将所述右子数据作为新的加密右子数据;
将所述加密右子数据作为新的加密左子数据;
循环执行n次将加密左子数据和加密右子数据进行异或运算,得到异或结果及其后续步骤。
图4为本申请实施例提供一种数据加密装置结构图。如图4所示,该装置包括:
第一获取单元401,用于获取待加密数据;
第一加密单元402,用于利用第一密钥将所述待加密数据进行加密,得到加密文本;所述加密文本包括多位密文;
编码单元403,用于将每位密文编码为若干位二进制的像素值,得到密文编码矩阵;
第二获取单元404,用于获取用于数据加密的原始图像;
第二加密单元405,用于将所述密文编码矩阵与所述原始图像的像素矩阵按预设规则进行运算,得到加密图像。
本申请实施例先将数据进行第一次加密,加密成密文文本,对密文文本编码后,使用图像对编码的密文文本进行二次加密,加密成图像形式,采用两次加密以提高数据传输的安全性。
在一种可能的实现方式中,所述第一加密单元401具体用于:
获取第一密钥;
基于第一位置换规则对第一密钥进行位置换,得到置换密钥;
将所述变换密钥拆分成左子密钥和右子密钥;
分别将左子密钥和右子密钥进行n次循环左移运算,在第i次循环左移运算后,得到第i左子密钥和第i右子密钥;其中,n为正整数,i为大于0且小于n的整数;
基于第二位置换规则、第i左子密钥和第i右子密钥,得到第i变换密钥;
使用n个变换密钥将所述待加密数据进行加密,得到加密文本。
在一种可能的实现方式中,所述第一加密单元401具体用于:
基于第三位置换规则对所述待加密数据进行位置换,得到置换待加密数据;
将所述置换待加密数据拆分成左子数据和右子数据;
利用预设运算规则、所述n个变换密钥对所述左子数据和所述右子数据进行n次迭代加密运算,得到加密文本;在第i次加密运算使用第i变换密钥。
在一种可能的实现方式中,所述左子数据和右子数据的位长度均为第一长度;
所述第一加密单元具体用于:
将所述右子数据的位长度扩展至第二长度,得到扩展后的右子数据;
将第i变换密钥与所述扩展后的右子数据进行异或运算,得到异或结果;所述第二长度大于所述第一长度;
将所述异或结果的位长度转换为第一长度,得到转换后的异或结果;
将所述转换后的异或结果与所述左子数据进行异或运算,得到右子结果;
将所述右子数据作为新的左子数据;
将所述右子结果作为新的右子数据;
循环执行n次将所述右子数据的位长度扩展至第二长度,得到扩展后的右子数据及其后续步骤。
在一种可能的实现方式中,所述第二加密单元405,具体用于:
将所述密文编码矩阵各元素值与所述原始图像的像素矩阵中对应的各元素值相加,得到加密图像的像素矩阵,进而得到所述加密图像。
图5为本申请实施例提供一种数据解密装置结构图。如图5所示,该装置包括:
加密图像获取单元501,用于获取加密图像;
第一解密单元502,用于根据原始图像对所述加密图像解密,得到密文编码矩阵;
解码单元503,用于对密文编码矩阵进行解码,得到加密文本;
第二解密单元504,用于利用第一密钥对所述加密文本进行解密,得到解密数据。
在一种可能的实现方式中,所述第一解密单元,具体用于将所述加密图像的像素矩阵中各元素值减轻所述原始图像的像素矩阵中对应的各元素值,得到密文编码矩阵。
在一种可能的实现方式中,所述第二解密单元504,具体用于:
获取第一密钥;
基于第一位置换规则对第一密钥进行位置换,得到置换密钥;
将所述变换密钥拆分成左子密钥和右子密钥;
分别将左子密钥和右子密钥进行n次循环左移运算,在第i次循环左移运算后,得到第i左子密钥和第i右子密钥;其中,n为正整数,i为大于0且小于n的整数;
基于第二位置换规则、第i左子密钥和第i右子密钥,得到第i变换密钥;
使用n个变换密钥对所述加密文本进行解密,得到解密数据;在第j轮解密中,使用第n-j+1变换密钥;其中,j为大于0且小于n的整数。
在一种可能的实现方式中,所述第二解密单元504,具体用于:
将加密文本拆分成所述加密左子数据和加密右子数据;
利用预设运算规则、所述n个变换密钥对所述加密左子数据和加密右子数据进行n轮解密运算,得到解密的左子数据和右子数据;在第j轮解密中,使用第n-j+1变换密钥;其中,j为大于0且小于n的整数;
将左子数据和右子数据拼成置换解密数据;
基于第三位置换规则和置换解密数据,得到解密数据。
在一种可能的实现方式中,所述加密左子数据和加密右子数据的位长度均为第一长度;
所述第二解密单元504,具体用于:
将加密左子数据和加密右子数据进行异或运算,得到异或结果;
将异或结果位长度扩展至第二长度,得到扩展后的异或结果;
将第n-j+1变换密钥与所述扩展后的异或结果进行异或运算,得到扩展后的右子数据;
扩展后的右子数据的位长度转换为第一长度,得到右子数据;
将所述右子数据作为新的加密右子数据;
将所述加密右子数据作为新的加密左子数据;
循环执行n次将加密左子数据和加密右子数据进行异或运算,得到异或结果及其后续步骤。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如本申请实施例提供的数据加密方法或解密方法。
在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或云端服务系统上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
如图6所示,本申请实施例提供的一种计算机设备的结构示意图。图6显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图6中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例提供的无人网点虚拟坐席服务方法。
本申请提供的一种数据加密解密方法、装置、计算机设备和存储介质,可用于金融领域或其他领域,例如,可用于金融领域中的账户验证应用场景。其他领域为除金融领域之外的任意领域,例如,数据处理领域。上述仅为示例,并不对本申请提供的一种数据加密解密方法、装置、计算机设备和存储介质的应用领域进行限定。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种数据加密方法,其特征在于,包括:
获取待加密数据;
利用第一密钥将所述待加密数据进行加密,得到加密文本;所述加密文本包括多位密文;
将每位密文编码为若干位二进制的像素值,得到密文编码矩阵;
获取用于数据加密的原始图像;
将所述密文编码矩阵与所述原始图像的像素矩阵按预设规则进行运算,得到加密图像。
2.根据权利要求1所述的方法,其特征在于,所述利用第一密钥将所述待加密数据进行加密,得到加密文本,包括:
获取第一密钥;
基于第一位置换规则对第一密钥进行位置换,得到置换密钥;
将所述置换密钥拆分成左子密钥和右子密钥;
分别将左子密钥和右子密钥进行n次循环左移运算,在第i次循环左移运算后,得到第i左子密钥和第i右子密钥;其中,n为正整数,i为大于0且小于n的整数;
基于第二位置换规则、第i左子密钥和第i右子密钥,得到第i变换密钥;
使用n个变换密钥将所述待加密数据进行加密,得到加密文本。
3.根据权利要求2所述的方法,其特征在于,所述使用n个变换密钥将所述待加密数据进行加密,得到加密文本,包括:
基于第三位置换规则对所述待加密数据进行位置换,得到置换待加密数据;
将所述置换待加密数据拆分成左子数据和右子数据;
利用预设运算规则、所述n个变换密钥对所述左子数据和所述右子数据进行n次迭代加密运算,得到加密文本;在第i次加密运算使用第i变换密钥。
4.根据权利要求3所述的方法,其特征在于,所述左子数据和右子数据的位长度均为第一长度;
所述利用预设运算规则、所述n个变换密钥对所述左子数据和所述右子数据进行n次迭代加密运算,得到加密文本,包括:
将所述右子数据的位长度扩展至第二长度,得到扩展后的右子数据;
将第i变换密钥与所述扩展后的右子数据进行异或运算,得到异或结果;所述第二长度大于所述第一长度;
将所述异或结果的位长度转换为第一长度,得到转换后的异或结果;
将所述转换后的异或结果与所述左子数据进行异或运算,得到右子结果;
将所述右子数据作为新的左子数据;
将所述右子结果作为新的右子数据;
循环执行n次将所述右子数据的位长度扩展至第二长度,得到扩展后的右子数据及其后续步骤。
5.根据权利要求1所述的方法,其特征在于,所述将所述密文编码矩阵与所述原始图像的像素矩阵按预设规则进行运算,得到加密图像,包括:
将所述密文编码矩阵各元素值与所述原始图像的像素矩阵中对应的各元素值相加,得到加密图像的像素矩阵,进而得到所述加密图像。
6.一种数据解密方法,其特征在于,包括:
获取加密图像;
根据原始图像对所述加密图像解密,得到密文编码矩阵;
对密文编码矩阵进行解码,得到加密文本;
利用第一密钥对所述加密文本进行解密,得到解密数据。
7.一种数据加密装置,其特征在于,包括:
第一获取单元,用于获取待加密数据;
第一加密单元,用于利用第一密钥将所述待加密数据进行加密,得到加密文本;所述加密文本包括多位密文;
编码单元,用于将每位密文编码为若干位二进制的像素值,得到密文编码矩阵;
第二获取单元,用于获取用于数据加密的原始图像;
第二加密单元,用于将所述密文编码矩阵与所述原始图像的像素矩阵按预设规则进行运算,得到加密图像。
8.一种数据解密装置,其特征在于,包括:
加密图像获取单元,用于获取加密图像;
第一解密单元,用于根据原始图像对所述加密图像解密,得到密文编码矩阵;
解码单元,用于对密文编码矩阵进行解码,得到加密文本;
第二解密单元,用于利用第一密钥对所述加密文本进行解密,得到解密数据。
9.一种计算机设备,其特征在于,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行权利要求1-5任一项所述的数据加密方法或权利要求6所述的数据解密方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-5任一项所述的数据加密方法或权利要求6所述的数据解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310898657.3A CN116756758A (zh) | 2023-07-20 | 2023-07-20 | 一种数据加密解密方法、装置、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310898657.3A CN116756758A (zh) | 2023-07-20 | 2023-07-20 | 一种数据加密解密方法、装置、计算机设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116756758A true CN116756758A (zh) | 2023-09-15 |
Family
ID=87951461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310898657.3A Pending CN116756758A (zh) | 2023-07-20 | 2023-07-20 | 一种数据加密解密方法、装置、计算机设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116756758A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131517A (zh) * | 2023-10-27 | 2023-11-28 | 鼎铉商用密码测评技术(深圳)有限公司 | 加密算法的安全性检测方法、终端设备及存储介质 |
-
2023
- 2023-07-20 CN CN202310898657.3A patent/CN116756758A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131517A (zh) * | 2023-10-27 | 2023-11-28 | 鼎铉商用密码测评技术(深圳)有限公司 | 加密算法的安全性检测方法、终端设备及存储介质 |
CN117131517B (zh) * | 2023-10-27 | 2024-03-19 | 鼎铉商用密码测评技术(深圳)有限公司 | 加密算法的安全性检测方法、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11521048B2 (en) | Weight management method and system for neural network processing, and neural network processor | |
CN110119643B (zh) | 二维码生成方法及装置、二维码识别方法及装置 | |
CN109150499B (zh) | 动态加密数据的方法、装置、计算机设备和存储介质 | |
Ye et al. | An effective framework for chaotic image encryption based on 3D logistic map | |
US20120269340A1 (en) | Hierarchical encryption/decryption device and method thereof | |
CN107612683B (zh) | 一种加解密方法、装置、系统、设备和存储介质 | |
CN110084599B (zh) | 密钥处理方法、装置、设备和存储介质 | |
CN107800716B (zh) | 一种数据处理方法及装置 | |
CN107222759A (zh) | 媒体文件加解密的方法、系统、设备和介质 | |
CN116756758A (zh) | 一种数据加密解密方法、装置、计算机设备、存储介质 | |
JP5395051B2 (ja) | レートレス符号によってコード化された内容のための低複雑性暗号化方法 | |
CN117134914B (zh) | 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 | |
CN105049176B (zh) | 用于图像数据安全传输的解密方法 | |
US8958554B2 (en) | Unicode-compatible stream cipher | |
CN116156072A (zh) | 隐写图像生成方法、隐写信息提取方法及相关装置 | |
KR20230095750A (ko) | 일방향 함수를 이용한 암호 운영모드 기반의 화이트박스 암호화 방법 및 장치 | |
US20220417000A1 (en) | Random position cipher encryption using scrambled ascii strings | |
CN116664123A (zh) | 一种基于区块链技术的数字钱包设计方法 | |
CN115174261A (zh) | 基于分阶划层与密中密分发的混合加密解密系统与方法 | |
CN111062053B (zh) | 生物特征数据的处理方法、装置、设备及介质 | |
CN113672954A (zh) | 特征提取方法、装置和电子设备 | |
CN112181308A (zh) | 基于区块链的分布式数据存储方法和电子设备 | |
CN111931205A (zh) | 一种加密着色器文件的方法和装置 | |
CN108777622A (zh) | 一种二进制流散列取模加密解密方法 | |
CN117792799B (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 |