一种数据加密方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:34811095 阅读:57 留言:0更新日期:2022-09-03 20:19
本申请公开了一种数据加密方法、装置、计算机设备和存储介质,可应用于数据处理领域或金融领域,以实现增强MD5算法加密的复杂度。该方法包括:第一终端根据待加密数据的长度、整数倍的整数值确定公钥和私钥;利用公钥加密第一常量数组的元素,根据预设规则改变加密后的第一常量数组的元素顺序,得到加密数组;将加密数组、私钥发送给第二终端,使得第二终端利用私钥对加密数组进行解密,得到第二常量数组,利用第二常量数组的元素、初始幻数、位移量和加密函数对待加密数据进行加密。利用加密数组的不确定性,赋予参与加密运算的常量数组中的元素顺序不确定性。的元素顺序不确定性。的元素顺序不确定性。

【技术实现步骤摘要】
一种数据加密方法、装置、计算机设备和存储介质


[0001]本申请涉及数据处理领域,特别是涉及一种数据加密方法、装置、计算机设备和存储介质。

技术介绍

[0002]随着互联网科技的发展,各种各样的数据加密算法屡见不鲜,MD5算法因其普遍、稳定、快速的特点,被广泛应用于普通数据加密领域,例如,对数据进行MD5加密,用于信息完整性验证。
[0003]然而,目前的MD5算法的加密方式采用计算因子和加密算法,其中,计算因子包括常量数组、位移量、初始幻数等。由于计算因子中的常量数组被公开,进而导致MD5算法容易被破解,安全性差。

技术实现思路

[0004]基于上述问题,本申请提供了一种数据加密方法、装置、计算机设备和存储介质,以实现增强MD5算法加密的复杂度,提高安全性。
[0005]本申请实施例公开了如下技术方案:
[0006]本申请实施例第一方面提供一种数据加密方法,应用于数据传输的场景,包括:
[0007]第一终端获取待加密数据的长度、对所述待加密数据进行数据填充后的数据长度,所述数据填充后的数据长度是预设值的整数倍;
[0008]所述第一终端根据所述待加密数据的长度、所述整数倍的整数值确定公钥和私钥;
[0009]所述第一终端利用公钥加密第一常量数组的元素,根据预设规则改变加密后的第一常量数组的元素顺序,得到加密数组;或者,根据预设规则改变第一常量数组的元素的顺序得到第二常量数组,利用公钥加密所述第二常量数组,得到加密数组;
[0010]所述第一终端将所述加密数组、所述私钥发送给第二终端,使得所述第二终端利用私钥对所述加密数组进行解密,得到第二常量数组,利用所述第二常量数组的元素、初始幻数、位移量和加密函数对所述待加密数据进行加密。
[0011]在一个可能的实现方式中,所述根据所述待加密数据的长度、所述整数倍的整数值确定公钥和私钥,包括:
[0012]确定大于所述待加密数据长度的第一质数、大于所述整数倍的整数值减1的第二质数;
[0013]确定第一质数减1、第二质数减1的最小公倍数;
[0014]确定公钥参数,使得所述公钥参数与所述最小公倍数互质,所述公钥参数大于1且小于所述最小公倍数;
[0015]确定私钥参数,使得所述私钥参数与所述公钥参数的乘积对所述最小公倍数取余的结果为1,所述私钥参数大于1且小于所述最小公倍数;
[0016]根据所述第一质数和所述第二质数的乘积、所述公钥参数确定所述公钥;
[0017]根据所述第一质数和所述第二质数的乘积、所述私钥参数确定所述私钥。
[0018]在一个可能的实现方式中,对所述待加密数据进行数据填充的方式如下:
[0019]在所述待加密数据后填充一个1和多个0,以及所述待加密数据的长度值,使填充后的数据长度为所述预设值的整数倍。
[0020]在一个可能的实现方式中,根据预设规则改变加密后的第一常量数组的元素顺序,得到加密数组,包括:根据预设规则确定遍历顺序,根据所述遍历顺序遍历加密后的第一常量数组的元素,得到加密数组。
[0021]在一个可能的实现方式中,所述根据预设规则改变第一常量数组的元素的顺序得到第二常量数组,利用公钥加密所述第二常量数组,得到加密数组,包括:
[0022]根据预设规则确定遍历顺序,根据所述遍历顺序遍历所述第一常量数组的元素,得到第二常量数组,利用公钥加密所述第二常量数组,得到加密数组。
[0023]在一个可能的实现方式中,所述利用所述第二常量数组的元素、初始幻数、位移量和加密函数对所述待加密数据进行加密,包括:
[0024]将填充后的数据划分为倍数值个分块数据,每个分块数据长度等于所述预设值;
[0025]将每个分块数据划分为多个小组数据;
[0026]对每个小组数据依次利用所述第二常量数组、初始幻数、位移量和加密函数进行子循环处理,得到加密数据。
[0027]本申请实施例第二方面提供一种数据加密装置,应用于第一终端,包括:
[0028]获取单元,用于获取待加密数据的长度、对所述待加密数据进行数据填充后的数据长度,所述数据填充后的数据长度是预设值的整数倍;
[0029]确定单元,用于根据所述待加密数据的长度、所述整数倍的整数值确定公钥和私钥;
[0030]加密数组获得单元,用于利用公钥加密第一常量数组的元素,根据预设规则改变加密后的第一常量数组的元素顺序,得到加密数组;或者,根据预设规则改变第一常量数组的元素的顺序得到第二常量数组,利用公钥加密所述第二常量数组,得到加密数组;
[0031]加密单元,用于将所述加密数组、所述私钥发送给第二终端,使得所述第二终端利用私钥对所述加密数组进行解密,得到第二常量数组,利用所述第二常量数组的元素、初始幻数、位移量和加密函数对所述待加密数据进行加密。
[0032]在一个可能的实现方式中,所述确定单元,包括:
[0033]质数确定单元,用于确定大于所述待加密数据长度的第一质数、大于所述整数倍的整数值减1的第二质数;
[0034]最小公倍数确定单元,用于确定第一质数减1、第二质数减1的最小公倍数;
[0035]公钥参数确定单元,用于确定公钥参数,使得所述公钥参数与所述最小公倍数互质,所述公钥参数大于1且小于所述最小公倍数;
[0036]私钥参数确定单元,用于确定私钥参数,使得所述私钥参数与所述公钥参数的乘积对所述最小公倍数取余的结果为1,所述私钥参数大于1且小于所述最小公倍数;
[0037]公钥确定单元,用于根据所述第一质数和所述第二质数的乘积、所述公钥参数确定所述公钥;
[0038]私钥确定单元,用于根据所述第一质数和所述第二质数的乘积、所述私钥参数确定所述私钥。
[0039]本申请实施例第三方面提供一种计算机设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本申请实施例第一方面中任一项所述的数据加密方法。
[0040]本申请实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如本申请实施例第一方面中任一项所述的数据加密方法。
[0041]相较于现有技术,本申请具有以下有益效果:
[0042]本申请提供的一种数据加密方法,应用于数据传输的场景,第一终端获取待加密数据的长度、对待加密数据进行数据填充后的数据长度,数据填充后的数据长度是预设值的整数倍;根据待加密数据的长度、整数倍的整数值确定公钥和私钥;利用公钥加密第一常量数组的元素,将加密后的第一常量数组的元素改变顺序,得到加密数组;或者,改变第一常量数组的元素的顺序得到第二常量数组,利用公钥加密第二常量数组,得到加密数组;将加密数组、私钥发送给第二终端,使得第二终端利用私钥对加密数组进行解密,得到第二常量数组,利用第二常量数组的元素、初始幻本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据加密方法,其特征在于,包括:第一终端获取待加密数据的长度、对所述待加密数据进行数据填充后的数据长度,所述数据填充后的数据长度是预设值的整数倍;所述第一终端根据所述待加密数据的长度、所述整数倍的整数值确定公钥和私钥;所述第一终端利用公钥加密第一常量数组的元素,根据预设规则改变加密后的第一常量数组的元素顺序,得到加密数组;或者,根据预设规则改变第一常量数组的元素的顺序得到第二常量数组,利用公钥加密所述第二常量数组,得到加密数组;所述第一终端将所述加密数组、所述私钥发送给第二终端,使得所述第二终端利用私钥对所述加密数组进行解密,得到第二常量数组,利用所述第二常量数组的元素、初始幻数、位移量和加密函数对所述待加密数据进行加密。2.根据权利要求1所述的方法,其特征在于,所述根据所述待加密数据的长度、所述整数倍的整数值确定公钥和私钥,包括:确定大于所述待加密数据长度的第一质数、大于所述整数倍的整数值减1的第二质数;确定第一质数减1、第二质数减1的最小公倍数;确定公钥参数,使得所述公钥参数与所述最小公倍数互质,所述公钥参数大于1且小于所述最小公倍数;确定私钥参数,使得所述私钥参数与所述公钥参数的乘积对所述最小公倍数取余的结果为1,所述私钥参数大于1且小于所述最小公倍数;根据所述第一质数和所述第二质数的乘积、所述公钥参数确定所述公钥;根据所述第一质数和所述第二质数的乘积、所述私钥参数确定所述私钥。3.根据权利要求1所述的方法,其特征在于,对所述待加密数据进行数据填充的方式如下:在所述待加密数据后填充一个1和多个0,以及所述待加密数据的长度值,使填充后的数据长度为所述预设值的整数倍。4.根据权利要求1所述的方法,其特征在于,根据预设规则改变加密后的第一常量数组的元素顺序,得到加密数组,包括:根据预设规则确定遍历顺序,根据所述遍历顺序遍历加密后的第一常量数组的元素,得到加密数组。5.根据权利要求1所述的方法,其特征在于,所述根据预设规则改变第一常量数组的元素的顺序得到第二常量数组,利用公钥加密所述第二常量数组,得到加密数组,包括:根据预设规则确定遍历顺序,根据所述遍历顺序遍历所述第一常量数组的元素,得到第二常量数组,利用公钥加密所述第二常量数组,得到加密数组。6.根据权利要求1

5任一项所述的方法,其特征在于,所述利用所述第二常量数组的元素、初始幻数、位...

【专利技术属性】
技术研发人员:王子铭王志翔叶雪峰
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1