应用于机器学习的数据加密方法、系统及计算机程序产品与流程
- 国知局
- 2024-09-19 14:43:16
本发明属于数据加密,具体涉及一种应用于机器学习的数据加密方法、系统及计算机程序产品。
背景技术:
1、随着互联网技术的飞速发展,社会进入大数据时代,大数据带来的整体性变革,使得用户面临着隐私暴露的风险,其中,在网上冲浪过程中,只要用户使用智能手机、上网购物或参与社交媒体互动,就需要将个人数据的所有权转移给服务商,如此,在长期的数据交互过程中,服务商则存储了海量的用户个人数据;对于企业而言,这些用户数据是非常珍贵的资源,因为企业可以通过数据挖掘和机器学习等方式,从用户数据中获得大量有价值的信息,从而能够帮助其来产生商业价值;但是,用户数据一旦泄露,就可能给用户和企业带来严重的不良影响,因此,对企业存储的数据进行数据加密,是防止用户数据泄露的主要保护措施。
2、目前,企业常用的加密方式是采用统一的密钥或密码本对数据进行加密,该种方式容易被暴力破解,安全性不高;同时,现有的企业在进行加密后,通常以数据库为单位,对访问用户进行身份验证,即身份验证后,可访问库中所有的加密数据,如此,当不法分子利用欺骗手段通过身份验证后,就能访问到数据库中所有的加密数据,这就进一步的增大了加密数据被访问破解的风险;基于此,如何提供一种安全性高的数据加密方法,已成为一个亟待解决的问题。
技术实现思路
1、本发明的目的是提供一种应用于机器学习的数据加密方法、系统及计算机程序产品,用以解决现有技术所存在的加密安全性不高的问题。
2、为了实现上述目的,本发明采用以下技术方案:
3、第一方面,提供了一种应用于机器学习的数据加密方法,包括:
4、获取待加密数据以及基于神经网络的密钥生成模型;
5、利用所述密钥生成模型,生成若干混沌密钥序列;
6、将所述待加密数据进行编码处理,得到编码数据;
7、根据所述若干混沌密钥序列,确定出所述编码数据中每个元素的加密密钥集,其中,任一元素的加密密钥集包括加密密钥,且各个元素的加密密钥互不相同;
8、利用所述编码数据中每个元素的加密密钥集,对所述编码数据中的每个元素进行加密处理,以在加密处理后,基于加密后的元素组成加密数据;
9、根据所述加密数据以及每个元素的加密密钥集,生成所述加密数据的验证证书;
10、将所述加密数据以及所述验证证书进行关联存储,以在关联存储后,完成对所述待加密数据的加密处理,其中,所述验证证书用于在解密时,对请求解密的用户终端进行身份验证,且在身份验证通过后,允许所述用户终端获取所述加密数据,并进行解密处理。
11、基于上述公开的内容,本发明在进行加密时,先利用密钥生成模型,来生成若干混沌密钥序列,而后,对待加密数据进行编码,得到编码数据,并根据生成的若干混沌密钥序列,来确定出编码数据中每个元素的加密密钥集,而后,则可利用每个元素的加密密钥集对各个元素进行加密处理,从而得到加密数据;其中,本发明所生成的各个元素的加密密钥互不相同,如此,采用不同的加密密钥对待加密数据进行加密处理,可降低被暴力破解的概率,从而提高了加密的安全性;同时,本发明还利用每个元素的加密密钥集,来生成加密数据的验证证书,并将该证书与加密数据进行关联存储,从而可基于此证书来对访问该加密数据的用户进行身份验证,且只有在身份验证通过后,才允许用户访问该加密数据;由此,以数据为单位,来生成验证证书对访问用户进行身份验证,可避免传统技术中以数据库为单位来进行身份验证所存在的验证通过后可访问全部加密数据的问题;基于此,进一步的提高了加密的安全性。
12、通过上述设计,本发明采用为待加密数据对应编码数据中每个元素生成加密密钥集的方式,来进行待加密数据的加密处理,并在加密处理后,利用待加密数据的加密密钥集来生成对应的身份验证证书;如此,采用不同的加密密钥进行待加密数据的加密处理,可降低被暴力破解的概率,从而提高了加密的安全性;同时,本发明以待加密数据为单位,来生成对应的验证证书对访问用户进行身份验证,可避免传统技术以数据库为单位来进行身份验证所存在的验证通过后可访问全部加密数据的问题;由此,进一步的提高了加密的安全性;基于此,本发明可降低数据被破解的风险,从而大幅提高了加密的安全性,因此,非常适用于大规模应用与推广。
13、在一个可能的设计中,利用密钥生成模型,生成四个混沌密钥序列;
14、其中,根据所述若干混沌密钥序列,确定出所述编码数据中每个元素的加密密钥集,包括:
15、根据所述编码数据的长度,对每个混沌密钥序列进行密钥截取处理,得到四个截取密钥序列,其中,任一截取密钥序列的长度与所述编码数据的长度相同;
16、对于所述编码数据中的第i个元素,将第i个元素与第i-1个元素进行异或运算,并将异或运算的结果与1相加,以得到第i个元素的密钥索引值,其中,当i为1时,所述第i-1个元素为所述编码数据中的最后一个元素;
17、从四个截取密钥序列中,将第k个截取密钥序列中的第i个密钥,作为所述第i个元素的加密密钥,将第k+1个截取密钥序列和第k+2个截取密钥序列中的第i个密钥,依次作为所述第i个元素的第一扰乱密钥和第二扰乱密钥,其中,k为所述密钥索引值;
18、利用所述第i个元素的加密密钥、第一扰乱密钥和第二扰乱密钥,组成所述第i个元素的加密密钥集;
19、将i自加1,并重新将第i个元素与第i-1个元素进行异或运算,直至i等于n时,得到所述编码数据中每个元素的加密密钥集,其中,i的初始值为1,且n为所述编码数据的长度。
20、在一个可能的设计中,根据所述编码数据的长度,对每个混沌密钥序列进行密钥截取处理,得到四个截取密钥序列,包括:
21、对于任一混沌密钥序列,以所述任一混沌密钥序列中的预设位为起点,截取出目标长度的密钥,以组成所述任一混沌密钥序列的初始截取密钥序列,其中,所述目标长度为所述编码数据的长度;
22、将所述初始截取密钥序列中的每一个密钥扩大预设倍数,并进行取整处理,以得到预处理截取密钥序列,其中,所述预设倍数为10的倍数;
23、对所述预处理截取密钥序列进行取绝对值处理,并将取绝对值后的预处理截取密钥序列中的每个密钥与256进行取余运算,以得到多个余数;
24、利用多个余数,组成所述任一混沌密钥序列的截取密钥序列。
25、在一个可能的设计中,任一元素的加密密钥集包括该任一元素对应的加密密钥、第一扰乱密钥和第二扰乱密钥;
26、其中,利用所述编码数据中每个元素的加密密钥集,对所述编码数据中的每个元素进行加密处理,包括:
27、对于所述编码数据中的任一元素,基于所述编码数据的长度以及所述任一元素的加密密钥集中的第一扰乱密钥和第二扰乱密钥,对所述任一元素进行扰乱处理,得到扰乱元素;
28、利用所述任一元素的加密密钥集中的加密密钥,对所述扰乱元素进行加密处理,以在加密后,得到加密后的所述任一元素。
29、在一个可能的设计中,基于所述编码数据的长度以及所述任一元素的加密密钥集中的第一扰乱密钥和第二扰乱密钥,对所述任一元素进行扰乱处理,得到扰乱元素,包括:
30、按照如下公式(1),对所述任一元素进行扰乱处理,得到扰乱元素;
31、(1)
32、上述公式(1)中,表示所述任一元素,表示所述扰乱元素,依次表示所述任一元素的加密密钥集中的第一扰乱密钥和第二扰乱密钥,表示所述编码数据的长度,表示取余运算;
33、相应的,利用所述任一元素的加密密钥集中的加密密钥,对所述扰乱元素进行加密处理,以在加密后,得到加密后的所述任一元素,则包括:
34、将所述任一元素的加密密钥集中的加密密钥,与所述扰乱元素进行异或运算,以在异或运算后,得到加密后的所述任一元素。
35、在一个可能的设计中,根据所述加密数据以及每个元素的加密密钥集,生成所述加密数据的验证证书,包括:
36、基于所述编码数据中每个元素的加密数据集内的加密密钥,生成每个元素的数字签名;
37、判断各个元素的数字签名是否符合预设条件;
38、若是,则利用每个元素的数字签名组成数字签名集,以及利用每个元素的加密密钥,组成校验密钥集;
39、生成所述加密数据的摘要信息,并利用所述数字签名集、所述校验密钥集、所述摘要信息以及所述加密数据,组成所述验证证书。
40、在一个可能的设计中,基于所述编码数据中每个元素的加密数据集内的加密密钥,生成每个元素的数字签名,包括:
41、对于所述编码数据中的任一元素,为所述任一元素生成第一签名预向量和第二签名预向量,其中,所述第一签名预向量和所述第二签名预向量是通过高斯离散分布采样所得到的;
42、利用所述第一签名预向量和所述第二签名预向量,生成所述任一元素的签名向量;
43、基于所述任一元素的签名向量和加密密钥,生成所述任一元素的数字签名。
44、在一个可能的设计中,若任一元素的数字签名不符合预设条件,则所述方法还包括:
45、重新为所述任一元素生成第一签名预向量和第二签名预向量,并利用所述第一签名预向量和所述第二签名预向量,生成所述任一元素的签名向量,以及基于所述任一元素的签名向量和加密密钥,生成所述任一元素的数字签名,直至所述任一元素的数字签名符合预设条件时为止;
46、相应的,利用所述第一签名预向量和所述第二签名预向量,生成所述任一元素的签名向量,则包括:
47、为所述任一元素生成一随机数,并将所述随机数与所述第一签名预向量进行相乘处理,以在相乘处理后,得到中间向量;
48、将所述中间向量与所述第二签名预向量进行求和处理,以在求和处理后,得到所述任一元素的签名向量。
49、第二方面,提供了一种应用于机器学习的数据加密系统,包括:
50、获取单元,用于获取待加密数据以及基于神经网络的密钥生成模型;
51、密钥生成单元,用于利用所述密钥生成模型,生成若干混沌密钥序列;
52、编码单元,用于将所述待加密数据进行编码处理,得到编码数据;
53、密钥生成单元,还用于根据所述若干混沌密钥序列,确定出所述编码数据中每个元素的加密密钥集,其中,任一元素的加密密钥集包括加密密钥,且各个元素的加密密钥互不相同;
54、加密单元,用于利用所述编码数据中每个元素的加密密钥集,对所述编码数据中的每个元素进行加密处理,以在加密处理后,基于加密后的元素组成加密数据;
55、加密单元,用于根据所述加密数据以及每个元素的加密密钥集,生成加密数据的验证证书;
56、存储单元,用于将所述加密数据以及所述验证证书进行关联存储,以在关联存储后,完成对所述待加密数据的加密处理,其中,所述验证证书用于在解密时,对请求解密的用户终端进行身份验证,且在身份验证通过后,允许所述用户终端获取所述加密数据,并进行解密处理。
57、第三方面,提供了一种应用于机器学习的数据加密装置,以装置为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述应用于机器学习的数据加密方法。
58、第四方面,提供了一种存储介质,存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述应用于机器学习的数据加密方法。
59、第五方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如第一方面或第一方面中任意一种可能设计的所述应用于机器学习的数据加密方法。
60、有益效果:
61、(1)本发明采用为待加密数据对应编码数据中每个元素生成加密密钥集的方式,来进行待加密数据的加密处理,并在加密处理后,利用待加密数据的加密密钥集来生成对应的身份验证证书;如此,采用不同的加密密钥进行待加密数据的加密处理,可降低被暴力破解的概率,从而提高了加密的安全性;同时,本发明以待加密数据为单位,来生成对应的验证证书对访问用户进行身份验证,可避免传统技术以数据库为单位来进行身份验证所存在的验证通过后可访问全部加密数据的问题;由此,进一步的提高了加密的安全性;基于此,本发明可降低数据被破解的风险,从而大幅提高了加密的安全性,因此,非常适用于大规模应用与推广。
本文地址:https://www.jishuxx.com/zhuanli/20240919/299829.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表