【技术实现步骤摘要】
一种安全多方计算数据最值的方法及系统
[0001]本申请涉及安全多方计算的
,尤其是涉及一种安全多方计算数据最值的方法及系统。
技术介绍
[0002]安全多方计算(SMC)是解决一组互不信任的参与方之间保护隐私的协同计算问题,安全多方计算要确保输入的独立性、计算的正确性,同时不泄露输入值给参与计算的其他成员,主要是针对在无可信第三方的情况下,如何安全地计算一个约定函数的问题,安全多方计算在电子选举、电子投票、电子拍卖、秘密共享、门限签名等场景中有着重要的作用。
[0003]上述中的现有技术方案存在以下缺陷:在不存在可信第三方的情况下如何计算数据最值。
技术实现思路
[0004]本申请提供一种安全多方计算数据最值的方法和系统,其能够解决在不存在可信第三方的情况下计算数据最值的问题。
[0005]在本申请的第一方面,提供了一种安全多方计算数据最值的方法,设裁判方、参与方和申请计算数据最值的申请方,参与方有k个,k≥1,参与方的数据记为d
i
,其中,i∈I,I={i|i∈N
*
且i≤k},申请方的数据记为d0,所述方法包括:裁判方获取申请方发送的请求指令,调取一组素数p和q,并向申请方和参与方发送公钥(n,g),其中,n=pq,g∈G,G={g|g∈N
*
,g<n2且(L(g
λ
modn2))
‑1为整数,其中,λ=lcm(p
‑
1,q
‑
1),lcm(,) ...
【技术保护点】
【技术特征摘要】
1.一种安全多方计算数据最值的方法,其特征在于:设裁判方、参与方和申请计算数据最值的申请方,参与方有k个,k≥1,参与方的数据记为d
i
,其中,i∈I,I={i|i∈N
*
且i≤k},申请方的数据记为d0,所述方法包括:裁判方获取申请方发送的请求指令,调取一组素数p和q,并向申请方和参与方发送公钥(n,g),其中,n=pq,g∈G,G={g|g∈N
*
,g<n2且(L(g
λ
modn2))
‑1为整数,其中,λ=lcm(p
‑
1,q
‑
1),lcm(,)是最小公倍数函数};裁判方还用于根据请求指令和估算规则确定数值A;参与方根据数值A和数据d
i
加密生成加密值m
i
,再根据随机值r
i
和接收到的公钥(n,g)对加密值m
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
构造比值序列(f1,f2,
…
,f
k
),并将所述比值序列(f1,f2,
…
,f
k
)发送至裁判方;裁判方根据所述比值序列(f1,f2,
…
,f
k
)和解密模型得到解密序列(y1,y2,
…
,y
k
);设定y0=0;将y0加入所述解密序列(y1,y2,
…
,y
k
)形成新的解密序列(y0,y1,y2,
…
,y
k
);获取所述新的解密序列(y0,y1,y2,
…
,y
k
)中的最大值y
max
和最小值y
min
,将所述最大值y
max
和所述最小值y
min
发送给申请方;申请方接收到所述最大值y
max
和所述最小值y
min
后,计算实际最大值=(m0‑
y
max
)/A,实际最小值=(m0‑
y
min
)/A。2.根据权利要求1所述的安全多方计算数据最值的方法,其特征在于:所述裁判方还用于根据请求指令和估算规则确定数值A包括:所述请求指令包括数据类型;根据所述数据类型在数据库中匹配与所述数据类型对应的w组数组,所述数组中包括多个数值,其中,w∈W,W={w|w∈N
*
且w≥2};计算每一组数组中任意两个数值的差值;提取w组数组的差值最小值对应的精度值构建精度值序列(t1,t2,t3,
…
,t
w
);获取所述精度值序列(t1,t2,t3,
…
,t
w
)中的第一众数、第一...
【专利技术属性】
技术研发人员:廖方平,郑伟海,李成,
申请(专利权)人:北京龙腾佳讯科技股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。