安全多方计算数据四分位距的方法和系统技术方案

技术编号:38661327 阅读:16 留言:0更新日期:2023-09-02 22:44
本申请涉及一种安全多方计算数据四分位距的方法和系统,其属于安全多方计算的领域,该方法包括:裁判方获取到请求指令时建立公钥;参与方根据随机值r

【技术实现步骤摘要】
安全多方计算数据四分位距的方法和系统


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

技术介绍

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

技术实现思路

[0004]本申请提供一种安全多方计算数据四分位距的方法和系统,具有安全计算多方数据四分位距的特点。
[0005]本申请目的一是提供一种安全多方计算数据四分位距的方法。
[0006]本申请的上述申请目的一是通过以下技术方案得以实现的:一种安全多方计算数据四分位距的方法,设裁判方、参与方和申请计算数据四分位距的申请方,参与方有k个,k≥1,参与方的数据记为d
i
,其中,i∈I,I={i|i∈N
*
且i≤k},申请方的数据记为d0,所述方法包括:所述裁判方获取申请方发送的请求指令,所述裁判方用于调取一组素数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对数据d
i
进行加密生成加密值m
i
,再根据随机值r
i
和接收到的公钥(n,g)对加密值m
i
进行加密得到第一加密结果c
i
,并发送第一加密结果c
i
给申请方,r
i
∈H,H={r
i
|r
i
∈N
*
且r
i
<n};申请方采用数值A对数据d0进行加密生成加密值m0,再根据随机值r0和接收到的公钥(n,g)对加密值m0进行加密得到第二加密结果c0,r0∈H;所述申请方还用于在接收到所述参与方发送的第一加密结果c
i
时,根据第二加密结果c0和第一加密结果c
i
构造K方比值序列(f1,

,f
k
),并发送给裁判方;所述裁判方根据所述比值序列(f1,

,f
k
)和解密模型得到解密序列(y1,

,y
k
),设定y0=0,将y0放入解密序列(y1,

,y
k
)得到新的解密序列(y0,y1,

,y
k
),将新的解密序列(y0,y1,

,y
k
)中的解密值y
i
按照升序方式排列得到排序序列(s0,s1,

,s
k
),所述s
i
表示第i个参与方的数据d
i
在k+1方数据中的排序序号;根据所述排序序列(s0,s1,

,s
k
)确定新
的解密序列(y0,y1,

,y
k
)中的第一解密值y

和第二解密值,根据第一解密值y

和第二解密值计算得到目标四分位距d



y

,发送所述目标四分位距d

给申请方;所述申请方获取到所述目标四分位距d

时,计算实际四分位距d

=d

/A。
[0007]本申请在一较佳示例中可以进一步配置为:所述裁判方还用于根据所述请求指令和估算规则确定数值A包括:所述请求指令包括数据类型;根据所述数据类型在数据库中匹配与数据类型对应的w组数组,所述数组中包括多个数值,其中,w∈W,W={w|w∈N
*
且w≥2};计算每一组数组中任意两个数值的差值;提取w组数组的差值最小值对应的精度值构建精度值序列(t1,

,t
w
),所述差值最小值取绝对值;获取所述精度值序列(t1,

,t
w
)中的第一众数、第一众数对应的第一占比值、第二众数以及第二众数对应的第二占比值,所述第一众数是指精度值序列(t1,

,t
w
)中占比值最高的精度值,所述第二众数是指第二占比值仅小于第一占比值的精度值;当所述第一占比值达到第一预设值时,将所述第一众数作为目标数值t;当所述第一占比值低于第一预设值时,判断第一占比值和第二占比值之和是否大于第一预设值;若是,则将所述第一众数和第二众数的平均值作为目标数值t;若否,将精度值序列(t1,

,t
w
)中精度值对应的占比值高于第二预设值的精度值作为目标精度值;将目标精度值的平均值作为目标数值t;计算数值A=10
t

[0008]本申请在一较佳示例中可以进一步配置为:所述参与方采用数值A对数据d
i
进行加密生成加密值m
i
包括:参与方将数据d
i
扩大A倍后,取整数部分得到加密值m
i
;所述申请方采用数值A对数据d0进行加密生成加密值m0包括:申请方将数据d0扩大A倍后,取整数部分得到加密值m0。
[0009]本申请在一较佳示例中可以进一步配置为:所述根据随机值r
i
和接收到的公钥(n,g)对加密值m
i
进行加密得到第一加密结果c
i
包括:所述根据随机值r0和接收到的公钥(n,g)对加密值m0进行加密得到第二加密结果c0包括:
[0010]本申请在一较佳示例中可以进一步配置为:所述根据所述排序序列(s0,s1,

,s
k
)确定新的解密序列(y0,y1,

,y
k
)中的第一解密值y

和第二解密值包括:计算和其中,函数[x]表示取数值x的整数部分;当k+1≤γ时,所述第一解密值y

对应的序列号为s0、第二解密值对应的序列号为s
k
;当k+1>γ时,计算K和当:K和均为偶数时,第一解密值y
...

【技术保护点】

【技术特征摘要】
1.一种安全多方计算数据四分位距的方法,其特征在于:设裁判方、参与方和申请计算数据四分位距的申请方,参与方有k个,k≥1,参与方的数据记为d
i
,其中,i∈I,I={i|i∈N
*
且i≤k},申请方的数据记为d0,所述方法包括:所述裁判方获取申请方发送的请求指令,所述裁判方用于调取一组素数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对数据d
i
进行加密生成加密值m
i
,再根据随机值r
i
和接收到的公钥(n,g)对加密值m
i
进行加密得到第一加密结果c
i
,并发送第一加密结果c
i
给申请方,r
i
∈H,H={r
i
|r
i
∈N
*
且r
i
<n};申请方采用数值A对数据d0进行加密生成加密值m0,再根据随机值r0和接收到的公钥(n,g)对加密值m0进行加密得到第二加密结果c0,r0∈H;所述申请方还用于在接收到所述参与方发送的第一加密结果c
i
时,根据第二加密结果c0和第一加密结果c
i
构造K方比值序列(f1,

,f
k
),i=1,

,k,并发送给裁判方;所述裁判方根据所述比值序列(f1,

,f
k
)和解密模型得到解密序列(y1,

,y
k
),设定y0=0,将y0放入解密序列(y1,

,y
k
)得到新的解密序列(y0,y1,

,y
k
),将新的解密序列(y0,y1,

,y
k
)中的解密值y
i
按照升序方式排列得到排序序列(s0,s1,

,s
k
),所述s
i
表示第i个参与方的数据d
i
在k+1方数据中的排序序号;根据所述排序序列(s0,s1,

,s
k
)确定新的解密序列(y0,y1,

,y
k
)中的第一解密值和第二解密值,根据第一解密值和第二解密值计算得到目标四分位距d



,发送所述目标四分位距d

给申请方;所述申请方获取到所述目标四分位距d

时,计算实际四分位距d

=d

/A。2.根据权利要求1所述的安全多方计算数据四分位距的方法,其特征在于:所述裁判方还用于根据所述请求指令和估算规则确定数值A包括:所述请求指令包括数据类型;根据所述数据类型在数据库中匹配与数据类型对应的w组数组,所述数组中包括多个数值,其中,w∈W,W={w|w∈N
*
且w≥2};计算每一组数组中任意两个数值的差值;提取w组数组的差值最小值对应的精度值构建精度值序列(t1,

,t
w
),所述差值最小值取绝对值;获取所述精度值序列(t1,

,t
w
)中的第一众数、第一众数对应的第一占比值、第二众数以及第二众数对应的第二占比值,所述第一众数是指精度值序列(t1,

,t
w
)中占比值最高的精度值,所述第二众数...

【专利技术属性】
技术研发人员:廖方平郑伟海李成
申请(专利权)人:北京龙腾佳讯科技股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1