基于同态加密的隐私数据计算方法及装置与流程

文档序号:32842153发布日期:2023-01-06 21:12阅读:62来源:国知局
基于同态加密的隐私数据计算方法及装置与流程

1.本发明涉及数据安全技术领域,尤其涉及一种基于同态加密的隐私数据计算方法及装置。


背景技术:

2.在实际生活中,当需要进行数据统计时,往往会发现进行数据统计的算法服务系统与真实数据的存储系统并不相同。
3.现有技术通过将需要统计的数据加密后发送给算法服务系统,算法服务系统对接收到的数据进行解密后计算,但是这种方式使得算法服务系统能够获取需要统计的真实数据,从而无法保证数据的安全性,尤其在涉及一些敏感数据或者隐私数据时,甚至可能会导致用户隐私的泄露。可见,现有技术存在一定缺陷,亟待解决。


技术实现要素:

4.本发明所要解决的技术问题在于,提供一种基于同态加密的隐私数据计算方法及装置,能够有利于提高数据传输以及数据处理的安全性。
5.为了解决上述技术问题,本发明第一方面公开了一种基于同态加密的隐私数据计算方法,应用于数据发送端,所述方法包括:
6.获取待加密的目标隐私数据,并根据第一预设密钥生成规则生成第一密钥对,其中,所述第一密钥对包括第一密钥与第二密钥;
7.按照第一预设加密算法,通过所述第一密钥加密所述目标隐私数据,得到所述目标隐私数据对应的目标加密数据;
8.将所述目标加密数据与计算指令发送给数据接收端,所述计算指令用于触发所述数据接收端执行根据预设同态算法对所述目标加密数据进行同态加密计算,得到加密计算结果,并将所述加密计算结果发送给所述数据发送端的操作;
9.按照第一预设解密算法,通过所述第二密钥解密所述加密计算结果,得到所述目标隐私数据对应的目标计算结果。
10.作为一种可选的实施方式,在本发明第一方面中,所述目标隐私数据至少包括员工身份信息以及员工工作信息,所述员工身份信息至少包括员工姓名,所述员工工作信息至少包括员工时薪以及员工工时。
11.作为一种可选的实施方式,在本发明第一方面中,根据预设哈希函数对所述目标隐私数据进行计算,得到第一哈希值;
12.根据第二预设密钥生成规则生成第二密钥对,其中,所述第二密钥对包括第三密钥与第四密钥;
13.按照第二预设加密算法,通过所述第三密钥加密所述第一哈希值,得到所述第一哈希值对应的加密哈希值;
14.将所述加密哈希值与所述第四密钥发送给所述数据接收端,以触发所述数据接收
端执行以下操作:
15.由所述数据接收端根据所述加密哈希值、所述第四密钥以及所述目标加密数据对所述数据接收端接收到的所述目标加密数据在数据传输过程中是否发生篡改进行验证。
16.作为一种可选的实施方式,在本发明第一方面中,所述由所述数据接收端根据所述加密哈希值、所述第四密钥以及所述目标加密数据对所述数据接收端接收到的所述目标加密数据在数据传输过程中是否发生篡改进行验证,包括:
17.由所述数据接收端按照第二预设解密算法,通过所述第四密钥解密所述加密哈希值,得到所述第一哈希值对应的解密哈希值;
18.由所述数据接收端根据预设哈希函数对所述目标加密数据进行计算,得到第二哈希值;
19.由所述数据接收端判断所述第二哈希值与所述解密哈希值是否一致;
20.若判断出所述第二哈希值与所述解密哈希值一致,则由所述数据接收端确定其接收到的所述目标加密数据在数据传输过程中未发生篡改;
21.若判断出所述第二哈希值与所述解密哈希值不一致,则由所述数据接收端确定其接收到的所述目标加密数据在数据传输过程中发生了篡改,并向所述数据发送端发送警示信息,所述警示信息用于告知所述数据发送端所述目标加密数据在数据传输过程中发生了篡改。
22.作为一种可选的实施方式,在本发明第一方面中,所述根据预设密钥生成规则生成第一密钥对,包括:
23.确定第一质数p与第二质数q,其中,p≠q;
24.计算所述第一质数p与所述第二质数q的乘积,得到密钥长度n;
25.根据所述第一质数p、所述第二质数q以及密钥长度n计算第一函数其中,所述第一函数的公式表达为
26.确定第一整数e,其中,且e与互质;
27.根据所述第一整数e与所述第一函数计算第二整数d,其中,所述第二函数d的公式表达为
28.根据所述密钥长度n与所述第一整数e确定第一密钥,并根据所述密钥长度n与所述第二整数d确定第二密钥,其中,所述第一密钥记为(n,e),所述第二密钥记为(n,d);
29.根据所述第一密钥与所述第二密钥生成第一密钥对。
30.作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
31.确定所述目标隐私数据的字符串长度,并判断所述目标隐私数据的字符串长度是否大于所述密钥长度n;
32.若判断出所述目标隐私数据的字符串长度小于等于所述密钥长度n,则触发执行所述的按照第一预设加密算法,通过所述第一密钥加密所述目标隐私数据,得到所述目标隐私数据对应的目标加密数据的操作;
33.若判断出所述目标隐私数据的字符串长度大于所述密钥长度n,则对所述目标隐私数据执行分段加密操作;
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.所述加密模块,还用于按照第二预设加密算法,通过所述第三密钥加密所述第一哈希值,得到所述第一哈希值对应的加密哈希值;
62.所述第一发送模块,还用于将所述加密哈希值与所述第四密钥发送给所述数据接收端,以触发所述数据接收端执行以下操作:
63.由所述数据接收端根据所述加密哈希值、所述第四密钥以及所述目标加密数据对所述数据接收端接收到的所述目标加密数据在数据传输过程中是否发生篡改进行验证。
64.作为一种可选的实施方式,在本发明第三方面中,所述数据接收端根据所述加密哈希值、所述第四密钥以及所述目标加密数据对所述数据接收端接收到的所述目标加密数据在数据传输过程中是否发生篡改进行验证的具体方式为:
65.由所述数据接收端按照第二预设解密算法,通过所述第四密钥解密所述加密哈希值,得到所述第一哈希值对应的解密哈希值;
66.由所述数据接收端根据预设哈希函数对所述目标加密数据进行计算,得到第二哈希值;
67.由所述数据接收端判断所述第二哈希值与所述解密哈希值是否一致;
68.若判断出所述第二哈希值与所述解密哈希值一致,则由所述数据接收端确定其接收到的所述目标加密数据在数据传输过程中未发生篡改;
69.若判断出所述第二哈希值与所述解密哈希值不一致,则由所述数据接收端确定其接收到的所述目标加密数据在数据传输过程中发生了篡改,并向所述数据发送端发送警示信息,所述警示信息用于告知所述数据发送端所述目标加密数据在数据传输过程中发生了篡改。
70.作为一种可选的实施方式,在本发明第三方面中,所述生成模块根据预设密钥生成规则生成第一密钥对的具体方式为:
71.确定第一质数p与第二质数q,其中,p≠q;
72.计算所述第一质数p与所述第二质数q的乘积,得到密钥长度n;
73.根据所述第一质数p、所述第二质数q以及密钥长度n计算第一函数其中,所述第一函数的公式表达为
74.确定第一整数e,其中,且e与互质;
75.根据所述第一整数e与所述第一函数计算第二整数d,其中,所述第二函数d的公式表达为
76.根据所述密钥长度n与所述第一整数e确定第一密钥,并根据所述密钥长度n与所述第二整数d确定第二密钥,其中,所述第一密钥记为(n,e),所述第二密钥记为(n,d);
77.根据所述第一密钥与所述第二密钥生成第一密钥对。
78.作为一种可选的实施方式,在本发明第三方面中,所述装置还包括:
79.确定模块,用于确定所述目标隐私数据的字符串长度;
80.判断模块,用于判断所述目标隐私数据的字符串长度是否大于所述密钥长度n,若所述判断模块判断出所述目标隐私数据的字符串长度小于等于所述密钥长度n,则触发所述加密模块执行所述的按照第一预设加密算法,通过所述第一密钥加密所述目标隐私数据,得到所述目标隐私数据对应的目标加密数据的操作;
81.执行模块,用于若所述判断模块判断出所述目标隐私数据的字符串长度大于所述密钥长度n,则对所述目标隐私数据执行分段加密操作;
82.其中,所述执行模块对所述目标隐私数据执行分段加密操作的具体方式为:
83.按照预设分段规则将所述目标隐私数据拆分为多个子数据段;
84.按照所述第一预设加密算法,通过所述第一密钥分别对每个所述子数据段进行加密,得到每个所述子数据段对应的加密数据段;
85.将每个所述子数据段对应的加密数据段进行拼接,以得到所述目标隐私数据对应的目标加密数据。
86.本发明第四方面公开了另一种基于同态加密的隐私数据计算装置,应用于数据接收端,所述装置包括:
87.接收模块,用于接收来自数据发送端发送的目标加密数据与计算指令,其中,所述目标加密数据是所述数据发送端根据第一预设加密算法,通过第一密钥加密目标隐私数据得到的;
88.第二计算模块,用于响应于所述计算指令,根据预设同态算法对所述目标加密数据进行同态加密计算,得到加密计算结果;
89.第二发送模块,用于将所述加密计算结果发送给所述数据发送端,以触发所述数据发送端执行根据第一预设解密算法,通过第二密钥解密所述加密计算结果,得到所述目标隐私数据对应的目标计算结果的操作。
90.作为一种可选的实施方式,在本发明第四方面中,所述接收模块,还用于接收来自所述数据发送端的加密哈希值与所述第四密钥;
91.所述装置还包括:
92.验证模块,用于根据所述加密哈希值、所述第四密钥以及所述目标加密数据对所述数据接收端接收到的所述目标加密数据在数据传输过程中是否发生篡改进行验证。
93.作为一种可选的实施方式,在本发明第四方面中,所述验证模块根据所述加密哈希值、所述第四密钥以及所述目标加密数据对所述数据接收端接收到的所述目标加密数据在数据传输过程中是否发生篡改进行验证的具体方式为:
94.按照第二预设解密算法,通过所述第四密钥解密所述加密哈希值,得到所述第一哈希值对应的解密哈希值;
95.根据预设哈希函数对所述目标加密数据进行计算,得到第二哈希值;
96.判断所述第二哈希值与所述解密哈希值是否一致;
97.若判断出所述第二哈希值与所述解密哈希值一致,则确定所述数据接收端接收到的所述目标加密数据在数据传输过程中未发生篡改;
98.若判断出所述第二哈希值与所述解密哈希值不一致,则确定其接收到的所述目标加密数据在数据传输过程中发生了篡改,并向所述数据发送端发送警示信息,所述警示信息用于告知所述数据发送端所述目标加密数据在数据传输过程中发生了篡改。
99.本发明第五方面公开了又一种基于同态加密的隐私数据计算装置,所述装置包括:
100.存储有可执行程序代码的存储器;
101.与所述存储器耦合的处理器;
102.所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面或者本发明第二方面公开的基于同态加密的隐私数据计算方法。
103.本发明第六方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面或者本发明第二方面公开的基于同态加密的隐私数据计算方法。
104.与现有技术相比,本发明实施例具有以下有益效果:
105.本发明实施例中,获取待加密的目标隐私数据,并根据第一预设密钥生成规则生成第一密钥对;按照第一预设加密算法,通过第一密钥加密目标隐私数据,得到目标隐私数据对应的目标加密数据;将目标加密数据与计算指令发送给数据接收端,计算指令用于触发数据接收端执行根据预设同态算法对目标加密数据进行同态加密计算,得到加密计算结果,并将加密计算结果发送给数据发送端的操作;按照第一预设解密算法,通过第二密钥解密加密计算结果,得到目标隐私数据对应的目标计算结果。可见,实施本发明能够有利于提高数据传输以及数据处理的安全性。
附图说明
106.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
107.图1是本发明实施例公开的一种基于同态加密的隐私数据计算方法的流程示意图;
108.图2是本发明实施例公开的另一种基于同态加密的隐私数据计算方法的流程示意图;
109.图3是本发明实施例公开的又一种基于同态加密的隐私数据计算方法的流程示意图;
110.图4是本发明实施例公开的一种基于同态加密的隐私数据计算装置的结构示意
图;
111.图5是本发明实施例公开的另一种基于同态加密的隐私数据计算装置的结构示意图;
112.图6是本发明实施例公开的又一种基于同态加密的隐私数据计算装置的结构示意图;
113.图7是本发明实施例公开的又一种基于同态加密的隐私数据计算装置的结构示意图。
具体实施方式
114.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
115.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
116.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
117.本发明公开了一种基于同态加密的隐私数据计算方法及装置,能够有利于提高数据传输以及数据处理的安全性。以下分别进行详细说明。
118.实施例一
119.请参阅图1,图1是本发明实施例公开的一种基于同态加密的隐私数据计算方法的流程示意图。其中,图1所描述的基于同态加密的隐私数据计算方法可以应用于基于同态加密的隐私数据计算装置中,也可以应用于存储或计算隐私数据的云端服务器或本地服务器中,本发明实施例不做限定。如图1所示,该基于同态加密的隐私数据计算方法应用于数据发送端,可以包括以下操作:
120.101、获取待加密的目标隐私数据。
121.本发明实施例中,目标隐私数据是指需要进行处理的保密数据。举例来说,当需要计算某个项目的人工成本时,计算人工成本需要用到的员工数据则可以是目标隐私数据,这些员工数据需要进行保密,不能让任何系统获取。
122.本发明实施例中,可选的,目标隐私数据可以为单个或多个,可选的,目标隐私数据可以为整型数据或浮点型数据。
123.102、根据第一预设密钥生成规则生成第一密钥对。
124.本发明实施例中,第一密钥对包括第一密钥与第二密钥,可选的,第一密钥用于加密目标隐私数据,第二密钥用于解密数据接收端通过同态加密计算得到的加密计算结果。
125.本发明实施例中,第一密钥对可以通过rsa算法生成,也可以通过elgamal算法生成,本发明是实施例不做限定。可选的,通过elgamal算法生成第一密钥对的过程可以包括:(1)确定第三质数t,其中,t-1存在大素数因子;(2)确定出模t的原根α;(3)确定第三整数f为第二密钥,并对第三整数f执行保密操作,其中,1<f<t-1;(4)根据第三质数t、原根α以及第三整数f计算第一密钥g,其中,g=α
f(modt)

126.103、按照第一预设加密算法,通过第一密钥加密目标隐私数据,得到目标隐私数据对应的目标加密数据。
127.本发明实施例中,可选的,目标隐私数据与目标加密数据一一对应。
128.本发明实施例中,可选的,通过rsa算法生成第一密钥对之后,通过第一密钥加密目标隐私数据可以包括:(1)确定第四整数r,其中,0≤r<n;(2)根据目标隐私数据m、密钥长度n、第一整数e、第四整数r计算目标加密数据c,其中,c=e
mrn
mod n2。
129.本发明实施例中,可选的,通过elgamal算法生成第一密钥对之后,通过第一密钥加密目标隐私数据可以包括:(1)确定第四整数k,其中,1<k<t-1;(2)根据第三质数t、第四整数k以及第一密钥g计算目标数值u,其中,目标数值u的公式表达为u=g
k(m0dt)
;(3)根据第三质数t、第四整数k以及原根α计算第一目标加密数据c1,其中,c1=α
k(modt)
;(4)根据目标数值u、第三质数t以及目标隐私数据m计算第二目标加密数据c2,其中,c2=um
(modt)
;(5)根据第一目标加密数据与第二目标加密数据确定目标加密数据,其中,目标加密数据为(c1,c2)。
130.104、将目标加密数据与计算指令发送给数据接收端。
131.本发明实施例中,计算指令用于触发数据接收端执行根据预设同态算法对目标加密数据进行同态加密计算,得到加密计算结果,并将加密计算结果发送给数据发送端的操作。
132.本发明实施例中,可选的,预设同态算法可以包括paillier算法、rsa算法、elgamal算法、bgv算法等等,本发明实施例不做限定。可选的,同态加密计算的方式可以包括加法同态、乘法同态、混合乘法同态、减法同态、除法同态、代数同态、算术同态中的至少一种,其中,不同计算方式的表达如下:
133.加法同态:或者成立,并且不泄漏x和y。
134.乘法同态:e(x
×
y)=e(x)e(y)或者xy=d(e(x)e(y))成立,并且不泄漏x和y。
135.混合乘法同态:e(x
×
y)=e(x)y或者xy=d(e(x)y)成立,并且不泄漏x。
136.减法同态:或者成立,并且不泄漏x和y。
137.除法同态:或者成立,并且不泄漏x和y。
138.代数同态:如果e既是加法同态又是乘法同态。
139.算术同态:如果e同时为加法同态、减法同态、乘法同态和除法同态。
140.105、按照第一预设解密算法,通过第二密钥解密加密计算结果,得到目标隐私数据对应的目标计算结果。
141.可见,实施图1所描述的基于同态加密的隐私数据计算方法能够根据生成的第一密钥对中的第一密钥加密目标隐私数据,并将得到的目标加密数据与计算指令发送给数据接收端,以触发数据接收端根据计算指令执行根据对目标加密数据进行同态加密计算,并将得到的加密计算结果发送给数据发送端的操作,数据发送端通过第二密钥解密接收到的加密计算结果,得到目标隐私数据对应的目标计算结果,能够有利于提高数据传输以及数据处理的安全性。
142.在一个可选的实施例中,目标隐私数据至少包括员工身份信息以及员工工作信息,员工身份信息至少包括员工姓名,员工工作信息至少包括员工时薪以及员工工时。
143.可见,实施该可选的实施例能够使得数据接收端无法得到员工姓名、员工时薪以及员工工时等隐私数据的同时能够得出加密计算结果,从而有利于提高员工隐私数据保护的有效性,进而提高数据的安全性。
144.实施例二
145.请参阅图2,图2是本发明实施例公开的另一种基于同态加密的隐私数据计算方法的流程示意图。其中,图2所描述的基于同态加密的隐私数据计算方法可以应用于基于同态加密的隐私数据计算装置中,也可以应用于存储或计算隐私数据的云端服务器或本地服务器中,本发明实施例不做限定。如图2所示,在另一个可选的实施例中,方法还包括:
146.201、获取待加密的目标隐私数据。
147.202、根据预设哈希函数对目标隐私数据进行计算,得到第一哈希值。
148.本发明实施例中,预设哈希函数可以是md5,sha-1,sha-2、dsa-sha1,rsa-sha1等等,本发明实施例不做限定。可选的,若采用md5对目标隐私数据进行计算,则通过512位分组来处理目标隐私数据,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,则生成四个32位分组,最后将四个32位分组联合后输出固定长度为128位的散列,以保证信息传输完整一致。
149.203、根据第二预设密钥生成规则生成第二密钥对。
150.本发明实施例中,第二密钥对包括第三密钥与第四密钥,可选的,第三密钥用于加密第一哈希值,第四密钥用于解密加密第一哈希值之后得到的加密哈希值。
151.本发明实施例中,本发明实施例中,第二密钥对可以通过rsa算法生成,也可以通过elgamal算法生成,本发明是实施例不做限定。第二密钥对的生成过程可以参照步骤102中的详细描述,在此不再赘述。
152.204、按照第二预设加密算法,通过第三密钥加密第一哈希值,得到第一哈希值对应的加密哈希值。
153.本发明实施例中,加密第一哈希值的过程可以参照步骤103中的描述,在此不再赘述。可选的,通过第三密钥加密第一哈希值的作用是通过第三密钥对目标隐私数据进行签名。
154.本发明实施例中,作为一种可选的实施方式,通过第三密钥加密第一哈希值,包括:
155.根据预设的数字签名算法,使用第三密钥对第一哈希值进行签名,得到签名后的第一哈希值;
156.将签名后的第一哈希值转换为预设编码格式的字符串,并将该预设编码格式的字
符串确定为加密哈希值。
157.本可选的实施方式中,可选的,数字签名算法可以包括rsa、dsa、ecdsa等等,本发明实施例不做限定。可选的,预设编码格式可以为base64。
158.可见,实施该可选的实施方式可以通过预设的数字签名算法使用第三密钥对第一哈希值进行签名,并将签名后的第一哈希值转换为预设编码格式的字符串,从而能够得到加密后的哈希值。
159.205、将加密哈希值与第四密钥发送给数据接收端,以触发数据接收端执行以下操作:
160.由数据接收端根据加密哈希值、第四密钥以及目标加密数据对数据接收端接收到的目标加密数据在数据传输过程中是否发生篡改进行验证。
161.可见,实施图2所描述的基于同态加密的隐私数据计算方法能够通过第三密钥加密目标隐私数据对应的第一哈希值,得到加密哈希值,从而能够使得数据接收端根据加密哈希值、第四密钥以及目标加密数据对目标加密数据在传输过程中是否发生篡改进行验证,进而提高目标隐私数据的传输安全性。
162.在又一个可选的实施例中,由数据接收端根据加密哈希值、第四密钥以及目标加密数据对数据接收端接收到的目标加密数据在数据传输过程中是否发生篡改进行验证,包括:
163.由数据接收端按照第二预设解密算法,通过第四密钥解密加密哈希值,得到第一哈希值对应的解密哈希值;
164.由数据接收端根据预设哈希函数对目标加密数据进行计算,得到第二哈希值;
165.由数据接收端判断第二哈希值与解密哈希值是否一致;
166.若判断出数据接收端判断第二哈希值与解密哈希值一致,则由数据接收端确定其接收到的目标加密数据在数据传输过程中未发生篡改;
167.若判断出数据接收端判断第二哈希值与解密哈希值不一致,则由数据接收端确定其接收到的目标加密数据在数据传输过程中发生了篡改,并向数据发送端发送警示信息,警示信息用于告知数据发送端目标加密数据在数据传输过程中发生了篡改。
168.本发明实施例中,可选的,对目标加密数据进行计算所依据的预设目标哈希函数与对目标隐私数据进行计算所依据的预设哈希函数为相同的哈希函数。
169.可见,实施该可选的实施例能够通过数据接收端使用第四密钥解密加密哈希值,得到解密哈希值,并将该解密哈希值与对目标加密数据进行哈希计算得到的第二哈希值进行对比,二者一致时,则确定目标加密数据在数据传输过程中未发生篡改,二者不一致时,则确定目标加密数据在数据传输过程中发生了篡改,并向数据发送端发送警示信息,以告知数据发送端目标加密数据被篡改的信息,从而提高目标隐私数据的传输安全性,以及提高发现目标隐私数据发生篡改的及时性,进而有利于数据发送端及时采取后续控制措施。
170.在又一个可选的实施例中,根据预设密钥生成规则生成第一密钥对,包括:
171.确定第一质数p与第二质数q,其中,p≠q;
172.计算第一质数p与第二质数q的乘积,得到密钥长度n;
173.根据第一质数p、第二质数q以及密钥长度n计算第一函数其中,第一函数
的公式表达为
174.确定第一整数e,其中,且e与互质;
175.根据第一整数e与第一函数计算第二整数d,其中,第二函数d的公式表达为
176.根据密钥长度n与第一整数e确定第一密钥,并根据密钥长度n与第二整数d确定第二密钥,其中,第一密钥记为(n,e),第二密钥记为(n,d);
177.根据第一密钥与第二密钥生成第一密钥对。
178.本发明实施例中,可选的,第一质数p与第二质数q的值越大,最后生成的密钥就越难以破解。可选的,目标隐私数据m必须小于密钥长度n。
179.本发明实施例中,可选的,第一函数可以为欧拉函数。可选的,第二整数d为第一整数e对于第一函数的模反元素,即存在一个整数d,使得ed被除的余数为1。
180.可见,实施该可选的实施例能够通过确定出的第一质数p与第二质数q得到密钥长度n,并根据第一质数p、第二质数q以及密钥长度n计算第一函数然后根据确定出的第一整数e与第一函数计算第二整数d,从而确定出第一密钥(n,e)与第二密钥(n,d),从而能够提高数据的保密性,进而有利于提高数据传输以及数据处理的安全性。
181.在又一个可选的实施例中,方法还包括:
182.确定目标隐私数据的字符串长度,并判断目标隐私数据的字符串长度是否大于密钥长度n;
183.若判断出目标隐私数据的字符串长度小于等于密钥长度n,则触发执行按照第一预设加密算法,通过第一密钥加密目标隐私数据,得到目标隐私数据对应的目标加密数据的操作;
184.若判断出目标隐私数据的字符串长度大于密钥长度n,则对目标隐私数据执行分段加密操作;
185.其中,对目标隐私数据执行分段加密操作,包括:
186.按照预设分段规则将目标隐私数据拆分为多个子数据段;
187.按照第一预设加密算法,通过第一密钥分别对每个子数据段进行加密,得到每个子数据段对应的加密数据段;
188.将每个子数据段对应的加密数据段进行拼接,以得到目标隐私数据对应的目标加密数据。
189.本发明实施例中,作为一种可选的实施方式,在按照预设分段规则将目标隐私数据拆分为多个子数据段之后,该方法还包括:
190.根据目标隐私数据的内容,确定拆分得到的每个子数据段在目标隐私数据中的位置,并根据每个子数据段在目标隐私数据中的位置确定该子数据段对应的顺序标签,其中,该顺序标签用于表示每个子数据段在目标隐私数据中的排列顺序。
191.可见,实施该可选的实施方式能够在将目标隐私数据拆分为多个子数据段之后,
确定拆分得到的每个数据段在目标隐私数据中的排列顺序确定其顺序标签,从而能够有利于保证目标隐私数据的一致性与完整性,避免因数据拆分而破坏目标隐私数据的内容。
192.作为一种可选的实施方式,将每个子数据段对应的加密数据段进行拼接,以得到目标隐私数据对应的目标加密数据,包括:
193.根据每个子数据段对应的顺序标签将每个子数据段对应的加密数据段进行拼接,以得到目标隐私数据对应的目标加密数据,其中,每个子数据段之间的拼接顺序与每个子数据段在目标隐私数据中的排列数据相同。
194.可见,实施本可选的实施方式能够在将目标隐私数据拆分为多个子数据段并得到每个子数据段对应的加密数据段之后,根据每个数据段的顺序标签进行加密数据段的拼接,从而能够有利于保证目标隐私数据的一致性与完整性,以及能够有利于保持目标隐私数据与目标加密数据在数据内容顺序上的一致性。
195.可见,实施该可选的实施例能够在目标隐私数据的字符串长度大于密钥长度时对目标隐私数据执行分段加密操作,从而保证对任意长度的目标隐私数据都能执行数据加密操作,进而能够有利于后续数据接收端进行同态加密计算,以提高数据处理的安全性。
196.实施例三
197.请参阅图3,图3是本发明实施例公开的又一种基于同态加密的隐私数据计算方法的流程示意图。其中,图3所描述的基于同态加密的隐私数据计算方法可以应用于基于同态加密的隐私数据计算装置中,也可以应用于存储或计算隐私数据的云端服务器或本地服务器中,本发明实施例不做限定。如图3所示,该方法应用于数据接收端,包括:
198.301、接收来自数据发送端发送的目标加密数据与计算指令。
199.本发明实施例中,目标加密数据是数据发送端根据第一预设加密算法,通过第一密钥加密目标隐私数据得到的。
200.302、响应于计算指令,根据预设同态算法对目标加密数据进行同态加密计算,得到加密计算结果。
201.303、将加密计算结果发送给数据发送端,以触发数据发送端执行根据第一预设解密算法,通过第二密钥解密加密计算结果,得到目标隐私数据对应的目标计算结果的操作。
202.本发明实施例中,针对步骤301-步骤303的其他描述,请参照实施例一中针对步骤101-步骤105的详细描述,本发明实施例不再赘述。
203.可见,实施图3所描述的基于同态加密的隐私数据计算方法能够有利于提高数据传输以及数据处理的安全性。
204.在一个可选的实施例中,该基于同态加密的隐私数据计算方法还包括:
205.接收来自数据发送端的加密哈希值与第四密钥;
206.根据加密哈希值、第四密钥以及目标加密数据对数据接收端接收到的目标加密数据在数据传输过程中是否发生篡改进行验证。
207.本发明实施例中,相关其他描述,请参照实施例二中的相关详细描述,本发明实施例不再赘述。
208.可见,实施该可选的实施例能够使得数据接收端根据加密哈希值、第四密钥以及目标加密数据对目标加密数据在传输过程中是否发生篡改进行验证,进而提高目标隐私数据的传输安全性。
209.在另一个可选的实施例中,根据加密哈希值、第四密钥以及目标加密数据对数据接收端接收到的目标加密数据在数据传输过程中是否发生篡改进行验证,包括:
210.按照第二预设解密算法,通过第四密钥解密加密哈希值,得到第一哈希值对应的解密哈希值;
211.根据预设哈希函数对目标加密数据进行计算,得到第二哈希值;
212.判断第二哈希值与解密哈希值是否一致;
213.若判断出第二哈希值与解密哈希值一致,则确定数据接收端接收到的目标加密数据在数据传输过程中未发生篡改;
214.若判断出第二哈希值与解密哈希值不一致,则确定其接收到的目标加密数据在数据传输过程中发生了篡改,并向数据发送端发送警示信息,警示信息用于告知数据发送端目标加密数据在数据传输过程中发生了篡改。
215.本发明实施例中,相关其他描述,请参照实施例二中的相关详细描述,本发明实施例不再赘述。
216.可见,实施该可选的实施例能够通过对比解密哈希值与对目标加密数据进行哈希计算得到的第二哈希值确定目标加密数据在数据传输过程中是否发生篡改,从而提高目标隐私数据的传输安全性,以及提高发现目标隐私数据发生篡改的及时性,进而有利于数据发送端及时采取后续控制措施。
217.实施例四
218.请参阅图4,图4是本发明实施例公开的一种基于同态加密的隐私数据计算装置的结构示意图。如图4所示,该基于同态加密的隐私数据计算装置可以包括:
219.获取模块401,用于获取待加密的目标隐私数据;
220.生成模块402,用于根据第一预设密钥生成规则生成第一密钥对,其中,第一密钥对包括第一密钥与第二密钥;
221.加密模块403,用于按照第一预设加密算法,通过第一密钥加密目标隐私数据,得到目标隐私数据对应的目标加密数据;
222.第一发送模块404,用于将目标加密数据与计算指令发送给数据接收端,计算指令用于触发数据接收端执行根据预设同态算法对目标加密数据进行同态加密计算,得到加密计算结果,并将加密计算结果发送给数据发送端的操作;
223.解密模块405,用于按照第一预设解密算法,通过第二密钥解密加密计算结果,得到目标隐私数据对应的目标计算结果。
224.可见,实施图4所描述的基于同态加密的隐私数据计算装置能够根据生成的第一密钥对中的第一密钥加密目标隐私数据,并将得到的目标加密数据与计算指令发送给数据接收端,以触发数据接收端根据计算指令执行根据对目标加密数据进行同态加密计算,并将得到的加密计算结果发送给数据发送端的操作,数据发送端通过第二密钥解密接收到的加密计算结果,得到目标隐私数据对应的目标计算结果,能够有利于提高数据传输以及数据处理的安全性。
225.在一个可选的实施例中,目标隐私数据至少包括员工身份信息以及员工工作信息,员工身份信息至少包括员工姓名,员工工作信息至少包括员工时薪以及员工工时。
226.可见,实施本发明实施例所描述的基于同态加密的隐私数据计算装置能够使得数
据接收端无法得到员工姓名、员工时薪以及员工工时等隐私数据的同时能够得出加密计算结果,从而有利于提高员工隐私数据保护的有效性,进而提高数据的安全性。
227.请参阅图5,图5是本发明实施例公开的另一种基于同态加密的隐私数据计算装置的结构示意图。如图5所示,在另一个可选的实施例中,该装置还包括:
228.第一计算模块406,用于根据预设哈希函数对目标隐私数据进行计算,得到第一哈希值;
229.生成模块402,还用于根据第二预设密钥生成规则生成第二密钥对,其中,第二密钥对包括第三密钥与第四密钥;
230.加密模块403,还用于按照第二预设加密算法,通过第三密钥加密第一哈希值,得到第一哈希值对应的加密哈希值;
231.第一发送模块404,还用于将加密哈希值与第四密钥发送给数据接收端,以触发数据接收端执行以下操作:
232.由数据接收端根据加密哈希值、第四密钥以及目标加密数据对数据接收端接收到的目标加密数据在数据传输过程中是否发生篡改进行验证。
233.可见,实施图5所描述的基于同态加密的隐私数据计算装置通过第三密钥加密目标隐私数据对应的第一哈希值,得到加密哈希值,从而能够使得数据接收端根据加密哈希值、第四密钥以及目标加密数据对目标加密数据在传输过程中是否发生篡改进行验证,进而提高目标隐私数据的传输安全性。
234.在又一个可选的实施例中,数据接收端根据加密哈希值、第四密钥以及目标加密数据对数据接收端接收到的目标加密数据在数据传输过程中是否发生篡改进行验证的具体方式为:
235.由数据接收端按照第二预设解密算法,通过第四密钥解密加密哈希值,得到第一哈希值对应的解密哈希值;
236.由数据接收端根据预设哈希函数对目标加密数据进行计算,得到第二哈希值;
237.由数据接收端判断第二哈希值与解密哈希值是否一致;
238.若判断出数据接收端判断第二哈希值与解密哈希值一致,则由数据接收端确定其接收到的目标加密数据在数据传输过程中未发生篡改;
239.若判断出数据接收端判断第二哈希值与解密哈希值不一致,则由数据接收端确定其接收到的目标加密数据在数据传输过程中发生了篡改,并向数据发送端发送警示信息,警示信息用于告知数据发送端目标加密数据在数据传输过程中发生了篡改。
240.可见,实施本发明实施例所描述的基于同态加密的隐私数据计算装置能够通过数据接收端使用第四密钥解密加密哈希值,得到解密哈希值,并将该解密哈希值与对目标加密数据进行哈希计算得到的第二哈希值进行对比,二者一致时,则确定目标加密数据在数据传输过程中未发生篡改,二者不一致时,则确定目标加密数据在数据传输过程中发生了篡改,并向数据发送端发送警示信息,以告知数据发送端目标加密数据被篡改的信息,从而提高目标隐私数据的传输安全性,以及提高发现目标隐私数据发生篡改的及时性,进而有利于数据发送端及时采取后续控制措施。
241.在又一个可选的实施例中,生成模块402根据预设密钥生成规则生成第一密钥对的具体方式为:
242.确定第一质数p与第二质数q,其中,p≠q;
243.计算第一质数p与第二质数q的乘积,得到密钥长度n;
244.根据第一质数p、第二质数q以及密钥长度n计算第一函数其中,第一函数的公式表达为
245.确定第一整数e,其中,且e与互质;
246.根据第一整数e与第一函数计算第二整数d,其中,第二函数d的公式表达为
247.根据密钥长度n与第一整数e确定第一密钥,并根据密钥长度n与第二整数d确定第二密钥,其中,第一密钥记为(n,e),第二密钥记为(n,d);
248.根据第一密钥与第二密钥生成第一密钥对。
249.可见,实施本发明实施例所描述的基于同态加密的隐私数据计算装置能够通过确定出的第一质数p与第二质数q得到密钥长度n,并根据第一质数p、第二质数q以及密钥长度n计算第一函数,然后根据确定出的第一整数e与第一函数计算第二整数d,从而确定出第一密钥(n,e)与第二密钥(n,d),从而能够提高数据的保密性,进而有利于提高数据传输以及数据处理的安全性。
250.请参阅图5,图5是本发明实施例公开的另一种基于同态加密的隐私数据计算装置的结构示意图。如图5所示,在又一个可选的实施例中,该装置还包括:
251.确定模块407,用于确定目标隐私数据的字符串长度;
252.判断模块408,用于判断目标隐私数据的字符串长度是否大于密钥长度n,若判断模块408判断出目标隐私数据的字符串长度小于等于密钥长度n,则触发加密模块执行的按照第一预设加密算法,通过第一密钥加密目标隐私数据,得到目标隐私数据对应的目标加密数据的操作;
253.执行模块409,用于若判断模块408判断出目标隐私数据的字符串长度大于密钥长度n,则对目标隐私数据执行分段加密操作;
254.其中,执行模块409对目标隐私数据执行分段加密操作的具体方式为:
255.按照预设分段规则将目标隐私数据拆分为多个子数据段;
256.按照第一预设加密算法,通过第一密钥分别对每个子数据段进行加密,得到每个子数据段对应的加密数据段;
257.将每个子数据段对应的加密数据段进行拼接,以得到目标隐私数据对应的目标加密数据。
258.可见,实施本发明实施例所描述的基于同态加密的隐私数据计算装置能够在目标隐私数据的字符串长度大于密钥长度时对目标隐私数据执行分段加密操作,从而保证对任意长度的目标隐私数据都能执行数据加密操作,进而能够有利于后续数据接收端进行同态加密计算,以提高数据处理的安全性。
259.实施例五
260.请参阅图6,图6是本发明实施例公开的又一种基于同态加密的隐私数据计算装置的结构示意图。如图6所示,该基于同态加密的隐私数据计算装置可以包括:
261.接收模块601,用于接收来自数据发送端发送的目标加密数据与计算指令,其中,目标加密数据是数据发送端根据第一预设加密算法,通过第一密钥加密目标隐私数据得到的;
262.第二计算模块602,用于响应于计算指令,根据预设同态算法对目标加密数据进行同态加密计算,得到加密计算结果;
263.第二发送模块603,用于将加密计算结果发送给数据发送端,以触发数据发送端执行根据第一预设解密算法,通过第二密钥解密加密计算结果,得到目标隐私数据对应的目标计算结果的操作。
264.可见,实施图6所描述的基于同态加密的隐私数据计算装置能够有利于提高数据传输以及数据处理的安全性。
265.在一个可选的实施例中,接收模块,还用于接收来自数据发送端的加密哈希值与第四密钥;
266.该基于同态加密的隐私数据计算装置还包括:
267.验证模块,用于根据加密哈希值、第四密钥以及目标加密数据对数据接收端接收到的目标加密数据在数据传输过程中是否发生篡改进行验证。
268.可见,实施该可选的实施例所描述的基于同态加密的隐私数据计算装置能够使得数据接收端根据加密哈希值、第四密钥以及目标加密数据对目标加密数据在传输过程中是否发生篡改进行验证,进而提高目标隐私数据的传输安全性。
269.在另一个可选的实施例中,验证模块根据加密哈希值、第四密钥以及目标加密数据对数据接收端接收到的目标加密数据在数据传输过程中是否发生篡改进行验证的具体方式为:
270.按照第二预设解密算法,通过第四密钥解密加密哈希值,得到第一哈希值对应的解密哈希值;
271.根据预设哈希函数对目标加密数据进行计算,得到第二哈希值;
272.判断第二哈希值与解密哈希值是否一致;
273.若判断出第二哈希值与解密哈希值一致,则确定数据接收端接收到的目标加密数据在数据传输过程中未发生篡改;
274.若判断出第二哈希值与解密哈希值不一致,则确定其接收到的目标加密数据在数据传输过程中发生了篡改,并向数据发送端发送警示信息,警示信息用于告知数据发送端目标加密数据在数据传输过程中发生了篡改。
275.可见,实施该可选的实施例所描述的基于同态加密的隐私数据计算装置能够通过对比解密哈希值与对目标加密数据进行哈希计算得到的第二哈希值确定目标加密数据在数据传输过程中是否发生篡改,从而提高目标隐私数据的传输安全性,以及提高发现目标隐私数据发生篡改的及时性,进而有利于数据发送端及时采取后续控制措施。
276.实施例六
277.请参阅图7,图7是本发明实施例公开的又一种基于同态加密的隐私数据计算装置的结构示意图。如图7所示,该基于同态加密的隐私数据计算装置可以包括:
278.存储有可执行程序代码的存储器701;
279.与存储器701耦合的处理器702;
280.处理器702调用存储器701中存储的可执行程序代码,执行本发明实施例一或实施例二描述的基于同态加密的隐私数据计算方法中的步骤或执行本发明实施例三描述的基于同态加密的隐私数据计算方法中的步骤。
281.实施例七
282.本发明实施例公开了一种计算机存储介质,该计算机存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一或实施例二描述的基于同态加密的隐私数据计算方法中的步骤或执行本发明实施例三描述的基于同态加密的隐私数据计算方法中的步骤。
283.实施例八
284.本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二中所描述的基于同态加密的隐私数据计算方法中的步骤或执行本发明实施例三描述的基于同态加密的隐私数据计算方法中的步骤。
285.以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
286.通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(read-only memory,rom)、随机存储器(random access memory,ram)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、一次可编程只读存储器(one-time programmable read-only memory,otprom)、电子抹除式可复写只读存储器(electrically-erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
287.最后应说明的是:本发明实施例公开的一种基于同态加密的隐私数据计算方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1