一种多方安全计算均值一侧数据数量的方法及系统与流程

未命名 08-15 阅读:134 评论:0

1.本技术涉及多方安全计算的技术领域,尤其涉及一种多方安全计算均值一侧数据数量的方法及系统。


背景技术:

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


技术实现要素:

3.本技术提供了一种多方安全计算均值一侧数据数量的方法及系统,其能够达成安全多方计算数据群大于或小于均值的数据数量的任务。
4.第一方面,本技术提供了一种多方安全计算均值一侧数据数量的方法。所述多方包括计算任务的发起方、裁判方及多个参与方,所述参与方及发起方持有私有数据,所述发起方与裁判方为不同的两方,所述方法包括:所有参与方获取同一预处理指令,以对自身持有的私有数据进行预处理,得到第一加工数据,所述预处理指令包括取整指令;由裁判方生成一组公钥和私钥,并将公钥发送至所有参与方;计算过程中,随机调取一组素数p和q,n=pq,随机选择λ=lcm(p-1,q-1),定义函数计算μ=(l(g
λ
modn2))-1
modn,其中,公钥为(n,g),私钥为(λ,μ);所有参与方利用接收到的公钥对自身持有的第一加工数据进行加密,得到第一加密数据;计算过程中,参与方随机选择计算其中,mi表示参与方的第一加工数据,ci表示参与方的第一加密数据;将所有第一加密数据汇总至发起方,发起方根据所有第一加密数据和构造的加法同态函数得到密态和值数据;计算过程中,加法同态函数为其中,f表示所述密态和值数据,k表示参与方的数量;将所述密态和值数据发送至裁判方,所述裁判方利用私钥对密态和值数据进行解密,得到明态和值数据,并根据所述明态和值数据和参与方的数量计算明态均值数据,以及将明态均值数据发送至发起方;在计算过程中,构造y=(l(f
λ
modn2)
·
μ)modn,其中,y表示所述明态和值数据;发起方利用所述公钥对明态均值数据将进行加密,得到加密均值数据;在计算过程中,发起方随机选择计算其中,m0表示明态均值数据,c0表示加
密均值数据;发起方根据所有第一加密数据、加密均值数据和构造减法同态函数得到密态差值数据,并将密态差值数组发送至裁判方;减法同态函数为zi表示与第i个参与方对应的密态差值数据;裁判方利用私钥对所有密态差值数据进行解密,得到与所有参与方一一对应的明态差值数据,并根据所有明态差值数据确定大于均值数据数量或小于均值数据数量,大于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值大的数量,小于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值小的数量;在计算过程中,构造wi表示与第i个参与方对应的明态差值数据,大于0的wi的数量反映小于均值数据数量,小于0的wi的数量反映大于均值数据数量。
5.通过采用上述技术方案,能够在保障私有数据安全的基础上,达成计算所有参与方的私有数据的均值一侧数据数量的任务。
6.进一步地,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。
7.进一步地,所述预处理指令还包括缩放指令,所述缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。
8.进一步地,所述预处理指令的获取方法包括:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。
9.第二方面,本技术提供了一种多方安全计算均值一侧数据数量的系统。该系统包括服务器及多个持有私有数据的终端,所述服务器作为裁判方,一所述终端作为发起方,至少两个所述终端分别作为参与方;在发起方发起计算任务后,所有参与方获取同一预处理指令,以对自身持有的私有数据进行预处理,得到第一加工数据,所述预处理指令包括取整指令;由裁判方生成一组公钥和私钥,并将公钥发送至所有参与方;计算过程中,随机调取一组素数p和q,n=pq,随机选择λ=lcm(p-1,q-1),定义函数计算μ=(l(g
λ
modn2))-1
modn,其中,公钥为(n,g),私钥为(λ,μ);所有参与方利用接收到的公钥对自身持有的第一加工数据进行加密,得到第一加密数据;计算过程中,参与方随机选择计算其中,mi表示参与方的第一加工数据,ci表示参与方的第一加密数据;将所有第一加密数据汇总至发起方,发起方根据所有第一加密数据和构造的加法同态函数得到密态和值数据;计算过程中,加法同态函数为其中,f表示所述密
态和值数据,k表示参与方的数量;将所述密态和值数据发送至裁判方,所述裁判方利用私钥对密态和值数据进行解密,得到明态和值数据,并根据所述明态和值数据和参与方的数量计算明态均值数据,以及将明态均值数据发送至发起方;在计算过程中,构造y=(l(f
λ
modn2)
·
μ)modn,其中,y表示所述明态和值数据;发起方利用所述公钥对明态均值数据将进行加密,得到加密均值数据;在计算过程中,发起方随机选择计算其中,m0表示明态均值数据,c0表示加密均值数据;发起方根据所有第一加密数据、加密均值数据和构造减法同态函数得到密态差值数据,并将密态差值数组发送至裁判方;减法同态函数为zi表示与第i个参与方对应的密态差值数据;裁判方利用私钥对所有密态差值数据进行解密,得到与所有参与方一一对应的明态差值数据,并根据所有明态差值数据确定大于均值数据数量或小于均值数据数量,大于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值大的数量,小于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值小的数量;在计算过程中,构造wi表示与第i个参与方对应的明态差值数据,大于0的wi的数量反映小于均值数据数量,小于0的wi的数量反映大于均值数据数量。
10.进一步地,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。
11.进一步地,所述预处理指令由发起方获取,所述发起方被进一步配置为:所述预处理指令还包括缩放指令,所述缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。
12.进一步地,所述发起方被进一步配置为:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。
13.综上所述,本技术至少包含以下有益效果:1.提供了一种多方安全计算均值一侧数据数量的方法及系统,其基于同态加密算法能够在保障参与方持有的私有数据安全的基础上,达成计算所有参与方持有的私有数据的均值一侧数据数量的任务;2.利用传输验证函数可以保障数据传输过程中不被篡改,有利于保障计算结果的准确性;3.预处理指令根据大数据中数据场景的关联数据确定,有利于保障第一加工数据的合理性。
14.应当理解,发明内容部分中所描述的内容并非旨在限定本技术的实施例的关键或
重要特征,亦非用于限制本技术的范围。本技术的其它特征将通过以下的描述变得容易理解。
15.具体实施方式
16.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
17.本技术提供了一种多方安全计算均值一侧数据数量的方法及系统,其中采用同态加密算法、基于隐私数据进行计算,能够在保障隐私数据安全的基础上实现均值一侧数据数量的计算。
18.第一方面,本技术实施例公开了一种多方安全计算均值一侧数据数量的方法。
19.能够在其中运行本技术实施例的示例性运行环境包括发起方、裁判方和多个参与方,其中,发起方、裁判方和多个参与方均互相通讯连接,每个参与方均持有私有数据,裁判方与发起方为不同的两方,发起方也可以作为参与方之一。
20.具体实施过程中,参与方为终端,发起方为参与方之一、也为终端,裁判方为服务器。
21.该方法可以前述运行环境执行。
22.该方法具体包括以下步骤:s201:所有参与方获取同一预处理指令,以对自身持有的私有数据进行预处理,得到第一加工数据。
23.所述预处理指令包括取整指令。
24.所述预处理指令还包括缩放指令,所述缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。
25.具体来说,预处理指令的理想目的为将所有私有数据的有效数据位通过缩放的手段改写为整数,且需要体现不同私有数据的大小关系。在保障数据完全不失真的情况下,改写时需要分别确定所有私有数据的最高非零位和最低非零位,后对所有私有数据进行缩放、使所有私有数据的最低非零位缩放至不低于个位。放大的情况,例如,第一个私有数据最高非零位为万位、最低非零位为千分位,第二个私有数据最高非零位为千位、最低非零位为万分位,第三个私有数据的最高非零位为十万位、最低非零位为百分位,则三个私有数据的最高非零位为十万位、最低非零位为万分位,此时对三个私有数据进行不失真缩放,需要将三个私有数据均扩大万倍。当然,在改写私有数据时为降低计算量还需要尽量使所有私有数据的最低非零位不高于个位。缩小的情况,例如,第一个私有数据的最高非零位为百亿位、最低非零位为万位,第二个私有数据的最高非零位为亿位、最低非零位为千位,第三个私有数据的最高非零位为十亿位、最低非零位为十万位,则对三个私有数据进行不失真缩放,需要将三个私有数据均缩小千倍。
26.通过前述缩放原理,理想情况下可以保障缩放后的私有数据取整后能够保留所有有效位,避免私有数据执行预处理指令后失真。然而,在一些特殊情况下,如所有私有数据的最高位和最低位之间位数超出硬件环境(服务器、终端)的处理能力,则必须进行一些精
度舍弃。此种情况本质上为在一定精度下适当扩大硬件环境能够处理的最大数据范围,一般操作为舍弃一到两位最低位,此处不作赘述。
27.在某些情况下,为了降低计算难度,在计算结果能够保障一定精度的基础上,也可以适当舍弃一些精度。此种情况下需要结合计算任务的精度要求来考虑,故此处还改进了预处理指令的获取方法。
28.所述预处理指令的获取方法包括:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。
29.在计算任务确定时,计算任务针对的数据群体和对结果的要求也确定,其中,针对的数据群体对应数据场景,数据场景中包含能够在大数据中确定关联数据的标签,对结果的要求对应精度要求,在计算任务的描述中一般会包含对结果的要求,例如计算钱时单位精确至分(人民币)、即精确值元(人民币)的百分位,计算发电量时单位精确值千瓦时的个位。
30.精度要求包含要求精度位,要求精度位为对最低非零位的最高位置的限制、一般直接体现最低非零位不能高于预设位,精度要求根据对计算任务的描述直接确定,此处可以设计一个对照模型,也可以直接人为输入。
31.关联数据即大数据中携带有与数据场景对应标签的数据。关联数据的一般精度值为一个数据范围,其反映所有关联数据的最高非零位和最低非零位的位置,当然也能够反映所有关联数据的最高非零位和最低非零位之间的位数,即一般有效位数。
32.根据硬件环境(服务器、终端)的能力还预先设置有一建议有效位数和最多有效位数,发起方在根据精度要求和一般精度值确定缩放倍数时还会结合建议有效位数和最多有效位数考虑。处理逻辑为,若一般精度值的有效位数不多于建议有效位数,则在缩放时按照将一般精度值的最低非零位缩放至个位的缩放倍数缩放,若一般精度值的有效位数多于建议有效位数,则缩放时按照将要求精度位的预设位缩放至个位的缩放倍数缩放,若按照要求精度位的预设位缩放至个位的缩放倍数缩放时会致使缩放后数据的有效位数超出最多有效位,则返回处理能力不足的结果。
33.在一个示例中,缩放指令的缩放倍数为10的整数次方倍。当然,缩放倍数可以根据需求为任意倍数。
34.在一个示例中,设参与方有k个(k为整数且,k≥2),发起方也为参与方之一,k个参与方持有的私有数据分别为ai,i=1,2,

,k,发起方持有的私有数据为a1,其他私有数据依次分别供其他参与方持有。预处理指令为使私有数据扩大10
t
倍(t∈n,预获取)后取整,参与方得到的第一加工数据为mi,i=1,2,

,k,发起方的第一加工数据为m1,其他第一加工数据分别依次对应其他参与方即在精度允许范围内认为mi=10
tai

35.s202:由裁判方生成一组公钥和私钥,并将公钥发送至所有参与方。
36.计算过程中,裁判方随机调取一组素数p和q,n=pq,随机选择表示g为1到n2之间的一个整数,λ=lcm(p-1,q-1),表示λ为p-1和q-1的最小公倍数;定义函数计算μ=(l(g
λ
modn2))-1
modn,mod为取余函数。得到的结果,公钥为(n,g),私钥为
(λ,μ)。
37.关于素数的调取,裁判方中预存储有一个素数库(应加密需求,一般为大素数),在每次计算任务中可随机调取一组。
38.s203:所有参与方利用接收到的公钥对自身持有的第一加工数据进行加密,得到第一加密数据。
39.计算过程中,参与方随机选择计算其中,mi表示参与方的第一加工数据,ci表示参与方的第一加密数据,i=1,2,

,k。
40.其中,发起方接收到(n,g)后,随机选择表示r1为1到n之间的一个整数,计算c1为发起方的第一加密数据;其他第一加密数据分别对应其他参与方。
41.s204:将所有第一加密数据汇总至发起方,发起方根据所有第一加密数据和构造的加法同态函数得到密态和值数据。
42.汇总动作具体为,其他所有参与方将第一加密数据均发送至发起方,从发起方计算密态和值数据。计算过程中,构造的加法同态函数为其中,f表示所述密态和值数据,k表示参与方的数量。
43.s205:将所述密态和值数据发送至裁判方,所述裁判方利用私钥对密态和值数据进行解密,得到明态和值数据,并根据所述明态和值数据和参与方的数量计算明态均值数据,以及将明态均值数据发送至发起方。
44.在计算过程中,构造y=(l(f
λ
modn2)
·
μ)modn,其中,y表示所述明态和值数据。明态均值数据等于y/k,明态均值数据取整数,后续代入计算的y/k表示取整后的结果。应理解,在精度允许范围内,明态均值数据为所有参与方持有的私有数据的均值的10
t
倍。
45.s206:发起方利用所述公钥对明态均值数据将进行加密,得到加密均值数据。
46.在计算过程中,发起方随机选择计算其中,m0表示明态均值数据,c0表示加密均值数据;s207:发起方根据所有第一加密数据、加密均值数据和构造减法同态函数得到密态差值数据,并将密态差值数组发送至裁判方。
47.在本步骤的方法中,减法同态函数为zi表示与第i个参与方对应的密态差值数据。
48.s208:裁判方利用私钥对所有密态差值数据进行解密,得到与所有参与方一一对应的明态差值数据,并根据所有明态差值数据确定大于均值数据数量或小于均值数据数量。
49.大于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值大的数量,小于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值小的数量;在计算过程中,构造wi表示与第i个参与方对应的明态差值数据,明态差值数据等于明态均值数据减去第i个参与方的第一加工数据的结果,大于0的wi的数量反映小于均值数据数量,小于0的wi的数量反映大于均值数据数量。如此即可实现所有参与方持有的私有数据中,有多少大于所有私有数据的均值、有多少小于私有数据
的均值,同时保障私有数据的安全。
50.进一步地,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。
51.在一个示例中,传输验证函数为d=efmodh,其中,f为用于传输的数据,d为验证码,e为整数且e是的生成元,g、h均为素数且h整除g-1。在实际传输过程中,发送方将待发送的数据f1代入传输验证函数,得到第一验证码d1,并将f1和d1一并发送至接收方,接收方接收到数据f
’1和第一验证码d
’1,接收方将f
’1代入传输验证函数,得到第二验证码d2,接收方验证接收到的第一验证码d
’1和第二验证码d2是否相等,即可确定数据是否在传输过程中被篡改,从而保障数据传输的安全,有利于保障计算结果的准确性。
52.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本技术所必须的。
53.以上是关于方法实施例的介绍,以下通过系统实施例,对本技术所述方案进行进一步说明。
54.第二方面,本技术实施例公开了一种多方安全计算均值一侧数据数量的系统。该系统包括服务器及多个持有私有数据的终端,所述服务器作为裁判方,一所述终端作为发起方,至少两个所述终端分别作为参与方。
55.在发起方发起计算任务后,所有参与方获取同一预处理指令,以对自身持有的私有数据进行预处理,得到第一加工数据,所述预处理指令包括取整指令;由裁判方生成一组公钥和私钥,并将公钥发送至所有参与方;计算过程中,随机调取一组素数p和q,n=pq,随机选择λ=lcm(p-1,q-1),定义函数计算μ=(l(g
λ
modn2))-1
modn,其中,公钥为(n,g),私钥为(λ,μ);所有参与方利用接收到的公钥对自身持有的第一加工数据进行加密,得到第一加密数据;计算过程中,参与方随机选择计算其中,mi表示参与方的第一加工数据,ci表示参与方的第一加密数据;将所有第一加密数据汇总至发起方,发起方根据所有第一加密数据和构造的加法同态函数得到密态和值数据;计算过程中,加法同态函数为其中,f表示所述密态和值数据,k表示参与方的数量;将所述密态和值数据发送至裁判方,所述裁判方利用私钥对密态和值数据进行解密,得到明态和值数据,并根据所述明态和值数据和参与方的数量计算明态均值数据,以及将明态均值数据发送至发起方;在计算过程中,构造y=(l(f
λ
modn2)
·
μ)modn,其中,y表示
所述明态和值数据;发起方利用所述公钥对明态均值数据将进行加密,得到加密均值数据;在计算过程中,发起方随机选择计算其中,m0表示明态均值数据,c0表示加密均值数据;发起方根据所有第一加密数据、加密均值数据和构造减法同态函数得到密态差值数据,并将密态差值数组发送至裁判方;减法同态函数为zi表示与第i个参与方对应的密态差值数据;裁判方利用私钥对所有密态差值数据进行解密,得到与所有参与方一一对应的明态差值数据,并根据所有明态差值数据确定大于均值数据数量或小于均值数据数量,大于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值大的数量,小于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值小的数量;在计算过程中,构造wi表示与第i个参与方对应的明态差值数据,大于0的wi的数量反映小于均值数据数量,小于0的wi的数量反映大于均值数据数量。
56.进一步地,所述参与方被进一步配置为:每一参与方将差方加工数据随机分为参与方数量份的随机分割数据,自身保留一份随机分割数据并将其他随机分割数据一一分发给其他参与方。
57.进一步地,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。
58.进一步地,所述预处理指令由发起方获取,所述发起方被进一步配置为:所述预处理指令还包括缩放指令,所述缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。
59.进一步地,所述发起方被进一步配置为:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。
60.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
61.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

技术特征:
1.一种多方安全计算均值一侧数据数量的方法,所述多方包括计算任务的发起方、裁判方及多个参与方,所述参与方及发起方持有私有数据,其特征在于,所述发起方与裁判方为不同的两方,所述方法包括:所有参与方获取同一预处理指令,以对自身持有的私有数据进行预处理,得到第一加工数据,所述预处理指令包括取整指令;由裁判方生成一组公钥和私钥,并将公钥发送至所有参与方;计算过程中,随机调取一组素数p和q,n=pq,随机选择λ=lcm(p-1,q-1),定义函数计算μ=(l(g
λ
modn2))-1
modn,其中,公钥为(n,g),私钥为(λ,μ);所有参与方利用接收到的公钥对自身持有的第一加工数据进行加密,得到第一加密数据;计算过程中,参与方随机选择计算其中,m
i
表示参与方的第一加工数据,c
i
表示参与方的第一加密数据;将所有第一加密数据汇总至发起方,发起方根据所有第一加密数据和构造的加法同态函数得到密态和值数据;计算过程中,加法同态函数为其中,f表示所述密态和值数据,k表示参与方的数量;将所述密态和值数据发送至裁判方,所述裁判方利用私钥对密态和值数据进行解密,得到明态和值数据,并根据所述明态和值数据和参与方的数量计算明态均值数据,以及将明态均值数据发送至发起方;在计算过程中,构造y=(l(f
λ
modn2)
·
μ)modn,其中,y表示所述明态和值数据;发起方利用所述公钥对明态均值数据将进行加密,得到加密均值数据;在计算过程中,发起方随机选择计算其中,m0表示明态均值数据,c0表示加密均值数据;发起方根据所有第一加密数据、加密均值数据和构造减法同态函数得到密态差值数据,并将密态差值数组发送至裁判方;减法同态函数为z
i
表示与第i个参与方对应的密态差值数据;裁判方利用私钥对所有密态差值数据进行解密,得到与所有参与方一一对应的明态差值数据,并根据所有明态差值数据确定大于均值数据数量或小于均值数据数量,大于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值大的数量,小于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值小的数量;在计算过程中,构造w
i
表示与第i个参与方对应的明态差值数据,大于0的w
i
的数量反映小于均值数据数量,小于0的w
i
的数量反映大于均值数据数量。2.根据权利要求1所述的方法,其特征在于,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。3.根据权利要求1或2所述的方法,其特征在于,所述预处理指令还包括缩放指令,所述
缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。4.根据权利要求3所述的方法,其特征在于,所述预处理指令的获取方法包括:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。5.一种多方安全计算均值一侧数据数量的系统,其特征在于,包括服务器及多个持有私有数据的终端,所述服务器作为裁判方,一所述终端作为发起方,至少两个所述终端分别作为参与方;在发起方发起计算任务后,所有参与方获取同一预处理指令,以对自身持有的私有数据进行预处理,得到第一加工数据,所述预处理指令包括取整指令;由裁判方生成一组公钥和私钥,并将公钥发送至所有参与方;计算过程中,随机调取一组素数p和q,n=pq,随机选择λ=lcm(p-1,q-1),定义函数计算μ=(l(g
λ
modn2))-1
modn,其中,公钥为(n,g),私钥为(λ,μ);所有参与方利用接收到的公钥对自身持有的第一加工数据进行加密,得到第一加密数据;计算过程中,参与方随机选择计算其中,m
i
表示参与方的第一加工数据,c
i
表示参与方的第一加密数据;将所有第一加密数据汇总至发起方,发起方根据所有第一加密数据和构造的加法同态函数得到密态和值数据;计算过程中,加法同态函数为其中,f表示所述密态和值数据,k表示参与方的数量;将所述密态和值数据发送至裁判方,所述裁判方利用私钥对密态和值数据进行解密,得到明态和值数据,并根据所述明态和值数据和参与方的数量计算明态均值数据,以及将明态均值数据发送至发起方;在计算过程中,构造y=(l(f
λ
modn2)
·
μ)modn,其中,y表示所述明态和值数据;发起方利用所述公钥对明态均值数据将进行加密,得到加密均值数据;在计算过程中,发起方随机选择计算其中,m0表示明态均值数据,c0表示加密均值数据;发起方根据所有第一加密数据、加密均值数据和构造减法同态函数得到密态差值数据,并将密态差值数组发送至裁判方;减法同态函数为z
i
表示与第i个参与方对应的密态差值数据;裁判方利用私钥对所有密态差值数据进行解密,得到与所有参与方一一对应的明态差值数据,并根据所有明态差值数据确定大于均值数据数量或小于均值数据数量,大于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值大的数量,小于均值数据数量表示所有参与方持有的私有数据中比所有私有数据的均值小的数量;在计算过程中,构造w
i
表示与第i个参与方对应的明态差值数据,大于0的w
i
的数量反映小于均值数据数量,小于0的w
i
的数量反映大于均值数据数量。
6.根据权利要求5所述的系统,其特征在于,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。7.根据权利要求5或6所述的系统,其特征在于,所述预处理指令由发起方获取,所述发起方被进一步配置为:所述预处理指令还包括缩放指令,所述缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。8.根据权利要求7所述的系统,其特征在于,所述发起方被进一步配置为:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。

技术总结
本申请提供了一种多方安全计算均值一侧数据数量的方法及系统,属于多方安全计算的领域,用于提供一种新的达成安全多方计算数据群中大于或小于均值的数据数量的任务的方案,其中多方包括计算任务的发起方、裁判方及多个参与方,所述参与方及发起方持有私有数据,所述发起方与裁判方为不同的两方,所述方法包括:参与方对数据进行预处理,裁判方生成公钥和私钥,并将公钥发送给参与方,所有参与方基于加法同态加密算法计算私有数据的均值,并结合均值基于减法同态加密算法计算私有数据与均值的大小关系,继而确定大于或小于均值的数据数量,且保障所有参与方持有的私有数据的数据安全。全。


技术研发人员:廖方平 郑伟海 李成
受保护的技术使用者:北京龙腾佳讯科技股份公司
技术研发日:2023.05.13
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐