数据加密、解密的方法、装置、电子设备和存储介质制造方法及图纸

技术编号:38137316 阅读:8 留言:0更新日期:2023-07-08 09:49
本公开的实施例提供了一种数据加密、解密的方法、装置、电子设备和存储介质。应用于数据处理技术领域,所述方法包括将第一密钥进行二进制序列化,得到第二密钥,所述第一密钥由字节数数组组成且第一密钥的字节数量为N,N为大于等于1的正整数;将原始数据切分为长度16

【技术实现步骤摘要】
数据加密、解密的方法、装置、电子设备和存储介质


[0001]本公开涉及数据处理领域,尤其涉及一种数据加密、解密的方法、装置、电子设备和存储介质。

技术介绍

[0002]数据加密指通过加密算法和加密密钥将明文转变为密文,实现对明文的加密保护,提高明文的安全性。
[0003]目前由于对明文加密的加密算法是公开的,可通过分析加密算法来对密文进行破解导致明文的安全性较低,降低了明文的加密安全性。
[0004]因此,亟需具有较高安全性的数据加密、解密的方法、装置、电子设备和存储介质。

技术实现思路

[0005]本公开提供了一种数据加密、解密的方法、装置、电子设备和存储介质。
[0006]根据本公开的第一方面,提供了一种数据加密的方法。该方法包括:
[0007]将第一密钥进行二进制序列化,得到第二密钥,第一密钥由字节数数组组成且第一密钥的字节数量为N,N为大于等于1的正整数;
[0008]将原始数据切分为长度16
×
N个字节的原始数据块;
[0009]分别对各原始数据块中的数据根据第二密钥进行重新排序得到加密数据块;其中,若第二密钥的第i位为0,则将原始数据块中第2
×
i个字节数据作为加密数据块的第i个字节数据,将原始数据块中第2
×
i+1个字节数据作为加密数据块的第8
×
N+i个字节数据;若第二密钥的第i位为1,则将原始数据块中第2
×
i+1个字节数据作为加密数据块的第i个字节数据,将原始数据块中第2
×
i个字节数据作为加密数据块的第8
×
N+i个字节数据;其中,i为大于等于0的自然数;
[0010]按顺序合并加密数据块,得到加密数据。
[0011]如上的方面和任一可能的实现方式,进一步提供一种实现方式,将原始数据切分为长度16
×
N个字节的原始数据块具体为:
[0012]判断原始数据的长度是否为16
×
N个字节的M倍,M为大于等于1的正整数,
[0013]若是,则将原始数据切分为M个长度16
×
N个字节的原始数据块;
[0014]若不是,则对原始数据的末尾进行补0使得原始数据的长度为16
×
N个字节的M倍,将补0后的原始数据切分为M个长度16
×
N个字节的原始数据块。
[0015]如上的方面和任一可能的实现方式,进一步提供一种实现方式,对原始数据的末尾进行补0时,补0后的原始数据的最后两个字节用于记录补0的个数。
[0016]如上的方面和任一可能的实现方式,进一步提供一种实现方式,按顺序合并加密数据块的顺序和将原始数据切分为长度16
×
N个字节的原始数据块时的切分顺序相同。
[0017]如上的方面和任一可能的实现方式,进一步提供一种实现方式,将第一密钥进行二进制序列化表示将第一密钥中的每个字节以二进制形式进行表示。
[0018]根据本公开的第二方面,提供了一种数据解密的方法,该方法包括:
[0019]将第一密钥进行二进制序列化,得到第二密钥,第一密钥由字节数数组组成且第一密钥的字节数量为N,N为大于等于1的正整数;
[0020]将加密数据切分为长度16
×
N个字节的加密数据块;
[0021]分别对各加密数据块中的数据根据第二密钥进行重新排序得到解密数据块;其中,若第二密钥的第i位为0,则将加密数据块的第i个字节数据作为解密数据块中第2
×
i个字节数据,将加密数据块的第8
×
N+i个字节数据作为解密数据块中第2
×
i+1个字节数据;
[0022]若第二密钥的第i位为1,则将加密数据块的第i个字节数据作为解密数据块中第2
×
i+1个字节数据,将加密数据块的第8
×
N+i个字节数据作为解密数据块中第2
×
i个字节数据;其中,i为大于等于0的自然数;
[0023]按顺序合并解密数据块,得到解密数据。
[0024]如上的方面和任一可能的实现方式,进一步提供一种实现方式,按顺序合并解密数据块的顺序和将加密数据切分为长度16
×
N个字节的加密数据块时的切分顺序相同。
[0025]根据本公开的第三方面,提供了一种数据加密装置。该装置包括:
[0026]预处理模块,用于将第一密钥进行二进制序列化,得到第二密钥,第一密钥由字节数数组组成且第一密钥的字节数量为N,N为大于等于1的正整数;
[0027]切分模块,用于将原始数据切分为长度16
×
N个字节的原始数据块;
[0028]排序模块,用于分别对各原始数据块中的数据根据第二密钥进行重新排序得到加密数据块;其中,若第二密钥的第i位为0,则将原始数据块中第2
×
i个字节数据作为加密数据块的第i个字节数据,将原始数据块中第2
×
i+1个字节数据作为加密数据块的第8
×
N+i个字节数据;若第二密钥的第i位为1,则将原始数据块中第2
×
i+1个字节数据作为加密数据块的第i个字节数据,将原始数据块中第2
×
i个字节数据作为加密数据块的第8
×
N+i个字节数据;其中,i为大于等于0的自然数;
[0029]合并模块,用于按顺序合并加密数据块,得到加密数据。
[0030]根据本公开的第四方面,提供了一种数据解密装置。该装置包括:
[0031]预处理模块,用于将第一密钥进行二进制序列化,得到第二密钥,第一密钥由字节数数组组成且第一密钥的字节数量为N,N为大于等于1的正整数;
[0032]切分模块,用于将加密数据切分为长度16
×
N个字节的加密数据块;
[0033]排序模块,用于分别对各加密数据块中的数据根据第二密钥进行重新排序得到解密数据块;其中,若第二密钥的第i位为0,则将加密数据块的第i个字节数据作为解密数据块中第2
×
i个字节数据,将加密数据块的第8
×
N+i个字节数据作为解密数据块中第2
×
i+1个字节数据;若第二密钥的第i位为1,则将加密数据块的第i个字节数据作为解密数据块中第2
×
i+1个字节数据,将加密数据块的第8
×
N+i个字节数据作为解密数据块中第2
×
i个字节数据;其中,i为大于等于0的自然数;
[0034]合并模块,用于按顺序合并解密数据块,得到解密数据。
[0035]根据本公开的第五方面,提供了一种电子设备。该电子设备包括:存储器和处理器,存储器上存储有计算机程序,处理器执行程序时实现如以上的方法。
[0036]根据本公开的第六方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据加密的方法,包括:将第一密钥进行二进制序列化,得到第二密钥,所述第一密钥由字节数数组组成且所述第一密钥的字节数量为N,N为大于等于1的正整数;将原始数据切分为长度16
×
N个字节的原始数据块;分别对各所述原始数据块中的数据根据所述第二密钥进行重新排序得到加密数据块;其中,若所述第二密钥的第i位为0,则将所述原始数据块中第2
×
i个字节数据作为所述加密数据块的第i个字节数据,将所述原始数据块中第2
×
i+1个字节数据作为所述加密数据块的第8
×
N+i个字节数据;若所述第二密钥的第i位为1,则将所述原始数据块中第2
×
i+1个字节数据作为所述加密数据块的第i个字节数据,将所述原始数据块中第2
×
i个字节数据作为所述加密数据块的第8
×
N+i个字节数据;其中,i为大于等于0的自然数;按顺序合并所述加密数据块,得到加密数据。2.根据权利要求1所述的方法,其中,所述将原始数据切分为长度16
×
N个字节的原始数据块具体为:判断所述原始数据的长度是否为16
×
N个字节的M倍,M为大于等于1的正整数,若是,则将原始数据切分为M个长度16
×
N个字节的原始数据块;若不是,则对所述原始数据的末尾进行补0使得所述原始数据的长度为16
×
N个字节的M倍,将补0后的原始数据切分为M个长度16
×
N个字节的原始数据块。3.根据权利要求2所述的方法,其中,对所述原始数据的末尾进行补0时,补0后的原始数据的最后两个字节用于记录补0的个数。4.根据权利要求1所述的方法,其中,按顺序合并所述加密数据块的顺序和将原始数据切分为长度16
×
N个字节的原始数据块时的切分顺序相同。5.根据权利要求1所述的方法,其中,将第一密钥进行二进制序列化表示将所述第一密钥中的每个字节以二进制形式进行表示。6.一种数据解密的方法,包括:将第一密钥进行二进制序列化,得到第二密钥,所述第一密钥由字节数数组组成且所述第一密钥的字节数量为N,N为大于等于1的正整数;将加密数据切分为长度16
×
N个字节的加密数据块;分别对各所述加密数据块中的数据根据所述第二密钥进行重新排序得到解密数据块;其中,若所述第二密钥的第i位为...

【专利技术属性】
技术研发人员:郝伟沈传宝刘加瑞
申请(专利权)人:安徽华云安科技有限公司
类型:发明
国别省市:

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

1