安全多方计算数据排序方法及系统与流程

文档序号:34725628发布日期:2023-07-07 20:08阅读:53来源:国知局
安全多方计算数据排序方法及系统与流程

本申请涉及安全多方计算的,尤其是涉及一种安全多方计算数据排序方法及系统。


背景技术:

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


技术实现思路

1、本申请目的一是提供一种安全多方计算数据排序方法,具有安全计算多方数据排序的特点。

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

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

4、裁判方获取申请方发送的需求指令,调取一组素数p和q,根据素数p和q确定公钥(n,g),根据素数p、q和预设的一次函数lx调取一组私钥(λ,μ),并向申请方和参与方发送公钥(n,g),其中,n=pq,λ=lcm(p-1,q-1),g∈g,g={g|g∈n*,g<n2,且满足[l(gλmodn2)]-1是整数},μ=l(x1)-1modn,x1=gλmodn2,所述一次函数l(x)为非正比例函数;

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

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

7、裁判方将所述比值序列(f1,f2,f3,……,fk)代入解密值yi=(l(x2)·μ)modn中得到解密序列(y1,y2,y3,……,yk),根据解密序列(y1,y2,y3,……,yk)构造k+1方数据序列(s0,s1,s2,s3,……,sk),将所述数据序列(s0,s1,s2,s3,……,sk)发送给申请方,其中,si表示第i个参与方的数据di在k+1方数据中的排序序号,x2=fiλmodn2。

8、可选的,所述第一加密结果ci的加密公式为:所述第二加密结果c0的加密公式为:

9、可选的,所述根据解密序列(y1,y2,y3,……,yk)构造k+1方数据序列(s0,s1,s2,s3,……,sk)包括:

10、将所述解密序列(y1,y2,y3,……,yk)中解密值yi按照数值大小排序得到排序序号(s'1,s'2,s'3,……,s'k),s'i表示第i个参与方的数据di在k方数据中的排序序号,基于更新规则,在排序序号(s'1,s'2,s'3,……,s'k)中插入s0,并更新s'i所对应的排序值,以构造k+1方数据序列(s0,s1,s2,s3,……,sk),其中,s0为k+1减去所述解密序列(y1,y2,y3,……,yk)中yi所对应的解密值小于0的个数。

11、可选的,还包括:所述基于更新规则,在排序序号(s'1,s'2,s'3,……,s'k)中插入s0,并更新s'i所对应的排序值包括:

12、若fi≤0,则si=s'i;

13、若fi>0,则si=s'i+1。

14、可选的,还包括:

15、裁判方基于极值计算规则,根据所述解密序列(y1,y2,y3,……,yk)中解密值yi的最大值和最小值确定b=(b1,b2)并发送给申请方;

16、申请方根据和接收到的b=(b1,b2)确定极大值max和极小值min。

17、可选的,所述裁判方基于极值计算规则,根据所述解密序列(y1,y2,y3,……,yk)中解密值yi的最大值和最小值确定b=(b1,b2)包括:

18、若解密序列(y1,y2,y3,……,yk)中解密值yi的最大值和最小值均大于等于0,那么b1=0,b2=最大值;

19、若解密序列(y1,y2,y3,……,yk)中解密值yi的最大值和最小值均小于0,那么b1=-最小值,b2=0;

20、若解密序列(y1,y2,y3,……,yk)中解密值yi的最大值大于0,最小值小于0,那么b1=-最小值,b2=-最大值。

21、可选的,所述指定倍a为10t,其中,t∈n。

22、可选的,所述调取一组素数p和q包括:

23、所述需求指令包括身份信息和参与者范围;

24、根据所述身份信息和参与者范围确定影响因素;

25、基于费米估算模型,根据所述影响因素确定参与者范围内的最大值估算结果;

26、根据最大值估算结果确定一组相关联的素数p和q。

27、可选的,所述根据最大值估算结果确定一组相关联的素数p和q包括:

28、确定所述最大值估算结果的算数平方根,并上取整;

29、选取两个与上取整结果最为接近且数值大于上取整结果的两个素数作为p和q。

30、本申请目的二是提供一种安全多方计算数据排序系统,具有安全计算多方数据排序的特点。

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

32、一种安全多方计算数据排序系统,包括多个用户终端,所述用户终端与第一方面所述的参与方相一一对应,所述系统用于执行如第一方面的方法。

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

34、本申请提供了一种安全多方计算数据排序方法,其能够在参与方不泄露自身数据的情况下实现申请方与参与方的数据排序。



技术特征:

1.一种安全多方计算数据排序方法,其特征在于,设裁判方、参与方和申请计算数据排序和/或极值的申请方,申请方的数据记为d0,参与方有k个,k≥1,参与方的数据记为di,其中,i∈i,i={i|i∈n*且i≤k},所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一加密结果ci的加密公式为:所述第二加密结果c0的加密公式为:

3.根据权利要求2所述的方法,其特征在于,所述根据解密序列(y1,y2,y3,……,yk)构造k+1方数据序列(s0,s1,s2,s3,……,sk)包括:

4.根据权利要求3所述的方法,其特征在于,还包括:所述基于更新规则,在排序序号(s'1,s'2,s'3,……,s'k)中插入s0,并更新s'i所对应的排序值包括:

5.根据权利要求1所述的方法,其特征在于,还包括:

6.根据权利要求5所述的方法,其特征在于,所述裁判方基于极值计算规则,根据所述解密序列(y1,y2,y3,……,yk)中解密值yi的最大值和最小值确定b=(b1,b2)包括:

7.根据权利要求1所述的方法,其特征在于,所述指定倍a为10t,其中,t∈n。

8.根据权利要求1所述的方法,其特征在于,所述调取一组素数p和q包括:

9.根据权利要求8所述的方法,其特征在于,所述根据最大值估算结果确定一组相关联的素数p和q包括:

10.一种安全多方计算数据排序系统,其特征在于,包括多个用户终端,所述用户终端与权利要求1-9中任意一项所述的参与方相一一对应,所述系统用于执行如权利要求1-9中任意一项所述的方法。


技术总结
本发明涉及一种安全多方计算数据排序方法及系统,其方法包括裁判方获取申请方发送的需求指令,调取一组素数p和q,并向申请方和参与方发送公钥;参与方根据随机值和公钥对数据加密得到第一加密结果,并发送给申请方。申请方根据随机值和公钥对数据加密得到第二加密结果,将第二加密结果与第一加密结果对比得到k个比值以构造比值序列并输出。裁判方根据比值序列和解密模型得到解密序列,根据解密序列构造k+1方数据序列。本申请具有安全计算多方数据排序的效果。

技术研发人员:廖方平,郑伟海
受保护的技术使用者:北京龙腾佳讯科技股份公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1