一种多方安全计算偏度系数的方法及系统与流程
未命名
08-14
阅读:138
评论: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表示所述明态和值数据;所有参与方计算第一加工数据与明态均值数据的差值的平方,得到差方加工数据;
每一参与方将差方加工数据随机分为不少于两份且不多于参与方数量份的随机分割数据,并将随机分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有随机分割数据的和值为差方重组数据;所有参与方将差方重组数据汇总至发起方,发起方计算所有差方重组数据的和值除以参与方数量后的结果开方值为标准偏差数据;所有参与方计算第一加工数据减去明态均值的数据的结果与标准偏差数据的比值的四次方,得到三阶元素数据;每一参与方将三阶元素数据随机分为不少于两份且不多于参与方数量份的三阶分割数据,并将三阶分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有三阶分割数据的和值为三阶重组数据;所有参与方将三阶重组数据汇总至发起方,发起方计算所有三阶重组数据的和值除以参与方数量后的结果为偏度系数数据。
5.通过采用上述技术方案,能够在保障私有数据安全的基础上,达成计算所有参与方的私有数据的偏度系数的任务。
6.进一步地,在每一参与方将差方加工数据随机分为不少于两份且不多于参与方数量份的随机分割数据,并将随机分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有随机分割数据的和值为差方重组数据中,每一参与方将差方加工数据随机分为参与方数量份的随机分割数据,自身保留一份随机分割数据并将其他随机分割数据一一分发给其他参与方;和/或在每一参与方将三阶元素数据随机分为不少于两份且不多于参与方数量份的三阶分割数据,并将三阶分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有三阶分割数据的和值为三阶重组数据中,每一参与方将三阶元素数据随机分为参与方数量份的三阶分割数据,自身保留一份三阶分割数据并将其他三阶分割数据一一分发给其他参与方。
7.进一步地,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。
8.进一步地,所述预处理指令还包括缩放指令,所述缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。
9.进一步地,所述预处理指令的获取方法包括:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。
10.第二方面,本技术提供了一种多方安全计算偏度系数的系统。该系统包括服务器及多个持有私有数据的终端,所述服务器作为裁判方,一所述终端作为发起方,至少两个所
述终端分别作为参与方;在发起方发起计算任务后,所有参与方获取同一预处理指令,以对自身持有的私有数据进行预处理,得到第一加工数据,所述预处理指令包括取整指令;由裁判方生成一组公钥和私钥,并将公钥发送至所有参与方;计算过程中,随机调取一组素数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表示所述明态和值数据;所有参与方计算第一加工数据与明态均值数据的差值的平方,得到差方加工数据;每一参与方将差方加工数据随机分为不少于两份且不多于参与方数量份的随机分割数据,并将随机分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有随机分割数据的和值为差方重组数据;所有参与方将差方重组数据汇总至发起方,发起方计算所有差方重组数据的和值除以参与方数量后的结果开方值为标准偏差数据;所有参与方计算第一加工数据减去明态均值的数据的结果与标准偏差数据的比值的四次方,得到三阶元素数据;每一参与方将三阶元素数据随机分为不少于两份且不多于参与方数量份的三阶分割数据,并将三阶分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有三阶分割数据的和值为三阶重组数据;所有参与方将三阶重组数据汇总至发起方,发起方计算所有三阶重组数据的和值除以参与方数量后的结果为偏度系数数据。
11.进一步地,所述参与方被进一步配置为:每一参与方将差方加工数据随机分为参与方数量份的随机分割数据,自身保留一份随机分割数据并将其他随机分割数据一一分发给其他参与方;和/或每一参与方将三阶元素数据随机分为参与方数量份的三阶分割数据,自身保留一份三阶分割数据并将其他三阶分割数据一一分发给其他参与方。
12.进一步地,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第
一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。
13.进一步地,所述预处理指令由发起方获取,所述发起方被进一步配置为:所述预处理指令还包括缩放指令,所述缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。
14.进一步地,所述发起方被进一步配置为:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。
15.综上所述,本技术至少包含以下有益效果:1.提供了一种多方安全计算偏度系数的方法及系统,其基于同态加密算法能够在保障参与方持有的私有数据安全的基础上,达成计算所有参与方持有的私有数据的偏度系数的任务;2.利用传输验证函数可以保障数据传输过程中不被篡改,有利于保障计算结果的准确性;3.预处理指令根据大数据中数据场景的关联数据确定,有利于保障第一加工数据的合理性。
16.应当理解,发明内容部分中所描述的内容并非旨在限定本技术的实施例的关键或重要特征,亦非用于限制本技术的范围。本技术的其它特征将通过以下的描述变得容易理解。
附图说明
17.本技术无附图。
具体实施方式
18.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本技术保护的范围。
19.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
20.本技术提供了一种多方安全计算偏度系数的方法及系统,其中采用同态加密算法、基于隐私数据进行计算,能够在保障隐私数据安全的基础上实现偏度系数的计算。
21.第一方面,本技术实施例公开了一种多方安全计算偏度系数的方法。
22.能够在其中运行本技术实施例的示例性运行环境包括发起方、裁判方和多个参与方,其中,发起方、裁判方和多个参与方均互相通讯连接,每个参与方均持有私有数据,裁判方与发起方为不同的两方,发起方也可以作为参与方之一。
23.具体实施过程中,参与方为终端,发起方为参与方之一、也为终端,裁判方为服务器。
24.该方法可以由前述运行环境执行。
25.该方法具体包括以下步骤:s201:所有参与方获取同一预处理指令,以对自身持有的私有数据进行预处理,得到第一加工数据。
26.所述预处理指令包括取整指令。
27.所述预处理指令还包括缩放指令,所述缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。
28.具体来说,预处理指令的理想目的为将所有私有数据的有效数据位通过缩放的手段改写为整数,且需要体现不同私有数据的大小关系。在保障数据完全不失真的情况下,改写时需要分别确定所有私有数据的最高非零位和最低非零位,后对所有私有数据进行缩放、使所有私有数据的最低非零位缩放至不低于个位。放大的情况,例如,第一个私有数据最高非零位为万位、最低非零位为千分位,第二个私有数据最高非零位为千位、最低非零位为万分位,第三个私有数据的最高非零位为十万位、最低非零位为百分位,则三个私有数据的最高非零位为十万位、最低非零位为万分位,此时对三个私有数据进行不失真缩放,需要将三个私有数据均扩大万倍。当然,在改写私有数据时为降低计算量还需要尽量使所有私有数据的最低非零位不高于个位。缩小的情况,例如,第一个私有数据的最高非零位为百亿位、最低非零位为万位,第二个私有数据的最高非零位为亿位、最低非零位为千位,第三个私有数据的最高非零位为十亿位、最低非零位为十万位,则对三个私有数据进行不失真缩放,需要将三个私有数据均缩小千倍。
29.通过前述缩放原理,理想情况下可以保障缩放后的私有数据取整后能够保留所有有效位,避免私有数据执行预处理指令后失真。然而,在一些特殊情况下,如所有私有数据的最高位和最低位之间位数超出硬件环境(服务器、终端)的处理能力,则必须进行一些精度舍弃。此种情况本质上为在一定精度下适当扩大硬件环境能够处理的最大数据范围,一般操作为舍弃一到两位最低位,此处不作赘述。
30.在某些情况下,为了降低计算难度,在计算结果能够保障一定精度的基础上,也可以适当舍弃一些精度。此种情况下需要结合计算任务的精度要求来考虑,故此处还改进了预处理指令的获取方法。
31.所述预处理指令的获取方法包括:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。
32.在计算任务确定时,计算任务针对的数据群体和对结果的要求也确定,其中,针对的数据群体对应数据场景,数据场景中包含能够在大数据中确定关联数据的标签,对结果的要求对应精度要求,在计算任务的描述中一般会包含对结果的要求,例如计算钱时单位精确至分(人民币)、即精确值元(人民币)的百分位,计算发电量时单位精确值千瓦时的个位。
33.精度要求包含要求精度位,要求精度位为对最低非零位的最高位置的限制、一般
直接体现最低非零位不能高于预设位,精度要求根据对计算任务的描述直接确定,此处可以设计一个对照模型,也可以直接人为输入。
34.关联数据即大数据中携带有与数据场景对应标签的数据。关联数据的一般精度值为一个数据范围,其反映所有关联数据的最高非零位和最低非零位的位置,当然也能够反映所有关联数据的最高非零位和最低非零位之间的位数,即一般有效位数。
35.根据硬件环境(服务器、终端)的能力还预先设置有一建议有效位数和最多有效位数,发起方在根据精度要求和一般精度值确定缩放倍数时还会结合建议有效位数和最多有效位数考虑。处理逻辑为,若一般精度值的有效位数不多于建议有效位数,则在缩放时按照将一般精度值的最低非零位缩放至个位的缩放倍数缩放,若一般精度值的有效位数多于建议有效位数,则缩放时按照将要求精度位的预设位缩放至个位的缩放倍数缩放,若按照要求精度位的预设位缩放至个位的缩放倍数缩放时会致使缩放后数据的有效位数超出最多有效位,则返回处理能力不足的结果。
36.在一个示例中,缩放指令的缩放倍数为10的整数次方倍。当然,缩放倍数可以根据需求为任意倍数。
37.在一个示例中,设参与方有k个(k为整数且,k≥2),发起方也为参与方之一,k个参与方持有的私有数据分别为ai,i=1,2,
…
,k,发起方持有的私有数据为a1,其他私有数据依次分别供其他参与方持有。预处理指令为使私有数据扩大10
t
倍(t∈n,预获取)后取整,参与方得到的第一加工数据为mi,i=1,2,
…
,k,发起方的第一加工数据为m1,其他第一加工数据分别依次对应其他参与方即在精度允许范围内认为mi=10
tai
。
38.s202:由裁判方生成一组公钥和私钥,并将公钥发送至所有参与方。
39.计算过程中,裁判方随机调取一组素数p和q,n=pq,随机选择表示g为1到n2之间的一个整数,λ=lcm(p-1,q-1),表示λ为p-1和q-1的最小公倍数;定义函数计算μ=(l(g
λ
modn2))-1
modn,mod为取余函数。得到的结果,公钥为(n,g),私钥为(λ,μ)。
40.关于素数的调取,裁判方中预存储有一个素数库(应加密需求,一般为大素数),在每次计算任务中可随机调取一组。
41.s203:所有参与方利用接收到的公钥对自身持有的第一加工数据进行加密,得到第一加密数据。
42.计算过程中,参与方随机选择计算其中,mi表示参与方的第一加工数据,ci表示参与方的第一加密数据,i=1,2,
…
,k。
43.其中,发起方接收到(n,g)后,随机选择表示r1为1到n之间的一个整数,计算c1为发起方的第一加密数据;其他第一加密数据分别对应其他参与方。
44.s204:将所有第一加密数据汇总至发起方,发起方根据所有第一加密数据和构造的加法同态函数得到密态和值数据。
45.汇总动作具体为,其他所有参与方将第一加密数据均发送至发起方,从发起方计算密态和值数据。计算过程中,构造的加法同态函数为其中,f表示所述密态和
值数据,k表示参与方的数量。
46.s205:将所述密态和值数据发送至裁判方,所述裁判方利用私钥对密态和值数据进行解密,得到明态和值数据,并根据所述明态和值数据和参与方的数量计算明态均值数据,以及将明态均值数据分发至所有参与方。
47.在计算过程中,构造y=(l(f
λ
modn2)
·
μ)modn,其中,y表示所述明态和值数据。明态均值数据等于y/k。应理解,在精度允许范围内,明态均值数据为所有参与方持有的私有数据的均值的10
t
倍。
48.s206:所有参与方计算第一加工数据与明态均值数据的差值的平方,得到差方加工数据。
49.结合前述,已知参与方的第一加工数据分别为mi,所有参与方的明态均值数据为y/k则参与方的差方加工数据分别为(m
i-y/k)2。以发起方为例,发起方的差方加工数据为(m
1-y/k)2,其他差方加工数据分别属于其他参与方。
50.s207:每一参与方将差方加工数据随机分为不少于两份且不多于参与方数量份的随机分割数据,并将随机分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有随机分割数据的和值为差方重组数据。
51.在差方加工数据生成随机分割数据后,可以避免差方加工数据被追溯。每一参与方对差方加工数据分割后得到的至少两份随机分割数据,可以在所有参与方中随机分发,为了避免小概率事件一参与方的所有随机分割数据均发送至另一参与方导致其差方加工数据被追溯,约定一个参与方的至少两份差方加工数据需一一在所有参与方中分发,即若随机分割数据有两份,则在所有参与方中随机选择两个、将两份一一分别发送,若随机分割数据有十份,则在所有参与方中随机选择十个参与方一一分别发送,为避免无效分割动作,一参与方分割所得的随机分割数据的份数需要不大于参与方的数量k。
52.在一个示例中,每一参与方将差方加工数据随机分为参与方数量份的随机分割数据,自身保留一份随机分割数据并将其他随机分割数据一一分发给其他参与方。设所有参与方的标识分别为ai,发起方a1的差方加工数据为bi,对于分割及分发过程,发起方为a1,发起方的差方分割数据为b1,将随机分割为k份,分别为b
11
、b
12
、b
13
、...、b
1k
,b1=b
11
+b
12
+b
13
+...+b
1k
,在实际进行分发时,发起方保留b
11
,并将b
12
、b
13
、...、b
1k
按角标对应关系依次分别发送至a2、a3、...、ak;第k个参与方ak的差方加工数据为bk,对于分割及分发过程,第k个参与方ak,第k个参与方的差方分割数据为bk,将随机分割为k份,分别为b
k1
、b
k2
、b
k3
、...、b
kk
,bk=b
k1
+b
k2
+b
k3
+...+b
kk
,在实际进行分发时,发起方保留b
kk
,并将b
k1
、b
k2
、...、b
k(k-1)
按角标对应关系依次分别发送至a1、a2、...、a
k-1
。
53.从而使发起方在内的每个参与方均能够k个随机分割数据,这k个随机分割数据一一分别来自于k个参与方。同样以发起方为例,发起方用来生成差方重组数据的k份随机分割数据分别为b
11
、b
21
、b
31
、...、b
k1
,其他参与方同理,例如第k个参与方用来生成差方重组数据的k份随机分割数据分别为b
1k
、b
2k
、b
3k
、...、b
kk
。设差方重组数据为ci,则ci=b
1i
+b
2i
+b
3i
+...+b
ki
,例如,发起方的差方重组数据c1=b
11
+b
21
+b
31
+...+b
k1
,第k个参与方的差方重组数据ck=b
1k
+b
2k
+b
3k
+...+b
kk
。
54.s208:所有参与方将差方重组数据汇总至发起方,发起方计算所有差方重组数据的和值除以参与方数量后的结果开方值为标准偏差数据。
55.汇总即其他所有参与方将差方重组数据均发送至发起方。发起方计算所有参与方的标准偏差数据应理解,由于标准偏差数据利用的是第一加工数据和明态均值数据,故计算得到的标准偏差数据为实际所有参与方持有的私有数据的标准差的10
t
倍。
56.s209:所有参与方计算第一加工数据减去明态均值的数据的结果与标准偏差数据的比值的四次方,得到三阶元素数据。
57.本步骤的方法中,设第i个参与方的三阶元素数据为ji,故该三阶元素数据在误差允许范围内等于私有数据减去私有数据均值的结果比上私有数据标准差的四次方,k个参与方分别持有一三阶元素数据,例如,发起方的三阶元素数据第k个参与方的三阶元素数据
58.s210:每一参与方将三阶元素数据随机分为不少于两份且不多于参与方数量份的三阶分割数据,并将三阶分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有三阶分割数据的和值为三阶重组数据。
59.具体来说,每一参与方将三阶元素数据随机分为参与方数量份的三阶分割数据,自身保留一份三阶分割数据并将其他三阶分割数据一一分发给其他参与方。本步骤中三阶元素数据分割为三阶分割数据再重组为三阶重组数据的过程具体可参考步骤s207差方加工数据分割为差方分割数据再重组为差方重组数据的过程,此处不作重复公开。
60.s211:所有参与方将三阶重组数据汇总至发起方,发起方计算所有三阶重组数据的和值除以参与方数量后的结果为偏度系数数据。
61.汇总即其他所有参与方将三阶重组数据均发送至发起方。发起方计算所有参与方的偏度系数数据k=(o1+o2+o3+...+ok)/k,其中,oi表示第i个参与方的三阶重组数据。如此即实现所有参与方持有私有数据的偏度系数的计算,同时保障私有数据的安全。
62.进一步地,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。
63.在一个示例中,传输验证函数为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是否相等,即可确定数据是否在传输过程中被篡改,从而保障数据传输的安全,有利于保障计算结果的准确性。
64.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知
悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本技术所必须的。
65.以上是关于方法实施例的介绍,以下通过系统实施例,对本技术所述方案进行进一步说明。
66.第二方面,本技术实施例公开了一种多方安全计算偏度系数的系统。该系统包括服务器及多个持有私有数据的终端,所述服务器作为裁判方,一所述终端作为发起方,至少两个所述终端分别作为参与方。
67.在发起方发起计算任务后,所有参与方获取同一预处理指令,以对自身持有的私有数据进行预处理,得到第一加工数据,所述预处理指令包括取整指令;由裁判方生成一组公钥和私钥,并将公钥发送至所有参与方;计算过程中,随机调取一组素数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表示所述明态和值数据;所有参与方计算第一加工数据与明态均值数据的差值的平方,得到差方加工数据;每一参与方将差方加工数据随机分为不少于两份且不多于参与方数量份的随机分割数据,并将随机分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有随机分割数据的和值为差方重组数据;所有参与方将差方重组数据汇总至发起方,发起方计算所有差方重组数据的和值除以参与方数量后的结果开方值为标准偏差数据;所有参与方计算第一加工数据减去明态均值的数据的结果与标准偏差数据的比值的四次方,得到三阶元素数据;每一参与方将三阶元素数据随机分为不少于两份且不多于参与方数量份的三阶分割数据,并将三阶分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有三阶分割数据的和值为三阶重组数据;所有参与方将三阶重组数据汇总至发起方,发起方计算所有三阶重组数据的和值除以参与方数量后的结果为偏度系数数据。
68.进一步地,所述参与方被进一步配置为:
每一参与方将差方加工数据随机分为参与方数量份的随机分割数据,自身保留一份随机分割数据并将其他随机分割数据一一分发给其他参与方;和/或每一参与方将三阶元素数据随机分为参与方数量份的三阶分割数据,自身保留一份三阶分割数据并将其他三阶分割数据一一分发给其他参与方。
69.进一步地,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。
70.进一步地,所述预处理指令由发起方获取,所述发起方被进一步配置为:所述预处理指令还包括缩放指令,所述缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。
71.进一步地,所述发起方被进一步配置为:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。
72.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
73.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
技术特征:
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表示所述明态和值数据;所有参与方计算第一加工数据与明态均值数据的差值的平方,得到差方加工数据;每一参与方将差方加工数据随机分为不少于两份且不多于参与方数量份的随机分割数据,并将随机分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有随机分割数据的和值为差方重组数据;所有参与方将差方重组数据汇总至发起方,发起方计算所有差方重组数据的和值除以参与方数量后的结果开方值为标准偏差数据;所有参与方计算第一加工数据减去明态均值的数据的结果与标准偏差数据的比值的四次方,得到三阶元素数据;每一参与方将三阶元素数据随机分为不少于两份且不多于参与方数量份的三阶分割数据,并将三阶分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有三阶分割数据的和值为三阶重组数据;所有参与方将三阶重组数据汇总至发起方,发起方计算所有三阶重组数据的和值除以参与方数量后的结果为偏度系数数据。2.根据权利要求1所述的方法,其特征在于,在每一参与方将差方加工数据随机分为不少于两份且不多于参与方数量份的随机分割数据,并将随机分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有随机分割数据的和值为差方重组数据中,每一参与方将差方加工数据随机分为参与方数量份的随机分割数据,自身保留一份随机分割数据并将其他随机分割数据一一分发给其他参与方;和/或在每一参与方将三阶元素数据随机分为不少于两份且不多于参与方数量份的三阶分
割数据,并将三阶分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有三阶分割数据的和值为三阶重组数据中,每一参与方将三阶元素数据随机分为参与方数量份的三阶分割数据,自身保留一份三阶分割数据并将其他三阶分割数据一一分发给其他参与方。3.根据权利要求1或2所述的方法,其特征在于,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。4.根据权利要求1或2所述的方法,其特征在于,所述预处理指令还包括缩放指令,所述缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。5.根据权利要求4所述的方法,其特征在于,所述预处理指令的获取方法包括:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。6.一种多方安全计算偏度系数的系统,其特征在于,包括服务器及多个持有私有数据的终端,所述服务器作为裁判方,一所述终端作为发起方,至少两个所述终端分别作为参与方;在发起方发起计算任务后,所有参与方获取同一预处理指令,以对自身持有的私有数据进行预处理,得到第一加工数据,所述预处理指令包括取整指令;由裁判方生成一组公钥和私钥,并将公钥发送至所有参与方;计算过程中,随机调取一组素数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表示所述明态和值数据;所有参与方计算第一加工数据与明态均值数据的差值的平方,得到差方加工数据;每一参与方将差方加工数据随机分为不少于两份且不多于参与方数量份的随机分割数据,并将随机分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有随
机分割数据的和值为差方重组数据;所有参与方将差方重组数据汇总至发起方,发起方计算所有差方重组数据的和值除以参与方数量后的结果开方值为标准偏差数据;所有参与方计算第一加工数据减去明态均值的数据的结果与标准偏差数据的比值的四次方,得到三阶元素数据;每一参与方将三阶元素数据随机分为不少于两份且不多于参与方数量份的三阶分割数据,并将三阶分割数据在所有参与方中一一分发,后每一参与方计算自身收到的所有三阶分割数据的和值为三阶重组数据;所有参与方将三阶重组数据汇总至发起方,发起方计算所有三阶重组数据的和值除以参与方数量后的结果为偏度系数数据。7.根据权利要求6所述的系统,其特征在于,所述参与方被进一步配置为:每一参与方将差方加工数据随机分为参与方数量份的随机分割数据,自身保留一份随机分割数据并将其他随机分割数据一一分发给其他参与方;和/或每一参与方将三阶元素数据随机分为参与方数量份的三阶分割数据,自身保留一份三阶分割数据并将其他三阶分割数据一一分发给其他参与方。8.根据权利要求6或7所述的系统,其特征在于,发起方、裁判方和参与方预先约定一传输验证函数,所述传输验证函数为离散模运算函数,在数据发送过程中,发送方将待发送的数据代入传输验证函数得到第一验证码,并将第一验证码与待发送的数据一并发送至接收方,接收方将接收到的数据代入传输验证函数得到第二验证码,并根据第一验证码和第二验证码是否相同判断数据在传输过程中是否被篡改。9.根据权利要求6或7所述的系统,其特征在于,所述预处理指令由发起方获取,所述发起方被进一步配置为:所述预处理指令还包括缩放指令,所述缩放指令在所述取整指令之前,所述缩放指令用于使数据缩放指定倍数。10.根据权利要求9所述的系统,其特征在于,所述发起方被进一步配置为:发起方根据计算任务确定数据场景和精度要求,并将数据场景发送至裁判方;裁判方在大数据中确定数据场景的关联数据,对关联数据进行数据分析得到关联数据的一般精度值,并将一般精度值发送至发起方;发起方根据精度要求和一般精度值确定所述预处理指令中缩放指令的缩放倍数。
技术总结
本申请提供了一种多方安全计算偏度系数的方法及系统,属于多方安全计算的领域,用于提供一种新的达成安全多方计算数据群偏度系数的任务的方案,其中多方包括计算任务的发起方、裁判方及多个参与方,所述参与方及发起方持有私有数据,所述发起方与裁判方为不同的两方,所述方法包括:参与方对数据进行预处理,裁判方基于自研的同态加密算法生成公钥和私钥,并将公钥发送给参与方,使所有参与方对的私有数据进行加密,所有参与方将加密数据汇总至发起方,发起方计算加密的和值,裁判方将该和值解密发送给发起方即得到均值,所有参与方根据均值计算方差元,将方差元分割、重组后汇总至发起方,从而使发起方能够计算标准差,继而能够计算偏度系数。够计算偏度系数。
技术研发人员:廖方平 郑伟海 李成
受保护的技术使用者:北京龙腾佳讯科技股份公司
技术研发日:2023.05.13
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
