安全多方计算数据中位数的方法和系统与流程

文档序号:34102990发布日期:2023-05-10 18:31阅读:38来源:国知局
安全多方计算数据中位数的方法和系统与流程

本技术涉及安全多方计算的,尤其是涉及一种安全多方计算数据中位数的方法和系统。


背景技术:

1、安全多方计算(smc)是解决一组互不信任的参与方之间保护隐私的协同计算问题,安全多方计算要确保输入的独立性、计算的正确性,同时不泄露输入值给参与计算的其他成员,主要是针对在无可信第三方的情况下,如何安全地计算一个约定函数的问题,安全多方计算在电子选举、电子投票、电子拍卖、秘密共享、门限签名等场景中有着重要的作用。


技术实现思路

1、本技术提供一种安全多方计算数据中位数的方法和系统,其能够解决安全多方计算数据中位数的问题。

2、本技术目的一是提供一种安全多方计算数据中位数的方法。

3、本技术的上述申请目的一是通过以下技术方案得以实现的:

4、一种安全多方计算数据中位数的方法,设裁判方、参与方和申请计算数据中位数的申请方,申请方的数据记为d0,参与方有k个,k≥1,参与方的数据记为di,其中,i∈i,i={i|i∈n*且i≤k},所述方法包括:

5、裁判方获取申请方发送的需求指令,调取一组素数p和q,并向申请方和参与方发送公钥(n,g),其中,n=pq,g∈g,g={g|g∈n*,g<n2且(l(gλmodn2))-1为整数,其中,λ=lcm(p-1,q-1),lcm(,)是最小公倍数函数};

6、参与方根据随机值ri和接收到的公钥(n,g)对数据di加密得到第一加密结果ci,并发送给申请方,其中,第一加密结果ci为与gmi成比例的数值,mi为di的指定倍a,ri∈h,h={ri|ri∈n*且ri<n};

7、申请方根据随机值r0和接收到的公钥(n,g)对数据d0加密得到第二加密结果c0,将所述第二加密结果c0与第一加密结果ci对比得到k个比值以构造比值序列(f1,f2,f3,…,fk),并将所述比值序列(f1,f2,f3,…,fk)发送至裁判方,其中,第二加密结果c0为与成比例的数值,m0为d0的指定倍a,r0∈h;

8、裁判方根据所述比值序列(f1,f2,f3,…,fk)和解密模型得到解密序列(y1,y2,y3,…,yk),并将解密序列(y1,y2,y3,…,yk)中的值按照从小到大的顺序排列得到数据序列(j1,j2,j3,…,jk)是(1,2,3,…,k)的一种排序,选择数据序列中的中位数作为media发送给申请方;

9、申请方获取到media后,计算k+1方数据的中位数=m0-media。

10、通过采用上述技术方案,在申请方有计算数据中位数的需求时,向裁判方发送需求指令,裁判方获取到需求指令后,建立公钥(n,g),将公钥(n,g)分别发送给申请方和参与方,同时还搭建解密模型。参与方在获取到公钥(n,g)时,对自身持有的数据做加密处理后传输至申请方,而申请方不仅在获取到公钥(n,g)时,对自身持有的数据做加密处理,还根据自身加密后的数据和参与方上传的加密后的数据构造比值序列,再将比值序列上传至裁判方中,裁判方根据比值序列和解密模型得到解密序列,基于解密序列生成数据序列,选择数据序列中的中位数发送至申请方中,申请方对裁判方返回的值再一次解密后得到包括申请方在内的所有参与方中数据的中位数。由此可知,在计算过程中不会泄露任意一方的数据,即可实现每个申请方获取到包括申请方在内的所有参与方中数据的中位数值,解决了安全多方计算数据中位数的问题。

11、本技术在一较佳示例中可以进一步配置为:所述需求指令包括身份信息和目标区域;所述裁判方调取一组素数p和q前,包括:

12、根据所述身份信息确定参数类型;

13、根据所述目标区域确定每一种类型的参数最大值;

14、将每一种类型的参数最大值和从网络中爬取到的已知参数最大值输入费米估算模型中得到最大预估值的平方

15、根据所述最大预估值的平方得到多组素数p和q。

16、通过采用上述技术方案,根据需求指令、已知参数最大值以及费米估算模型得到最大预估值的平方再根据最大预估值的平方得到多组素数p和q,从而便于裁判方任意调取一组素数p和q,也避免了裁判方所调取的一组素数p和q过大而造成裁判方的计算量过大的问题。

17、本技术在一较佳示例中可以进一步配置为:所述a为常数且a≠0。

18、本技术在一较佳示例中可以进一步配置为:所述参与方根据随机值ri和接收到的公钥(n,g)对数据di加密得到第一加密结果ci包括:

19、将数据di放大指定倍a后得到mi;

20、随机选择ri∈h,h={ri|ri∈n*且ri<n};

21、计算

22、通过采用上述技术方案,首先,参与方将数据di放大指定倍a后得到mi,再对mi进行加密得到第一加密结果ci,使得参与方上传的第一加密结果ci被破解的难度增大,从而解决了安全多方计算数据中位数的问题。

23、本技术在一较佳示例中可以进一步配置为:所述申请方根据随机值r0和接收到的公钥(n,g)对数据d0加密得到第二加密结果c0包括:

24、将数据d0放大指定倍a后得到m0;

25、随机选择r0∈h;

26、计算

27、通过采用上述技术方案,同样地,申请方将数据d0放大指定倍a后得到m0,再对m0进行加密得到第二加密结果c0,使得申请方生成的第二加密结果c0被破解的难度增大,从而解决了安全多方计算数据中位数的问题。

28、本技术在一较佳示例中可以进一步配置为:所述裁判方根据所述比值序列(f1,f2,f3,…,fk)和解密模型得到解密序列(y1,y2,y3,…,yk)之前,还需要建立解密模型,包括:

29、基于所述函数搭建函数μ=(l(gλmodn2))-1modn,其中,λ=lcm(p-1,q-1),lcm(,)是最小公倍数函数;

30、基于所述函数μ和所述函数λ得到私钥(λ,μ);

31、基于所述私钥(λ,μ)得到解密模型yi=(l(fiλmodn2)·μ)modn。

32、通过采用上述技术方案,一方面,由解密模型yi=(l(fiλmodn2)·μ)modn可知,n2需要大于m0和mi中的最大值时,解密模型才能成立,即保障了包括申请方在内的所有参与方中数据的中位数值的准确度,但是当n2过大时,裁判方的计算量过大。因此,为了平衡计算所得的中位数值的准确度和计算量,裁判方才需要根据需求指令确定最大预估值的平方再根据最大预估值的平方确定一组素数p和q,再根据n=pq得到n2。另一方面,裁判方在使用解密模型时,并未直接解密出申请方和参数方的数据,所以解密过程也不会泄露任意一方的数据,从而解决了安全多方计算数据中位数的问题。

33、本技术在一较佳示例中可以进一步配置为:所述裁判方选择数据序列中的中位数作为media包括:

34、

35、本技术目的二是提供一种安全多方计算数据中位数的系统。

36、本技术的上述申请目的二是通过以下技术方案得以实现的:

37、一种安全多方计算数据中位数的系统,包括裁判方终端、参与方终端以及申请方终端,所述裁判方终端、参与方终端以及申请方终端三方互联,所述系统用于执行所述方法。

38、综上所述,本技术包括以下至少一种有益技术效果:

39、1.对于参与方来说,参与方将数据di放大指定倍a后得到mi,再对mi进行加密得到第一加密结果ci,使得参与方上传的第一加密结果ci被破解的难度增大,从而解决了安全多方计算数据中位数的问题;

40、2.对于申请方来说,申请方将数据d0放大指定倍a后得到m0,再对m0进行加密得到第二加密结果c0,使得申请方生成的第二加密结果c0被破解的难度增大,从而解决了安全多方计算数据中位数的问题;

41、3.对于裁判方来说,裁判方使用解密模型时,并未直接解密出申请方和参数方的数据,所以解密过程也不会泄露任意一方的数据,从而解决了安全多方计算数据中位数的问题。

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