安全多方计算数据局部和值的方法和系统技术方案

技术编号:39721075 阅读:6 留言:0更新日期:2023-12-17 23:27
本申请涉及一种安全多方计算数据局部和值的方法和系统,其属于安全多方计算的领域,该方法包括:裁判方向申请方和参与方发送公钥;参与方接收公钥对数据

【技术实现步骤摘要】
安全多方计算数据局部和值的方法和系统


[0001]本申请涉及安全多方计算的领域,尤其是涉及一种安全多方计算数据局部和值的方法和系统


技术介绍

[0002]安全多方计算
(SMC)
是解决一组互不信任的参与方之间保护隐私的协同计算问题,安全多方计算要确保输入的独立性

计算的正确性,同时不泄露输入值给参与计算的其他成员,主要是针对在无可信第三方的情况下,如何安全地计算一个约定函数的问题,安全多方计算在电子选举

电子投票

电子拍卖

秘密共享

门限签名等场景中有着重要的作用

[0003]因此,如何在不公开任何一个参与方的数据的情况下,计算所有参与方中的部分参与方的数据的和值是亟需解决的问题


技术实现思路

[0004]本申请提供一种安全多方计算数据局部和值的方法和系统,具有安全计算多方数据局部和值的特点

[0005]本申请目的一是提供一种安全多方计算数据局部和值的方法

[0006]本申请的上述申请目的一是通过以下技术方案得以实现的:一种安全多方计算数据局部和值的方法,设裁判方

参与方和申请计算数据局部和值的申请方,参与方有
k
个,
k≥2
,参与方的数据记为
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
)
发送给裁判方;裁判方根据所述比值序列
(f1,

,f
k
)
和解密模型得到按照升序方式或者降序方式排列的排序序列
(s0,s1,

,s
k
)
,所述
s
i
表示第
i
个参与方的数据
d
i

k+1
方数据中的排序序号,再根据划分模型将所述排序序列
(s0,s1,

,s
k
)
划分为第一序列

第二序列以及第三序列,将所述第一序列

第二序列以及第三序列发送给申请方;
所述申请方设定比值
f0=1,将
f0插入比值序列
(f1,

,f
k
)
得到新的比值序列
(f0,f1,

,f
k
)
,根据所述第一序列

第二序列

第三序列将新的比值序列
(f0,f1,

,f
k
)
划分为第一比值序列

第二比值序列以及第三比值序列,提取第一比值序列中的
z
个数值输入和值加密模型中得到第一加密值
f
z1

提取第二比值序列中的
z
个数值输入和值加密模型中得到第二加密值
f
z2

提取第三比值序列中的
z
个数值输入和值加密模型中得到第三加密值
f
z3
,根据第一加密值
f
z1

第二加密值
f
z2

第三加密值
f
z3
生成加密值序列
(f
z1
,f
z2
,f
z3
)
,并发送所述加密值序列
(f
z1
,f
z2
,f
z3
)
给裁判方;裁判方根据所述加密值序列
(f
z1
,f
z2
,f
z3
)
和解密模型得到目标和值序列
(y
z1
,y
z2
,y
z3
)
,并将目标和值序列
(y
z1
,y
z2
,y
z3
)
返回给申请方;申请方根据所述目标和值序列
(y
z1
,y
z2
,y本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种安全多方计算数据局部和值的方法,其特征在于:设裁判方

参与方和申请计算数据局部和值的申请方,参与方有
k
个,
k≥2
,参与方的数据记为
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
)
发送给裁判方;裁判方根据所述比值序列
(f1,

,f
k
)
和解密模型得到按照升序方式或者降序方式排列的排序序列
(s0,s1,

,s
k
)
,所述
s
i
表示第
i
个参与方的数据
d
i

k+1
方数据中的排序序号,再根据划分模型将所述排序序列
(s0,s1,

,s
k
)
划分为第一序列

第二序列以及第三序列,将所述第一序列

第二序列以及第三序列发送给申请方;所述申请方设定比值
f0=1,将
f0插入比值序列
(f1,

,f
k
)
得到新的比值序列
(f0,f1,

,f
k
)
,根据所述第一序列

第二序列

第三序列将新的比值序列
(f0,f1,

,f
k
)
划分为第一比值序列

第二比值序列以及第三比值序列,提取第一比值序列中的
z
个数值输入和值加密模型中得到第一加密值
f
z1

提取第二比值序列中的
z
个数值输入和值加密模型中得到第二加密值
f
z2

提取第三比值序列中的
z
个数值输入和值加密模型中得到第三加密值
f
z3
,根据第一加密值
f
z1

第二加密值
f
z2

第三加密值
f
z3
生成加密值序列
(f
z1
,f
z2
,f
z3
)
,并发送所述加密值序列
(f
z1
,f
z2
,f
z3
)
给裁判方;裁判方根据所述加密值序列
(f
z1
,f
z2
,f
z3
)
和解密模型得到目标和值序列
(y
z1
,y
z2
,y
z3
)
,并将目标和值序列
(y
z1
,y
z2
,y
z3
)
返回给申请方;申请方根据所述目标和值序列
(y
z1
,y
z2
,y
z3
)
计算得到实际和值序列
(y
s1
,y
s2
,y
s3
)。2.
根据权利要求1所述的安全多方计算数据局部和值的方法,其特征在于:所述裁判方还用于根据所述请求指令和估算规则确定数值
A
包括:所述请求指令包括数据类型;根据所述数据类型在数据库中匹配与数据类型对应的
w
组数组,所述数组中包括多个数...

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

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

1