本发明涉及密码学,尤其涉及一种混合分块哈希加密方法、装置、设备及介质。
背景技术:
1、随着信息技术的发展,数据安全变得越来越重要。现有的加密技术,通常采用对称加密,非对称加密,哈希函数等方法对传输的数据进行加密,虽然在一定程度上保证了数据的安全性,但是在某些特定的环境和条件下,这些加密技术的安全性还存在可以提高的空间。
技术实现思路
1、本发明的目的在于提供一种混合分块哈希加密方法、装置、设备及介质,用于解决现有对数据加密的方法安全性低的问题。
2、为了实现上述目的,本发明提供如下技术方案:
3、第一方面,本发明提供一种混合分块哈希加密方法,包括:
4、获取待加密数据和密钥;
5、将所述待加密数据按照预设块长度进行分块,得到至少一个数据块;
6、按照预设字节数对所述数据块进行分组,得到所述数据块对应的多个字节块;
7、根据所述密钥的奇数所在位数和偶数所在位数对每个字节块中的数据进行排序,得到排序后的字节块;
8、采用哈希函数对所述排序后的字节块进行加密,得到多个加密后的字节块;
9、将多个加密后的字节块按照顺序进行合并,得到所述数据块对应的密文。
10、与现有技术相比,本发明提供的一种混合分块哈希加密方法,包括:获取待加密数据和密钥;将待加密数据按照预设块长度进行分块,得到至少一个数据块;按照预设字节数对数据块进行分组,得到数据块对应的多个字节块;根据密钥的奇数所在位数和偶数所在位数对每个字节块中的数据进行排序,得到排序后的字节块;采用哈希函数对排序后的字节块进行加密,得到多个加密后的字节块;将多个加密后的字节块按照顺序进行合并,得到数据块对应的密文。本方案将待加密数据分成数据块,并将数据块分成多个字节块,然后根据密钥对字节块中的数据进行排序的方法选择用于哈希加密的数据,打乱字节块数据的顺序,实现第一次加密,增加了攻击者在不知道密钥的情况下破解密码的难度,然后再采用哈希函数对排序后的字节块进行加密,将任何长度的数据转化为固定长度的哈希值,实现第二次加密,增加了攻击者在知道哈希值的情况下反向推导出原始数据的难度,两次加密能够大大提高数据的安全性。同时所有进行哈希加密后的字节块进行合并,得到最后的密文,可以使的密文的长度和原始数据长度保持一致,这对于网络传输数据是有利的。另外,本方案通过对数据块进行分组,再对每一组进行哈希加密,减小了计算量,能够在内存中进行,具有较高的运算效率,且仅依赖于哈希函数和简单的分组、排序等数据操作,可以在很多平台上实现,同过选择不同进行分组的预设字节数进行分组,结合哈希函数,可以调整加密的强度和性能。
11、第二方面,本发明提供一种混合分块哈希加密装置,包括:
12、待加密数据和密钥获取模块,用于获取待加密数据和密钥;
13、待加密数据分块模块,用于将所述待加密数据按照预设块长度进行分块,得到至少一个数据块;
14、分组模块,用于按照预设字节数对所述数据块进行分组,得到所述数据块对应的多个字节块;
15、排序模块,用于根据所述密钥的奇数所在位数和偶数所在位数对每个字节块中的数据进行排序,得到排序后的字节块;
16、哈希加密模块,用于采用哈希函数对所述排序后的字节块进行加密,得到多个加密后的字节块;
17、合并模块,用于将多个加密后的字节块按照顺序进行合并,得到所述数据块对应的密文。
18、第三方面,本发明提供一种混合分块哈希加密设备,包括:
19、通信单元/通信接口,用于获取待加密数据和密钥;
20、处理单元/处理器,用于将所述待加密数据按照预设块长度进行分块,得到至少一个数据块;
21、按照预设字节数对所述数据块进行分组,得到所述数据块对应的多个字节块;
22、根据所述密钥的奇数所在位数和偶数所在位数对每个字节块中的数据进行排序,得到排序后的字节块;
23、采用哈希函数对所述排序后的字节块进行加密,得到多个加密后的字节块;
24、将多个加密后的字节块按照顺序进行合并,得到所述数据块对应的密文。
25、第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令被运行时,实现上述混合分块哈希加密方法。
26、与现有技术相比,本发明提供的第二方面装置类方案、第三方面设备类方案、第四方面的计算机可读存储介质类方案的有益效果与上述技术方案所述混合分块哈希加密方法的有益效果相同,此处不做赘述。
1.一种混合分块哈希加密方法,其特征在于,包括:
2.根据权利要求1所述混合分块哈希加密方法,其特征在于,所述字节块在所述数据块中的位数是奇数位;所述根据所述密钥的奇数所在位数和偶数所在位数对每个字节块中的数据进行排序,得到排序后的字节块包括:
3.根据权利要求1所述混合分块哈希加密方法,其特征在于,所述字节块在所述数据块中的位数是偶数位;所述根据所述密钥的奇数所在位数和偶数所在位数对每个字节块中的数据进行排序,得到排序后的字节块包括:
4.根据权利要求2或3所述混合分块哈希加密方法,其特征在于,所述目标位数包括目标奇数位和目标偶数位,所述密钥为二进制字符串,所述密钥中的1对应的位数为目标奇数位,所述密钥中0对应的位数为目标偶数位;所述密钥的目标奇数位的数量和目标偶数位的数量相同,所述将所述第二数据排列到所述第一数值之后,得到排序后的字节块包括:
5.根据权利要求1所述混合分块哈希加密方法,其特征在于,所述将所述待加密数据按照预设块长度进行分块,得到多个数据块包括:
6.根据权利要求1所述混合分块哈希加密方法,其特征在于,所述数据块的数量大于等于二,所述将多个加密后的字节块按照顺序进行合并,得到所述数据块对应的密文之后还包括:
7.根据权利要求1所述混合分块哈希加密方法,其特征在于,所述字节块的数据由二进制形式表示,所述密钥的位数与字节块的二进制位数相同。
8.一种混合分块哈希加密装置,其特征在于,包括:
9.一种混合分块哈希加密设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令被运行时,实现权利要求1-7所述混合分块哈希加密方法。