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

文档序号:35280674发布日期:2023-09-01 00:22阅读:32来源:国知局
安全多方计算数据四分位距的方法和系统与流程

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


背景技术:

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

2、因此,如何在不公开任何一个参与方的情况下,计算所有参与方的数据的四分位距是亟需解决的问题。


技术实现思路

1、本技术提供一种安全多方计算数据四分位距的方法和系统,具有安全计算多方数据四分位距的特点。

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

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

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

5、所述裁判方获取申请方发送的请求指令,所述裁判方用于调取一组素数p和q,根据素数p和q确定公钥(n,g),n=pq,g∈g,g={g|g∈n*,g<n2且(l(gλmodn2))-1}为整数,其中,λ=lcm(p-1,q-1),lcm(,)是最小公倍数函数},所述裁判方将所述公钥(n,g)分别发送给申请方和参与方;所述裁判方还用于根据所述请求指令和估算规则确定数值a;参与方采用数值a对数据di进行加密生成加密值mi,再根据随机值ri和接收到的公钥(n,g)对加密值mi进行加密得到第一加密结果ci,并发送第一加密结果ci给申请方,ri∈h,h={ri|ri∈n*且ri<n};

6、申请方采用数值a对数据d0进行加密生成加密值m0,再根据随机值r0和接收到的公钥(n,g)对加密值m0进行加密得到第二加密结果c0,r0∈h;所述申请方还用于在接收到所述参与方发送的第一加密结果ci时,根据第二加密结果c0和第一加密结果ci构造k方比值序列(f1,…,fk),并发送给裁判方;

7、所述裁判方根据所述比值序列(f1,…,fk)和解密模型得到解密序列(y1,…,yk),设定y0=0,将y0放入解密序列(y1,…,yk)得到新的解密序列(y0,y1,…,yk),将新的解密序列(y0,y1,…,yk)中的解密值yi按照升序方式排列得到排序序列(s0,s1,…,sk),所述si表示第i个参与方的数据di在k+1方数据中的排序序号;根据所述排序序列(s0,s1,…,sk)确定新的解密序列(y0,y1,…,yk)中的第一解密值y′和第二解密值,根据第一解密值y′和第二解密值计算得到目标四分位距d′=-y′,发送所述目标四分位距d′给申请方;

8、所述申请方获取到所述目标四分位距d′时,计算实际四分位距d″=d′/a。

9、本技术在一较佳示例中可以进一步配置为:所述裁判方还用于根据所述请求指令和估算规则确定数值a包括:

10、所述请求指令包括数据类型;

11、根据所述数据类型在数据库中匹配与数据类型对应的w组数组,所述数组中包括多个数值,其中,w∈w,w={w|w∈n*且w≥2};

12、计算每一组数组中任意两个数值的差值;

13、提取w组数组的差值最小值对应的精度值构建精度值序列(t1,…,tw),所述差值最小值取绝对值;

14、获取所述精度值序列(t1,…,tw)中的第一众数、第一众数对应的第一占比值、第二众数以及第二众数对应的第二占比值,所述第一众数是指精度值序列(t1,…,tw)中占比值最高的精度值,所述第二众数是指第二占比值仅小于第一占比值的精度值;

15、当所述第一占比值达到第一预设值时,将所述第一众数作为目标数值t;

16、当所述第一占比值低于第一预设值时,判断第一占比值和第二占比值之和是否大于第一预设值;

17、若是,则将所述第一众数和第二众数的平均值作为目标数值t;

18、若否,将精度值序列(t1,…,tw)中精度值对应的占比值高于第二预设值的精度值作为目标精度值;

19、将目标精度值的平均值作为目标数值t;

20、计算数值a=10t。

21、本技术在一较佳示例中可以进一步配置为:所述参与方采用数值a对数据di进行加密生成加密值mi包括:参与方将数据di扩大a倍后,取整数部分得到加密值mi;

22、所述申请方采用数值a对数据d0进行加密生成加密值m0包括:申请方将数据d0扩大a倍后,取整数部分得到加密值m0。

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

24、本技术在一较佳示例中可以进一步配置为:所述根据所述排序序列(s0,s1,…,sk)确定新的解密序列(y0,y1,…,yk)中的第一解密值y′和第二解密值包括:

25、计算和其中,函数[x]表示取数值x的整数部分;

26、当k+1≤γ时,所述第一解密值y′对应的序列号为s0、第二解密值对应的序列号为sk;

27、当k+1>γ时,计算k和当:

28、k和均为偶数时,第一解密值y′对应的序列号为第二解密值对应的序列号为k为偶数,为奇数时,第一解密值y′对应序列号组和第二解密值对应序列号组和

29、k为奇数时,将所述排序序列(s0,s1,…,sk)划分为第一序列和第二序列并计算当:

30、为偶数时,第一解密值y′对应的序列号为第二解密值对应的序列号为

31、为奇数时,第一解密值y′对应序列号组和第二解密值对应序列号组和

32、本技术在一较佳示例中可以进一步配置为:当所述第一解密值y′对应序列号时,所述第一解密值y′等于序列号表示的解密值;

33、当所述第二解密值对应序列号时,所述第二解密值等于序列号表示的解密值。

34、本技术在一较佳示例中可以进一步配置为:当所述第一解密值y′对应序列号组时,所述第一解密值y′等于序列号组表示的解密值的均值;

35、当所述第二解密值y″对应序列号组时,所述第二解密值y″等于序列号组表示的解密值的均值。

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

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

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

39、基于所述私钥(λ,μ)得到解密模型

40、本技术提供一种安全多方计算数据四分位距的方法,该方法能够在参与方均不泄露自身数据的情况下实现计算申请方与参与方的数据的四分位距。

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

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

43、一种安全多方计算数据四分位距的系统,包括多个终端设备,所述系统用于执行如上述任一项所述的安全多方计算数据四分位距的方法,所述多个终端设备作为所述方法中的所述参与方。

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

45、本技术能够在参与方不泄露自身数据的情况下实现计算申请方与参与方的数据的四分位距,作为裁判方即使具有解密模型,也不会获取到参与方和申请方的数据,而作为申请方,也仅知道申请方与参与方的数据的四分位距,并不知道参与方的原始数据,所以能够保障数据的保密性。

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