一种基于隐私保护的数据点乘运算方法与流程

文档序号:35967876发布日期:2023-11-09 08:17阅读:32来源:国知局
一种基于隐私保护的数据点乘运算方法与流程

本发明涉及信息安全,尤其涉及一种基于隐私保护的数据点乘运算方法。


背景技术:

1、近年来,数据呈现出爆炸式增长的趋势,数据量和数据种类变得越来越复杂,大量有价值的客户信息、个人的隐私记录、企业的运营数据不断被挖掘,在这个数据爆发的时代,大数据下的隐私保护问题就显得尤为重要。

2、目前,为了保护用户隐私,一般采用安全多方计算得到计算结果,安全多方计算常采用同态加密算法对明文数据进行加密计算,同态加密是指这样一种加密函数,对明文进行环上的加法和乘法运算再加密,与加密后对密文进行相应的运算,结果是等价的。

3、当采用同态加密算法计算两方各自持有的数据向量的点乘结果时,第一方需要将持有的数据向量同态加密得到加密数据向量并发送给第二方,第二方计算加密数据向量与自身持有的数据向量的点乘结果,并将点乘结果发送给第一方,第一方对点乘结果解密得到明文点乘结果,由于同态加密方式需要消耗大量的计算资源和通信资源,大大影响了计算时间和通信时间。


技术实现思路

1、本发明为了解决上述技术问题,提供了一种基于隐私保护的数据点乘运算方法,其能够快速的计算出双方持有的数据向量的点乘结果,加解密消耗的资源少,大大提高了计算效率和通信效率,且保护了数据隐私。

2、为了解决上述问题,本发明采用以下技术方案予以实现:

3、本发明的一种基于隐私保护的数据点乘运算方法,第一方持有n维的数据向量w,第二方持有n维的数据向量x,数据向量w、数据向量x内的数据都为非负整数,包括以下步骤:

4、s1:第一方生成随机数k和n维的随机数向量s,随机数k为大于0的大整数,将随机数k与随机数向量s的乘积加上数据向量w,得到加密数据向量f,并发送给第二方;

5、s2:第二方将加密数据向量f与数据向量x进行点乘运算,得到结果z,并发送给第一方;

6、s3:第一方将结果z对随机数k进行取余运算,得到结果e,结果e就是数据向量w与数据向量x的点乘结果。

7、在本方案中,第一方将随机数k与随机数向量s的乘积作为加密密钥,将加密密钥与数据向量w相加作为加密方式,实现对数据向量w的加密;将随机数k作为解密密钥,将结果z对解密密钥进行取余运算作为解密方式。加解密过程只涉及简单的四则运算和取余运算,简单且高效,大大提高了计算效率和通信效率,整个过程中双方无法获取到对方的明文数据,保护了双方的数据隐私。

8、作为优选,所述随机数k的位数大于或等于63位。

9、作为优选,所述随机数k大于数据向量w与数据向量x的点乘结果。

10、作为优选,所述随机数向量s内的随机数为正整数。

11、作为优选,所述步骤s1中将随机数k与随机数向量s的乘积加上数据向量w,得到加密数据向量f的公式如下:

12、f=w+k*s=[w1+k*s1,w2+k*s2……wn+k*sn],

13、其中,w=[w1,w2……wn],s=[s1,s2……sn],1≤i≤n,wi表示数据向量w中的第i个数据,si表示随机数向量s中的第i个随机数。

14、作为优选,所述步骤s2中将加密数据向量f与数据向量x进行点乘计算,得到结果z的公式如下:

15、z=f·x=f1*x1+f2*x2+……+fn*xn,

16、其中,f=[f1,f2……fn],x=[x1,x2……xn],fi表示加密数据向量f中的第i个数据,fi=wi+k*si,xi表示数据向量x中的第i个数据。

17、作为优选,所述步骤s3中将结果z对随机数k进行取余运算,得到结果e的公式如下:e=z%k。

18、本发明的一种基于隐私保护的数据点乘运算方法,第一方持有n维的数据向量w,第二方持有n维的数据向量x,数据向量w、数据向量x内的数据都为非负浮点数,包括以下步骤:

19、s1:第一方生成随机数k和n维的随机数向量s,随机数k为大于0的大整数,采用精度控制法将数据向量w内的数据从浮点数转换为整数,得到数据向量w,将随机数k与随机数向量s的乘积加上数据向量w,得到加密数据向量f,并发送给第二方;

20、s2:第二方采用精度控制法将数据向量x内的数据从浮点数转换为整数,得到数据向量x,将加密数据向量f与数据向量x进行点乘运算,得到结果z,并发送给第一方;

21、s3:第一方将结果z对随机数k进行取余运算,得到结果e,采用精度控制法将结果e从整数转换为浮点数,得到结果e,结果e就是数据向量w与数据向量x的点乘结果。

22、在本方案中,由于数据向量内的数据为非负浮点数,所以需要先采用精度控制法将数据向量内的数据从浮点数转换为整数,最后第一方计算出结果e后需要采用精度控制法将整数的结果e再转换为浮点数。

23、作为优选,所述步骤s1中采用精度控制法将数据向量w内的数据从浮点数转换为整数,得到数据向量w的公式如下:

24、w=int(w*10a)=[int(w1*10a),int(w2*10a)……int(wn*10a)],

25、其中,a为正整数,int(g)表示对数值g向下取整得到的整数值,w=[w1,w2……wn],1≤i≤n,wi表示数据向量w中的第i个数据;

26、所述步骤s2中采用精度控制法将数据向量x内的数据从浮点数转换为整数,得到数据向量x的公式如下:

27、x=int(x*10a)=[int(x1*10a),int(x2*10a)……int(xn*10a)],

28、其中,x=[x1,x2……xn],xi表示数据向量x中的第i个数据。

29、作为优选,所述步骤s3中采用精度控制法将结果e从整数转换为浮点数,得到结果e的公式如下:e=e/10a*2。

30、作为优选,所述随机数k大于数据向量w与数据向量x的点乘结果。

31、作为优选,所述随机数向量s内的随机数为正整数。

32、本发明的有益效果是:能够快速的计算出双方持有的数据向量的点乘结果,加解密过程只涉及简单的四则运算和取余运算,消耗的资源少,大大提高了计算效率和通信效率,整个过程中双方无法获取到对方的明文数据,保护了双方的数据隐私。



技术特征:

1.一种基于隐私保护的数据点乘运算方法,第一方持有n维的数据向量w,第二方持有n维的数据向量x,数据向量w、数据向量x内的数据都为非负整数,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于隐私保护的数据点乘运算方法,其特征在于,所述随机数k大于数据向量w与数据向量x的点乘结果。

3.根据权利要求1所述的一种基于隐私保护的数据点乘运算方法,其特征在于,所述随机数向量s内的随机数为正整数。

4.根据权利要求1或2或3所述的一种基于隐私保护的数据点乘运算方法,其特征在于,所述步骤s1中将随机数k与随机数向量s的乘积加上数据向量w,得到加密数据向量f的公式如下:

5.根据权利要求4所述的一种基于隐私保护的数据点乘运算方法,其特征在于,所述步骤s2中将加密数据向量f与数据向量x进行点乘计算,得到结果z的公式如下:

6.一种基于隐私保护的数据点乘运算方法,第一方持有n维的数据向量w,第二方持有n维的数据向量x,数据向量w、数据向量x内的数据都为非负浮点数,其特征在于,包括以下步骤:

7.根据权利要求6所述的一种基于隐私保护的数据点乘运算方法,其特征在于,所述步骤s1中采用精度控制法将数据向量w内的数据从浮点数转换为整数,得到数据向量w的公式如下:

8.根据权利要求7所述的一种基于隐私保护的数据点乘运算方法,其特征在于,所述步骤s3中采用精度控制法将结果e从整数转换为浮点数,得到结果e的公式如下:e=e/10a*2。

9.根据权利要求6或7或8所述的一种基于隐私保护的数据点乘运算方法,其特征在于,所述随机数k大于数据向量w与数据向量x的点乘结果。

10.根据权利要求6或7或8所述的一种基于隐私保护的数据点乘运算方法,其特征在于,所述随机数向量s内的随机数为正整数。


技术总结
本发明公开了一种基于隐私保护的数据点乘运算方法。该方法包括以下步骤:第一方生成随机数K和n维的随机数向量S,随机数K为大于0的大整数,将随机数K与随机数向量S的乘积加上数据向量W,得到加密数据向量F,并发送给第二方;第二方将加密数据向量F与数据向量X进行点乘运算,得到结果Z,并发送给第一方;第一方将结果Z对随机数K进行取余运算,得到结果E,结果E就是数据向量W与数据向量X的点乘结果。本发明能够快速的计算出双方持有的数据向量的点乘结果,加解密消耗的资源少,大大提高了计算效率和通信效率,且保护了数据隐私。

技术研发人员:刘文博,毛仁歆,王良萸,王晓
受保护的技术使用者:蓝象智联(杭州)科技有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1