一种数据加密方法、装置、设备及存储介质与流程

文档序号:35200983发布日期:2023-08-22 06:07阅读:35来源:国知局
一种数据加密方法、装置、设备及存储介质与流程

本发明涉及信息安全数据加密,特别涉及一种数据加密方法、装置、设备及存储介质。


背景技术:

1、着互联网等技术的不断发展,海量化和多样化的敏感数据被各样的应用收集、存储。若收集的明文信息不采取加密等信息隐藏技术处理,很可能导致用户信息被滥用,甚至发生严重的信息泄露事件,造成无法弥补的财产、安全等损失,因此对敏感信息采用加密等技术进行保护是不必可少的。传统的加密方法能够保护数据的安全,但是这种加密方法使得加密后的数据失去了原有的数据格式。而在数据库存储中,大多数敏感信息具有特定的格式,如身份证、电话号码等,采用传统的加密方式通常会扩展数据,使数据长度与数据类型发生变化等,需要修改数据库等来满足存储需要,这种成本代价非常昂贵。

2、为解决带格式数据加密的存储问题,研究者提出了保留格式加密(formatpreserving encryption,fpe)。fpe指明文字和密文串具有相同的格式和长度,因此很适合于带格式的敏感数据加密。浮点数是一种在众多领域中常见的数据格式(如工程测量数据、企业员工工资等),经常用于数据的计算、分析、存储中,因此对其保留格式加密算法进行了研究。学术研究采用ff1/ff3算法研究了浮点数保留格式加密。ff1/ff3是美国国家标准与技术研究院(national institute of standards and technology,nist)提出的一种保留格式加密算法,该算法采用feistel迭代结构和128位的对称加密算法(aes,advancedencryption standard)设计的一种对称加密算法,能够满足大多数的数值字符串的保留格式加密。用该算法加密浮点数时,采用了分段处理的思想:浮点数的小数点为分隔符将其分成整数部分与小数部分,然后对整数部分或小数部分单独处理,最后将其拼接组合成新的浮点数。分段处理整数部分时,使用ff1/ff3加密算法加密需要考虑最高位不能为0,最高位数据需单独处理,增加算法的复杂度,其次当最高位数据单独处理后,一些数据使用ff1/ff3算法加密不满足算法的安全要求。并且当浮点数的整数部分一样,仅小数点后的数据存在差别时,仅对整数部分加密也不能满足数据安全保密要求;理论上数据大小无上下限,而在数据库、工程等实现中,int与long等数据类型存在最大值,因此必需考虑整数部分临近最大值时的算法正确性。若对小数部分也如整数部分进行处理,那么将多调用一次完整的加密运算过程,运算时间也会成倍增加,运算效率将降低。并且在计算机工程实现中,浮点数需要考虑精度,精度的缺失可能导致加解密的失败,算法的正确性也不能保证。

3、在实际工程实现中,考虑浮点数内存存储的数据问题,可能由于进位等原因导致浮点数内存值与实际观察到的数据存在差异,从而导致加解密失败。该算法需要根据不同的加密数据设置加密区间,即对浮点数部分有效位进行加密隐藏,不加密全部数据,因此即使浮点数类型一致,但应用场景不同需要设置不同的区间,不具有通用性。同时,在用范围加密进行加密时,设置了一个调节因子,为了能成功解密,每一个调节因子必须存储,从而修改了数据库的结构;并且大多数范围加密算法都需要调整调节因子后重复迭代加密过程,其循环次数不可控。


技术实现思路

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、待加密区间确定模块,用于获取浮点数信息,并确定所述浮点数信息的待加密区间;

27、数据转换模块,用于将所述待加密区间中的数据转换为字符串,以得到目标字符串;

28、字符串加密模块,用于利用预设加密算法对所述目标字符串进行加密,以得到加密后字符串;

29、密文获取模块,用于利用所述加密后字符串替换所述待加密区间中的数据,以得到所述浮点数信息对应的目标密文。

30、第三方面,本技术公开了一种电子设备,包括:

31、存储器,用于保存计算机程序;

32、处理器,用于执行所述计算机程序,以实现如前述公开的数据加密方法的步骤。

33、第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的数据加密方法。

34、可见,本技术提供了一种数据加密方法,包括:获取浮点数信息,并确定所述浮点数信息的待加密区间;将所述待加密区间中的数据转换为字符串,以得到目标字符串;利用预设加密算法对所述目标字符串进行加密,以得到加密后字符串;利用所述加密后字符串替换所述待加密区间中的数据,以得到所述浮点数信息对应的目标密文。由此可见,本技术通过结合浮点数信息的内存存储结构加密对应的数据,并利用加密后字符串替换所述待加密区间中的数据,得到最终的目标密文,保证了浮点数加密后格式不变,由于只对待加密区间的数据进行加密,其余数据保持不变,降低了运算时间与开销成本,提高了数据加密的安全性与处理效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1