一种数据处理方法、装置、系统和可读存储介质制造方法及图纸

技术编号:38713644 阅读:12 留言:0更新日期:2023-09-08 14:56
本发明专利技术实施例提供了一种数据处理方法、装置、系统和可读存储介质,方法包括:数据提供方生成t个k+s位的第一随机数,并基于原始数据和第一随机数,计算得到t个第一中间变量;数据提供方将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给计算方;计算方基于第一中间变量分享、原始数据分享、第一随机数分享以及MAC密钥分享,计算第一MAC分享;计算方验证第一条件是否成立,若成立则获得原始数据分享和第一MAC分享,否则终止协议;第一条件为:MAC密钥分享与原始数据分享基于秘密分享下的乘法结果等于第一MAC分享。本发明专利技术实施例可以为代理计算场景下的SPDZ

【技术实现步骤摘要】
一种数据处理方法、装置、系统和可读存储介质


[0001]本专利技术涉及多方安全计算领域,尤其涉及一种数据处理方法、装置、系统和可读存储介质。

技术介绍

[0002]多方安全计算(Multi

party Computation,MPC),又称为安全多方计算,指多个参与方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据。
[0003]秘密分享(Secret Share)是密码学中由多个参与方进行秘密分发、保存、计算、恢复的信息保护协议。各个参与方可以将一份数据分成多份,每份称为一个分享(或分片)并分发给其他参与方,之后通过计算和通信,可以完成对这些数据正确的函数计算并且保障参与方数据的隐私。
[0004]在恶意敌手模型下,基于有限环的加法秘密分享的多方安全计算方案(如SPDZ
2k
)通常使用MAC(Message Authentication Code,消息验证码)来防止敌手在输入、计算、输出过程中对数据进行篡改。具体地,每个参与方设置隐私的MAC密钥分享[α]。在输入数据时使用数据分享[x]和MAC密钥分享[α],计算MAC分享[m];在计算时除对[x]进行计算外,也会对[m]进行对应计算,始终保持[m] = [α]×
[x];输出数据时,验证[m]= [α]×
[x],若满足则输出x,若不满足则说明存在篡改行为,放弃协议。
[0005]然而,SPDZ
2k
方案仅适用所有参与方均为计算方的场景,如果数据提供方和计算方分别为独立的节点,由于数据提供方通常算力较低,不参与大规模计算和通信任务,无法完成上述输入数据时所需的计算。因此SPDZ
2k
方案不适用于代理计算场景。

技术实现思路

[0006]本专利技术实施例提供一种数据处理方法、装置、系统和可读存储介质,可以为代理计算场景下的SPDZ
2k
方案提供准确的输入数据,从而为实现代理计算场景下的SPDZ
2k
方案提供基础,并且可以保护数据隐私安全。
[0007]第一方面,本专利技术实施例公开了一种数据处理方法,应用于多方安全计算系统,所述多方安全计算系统用于恶意敌手模型下基于环的秘密分享的多方安全计算,所述多方安全计算系统包括数据提供方和计算方,所述计算方的个数大于1,所述数据提供方拥有t个k位的原始数据,所述计算方拥有MAC密钥分享,所述方法包括:所述数据提供方生成t个k+s位的第一随机数,并基于所述原始数据和所述第一随机数,计算得到t个第一中间变量;所述数据提供方将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给所述计算方,使得所述计算方获得第一中间变量分享、原始数据分享以及第一随机数分享;所述计算方基于所述第一中间变量分享、所述原始数据分享、所述第一随机数分享以及所述MAC密钥分享,计算第一MAC分享;
所述计算方验证第一条件是否成立,若成立则获得所述原始数据分享和所述第一MAC分享,否则终止协议;所述第一条件为:所述MAC密钥分享与所述原始数据分享基于秘密分享下的乘法结果等于所述第一MAC分享。
[0008]第二方面,本专利技术实施例公开了一种多方安全计算系统,所述多方安全计算系统用于恶意敌手模型下基于环的秘密分享的多方安全计算,所述多方安全计算系统包括数据提供方和计算方,所述计算方的个数大于1,所述数据提供方拥有t个k位的原始数据,所述计算方拥有MAC密钥分享,其中:所述数据提供方,用于生成t个k+s位的第一随机数,并基于所述原始数据和所述第一随机数,计算得到t个第一中间变量;所述数据提供方,还用于将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给所述计算方,使得所述计算方获得第一中间变量分享、原始数据分享以及第一随机数分享;所述计算方,用于基于所述第一中间变量分享、所述原始数据分享、所述第一随机数分享以及所述MAC密钥分享,计算第一MAC分享;所述计算方,还用于验证第一条件是否成立,若成立则获得所述原始数据分享和所述第一MAC分享,否则终止协议;所述第一条件为:所述MAC密钥分享与所述原始数据分享基于秘密分享下的乘法结果等于所述第一MAC分享。
[0009]第三方面,本专利技术实施例公开了一种用于数据处理的装置,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如前述一个或多个所述的数据处理方法的指令。
[0010]第四方面,本专利技术实施例公开了一种机器可读存储介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。
[0011]本专利技术实施例包括以下优点:本专利技术实施例对SPDZ
2k
方案进行扩展,在数据提供方和计算方为独立的节点的情况下,数据提供方生成第一随机数,并基于其持有的原始数据和所述第一随机数,计算得到第一中间变量,将第一中间变量、原始数据以及第一随机数通过秘密分享发送给计算方,该过程不会暴露原始数据的明文。计算方基于第一中间变量分享、原始数据分享、第一随机数分享以及其持有的MAC密钥分享,计算第一MAC分享,该过程不需要数据提供方获取计算方的MAC密钥分享。计算方在验证第一条件成立时,可以确定其获取的原始数据分享和第一MAC分享正确,则可以将该原始数据分享和第一MAC分享作为数据输入阶段的结果,否则终止协议。由此,在数据输入阶段,本专利技术实施例可以在数据提供方无需获取计算方的MAC密钥分享并且数据提供方不泄露自身的原始数据的前提下,使得计算方可以获取正确的原始数据分享和MAC分享,以使计算方可以根据获取的原始数据分享和MAC分享进行多方安全计算。数据提供方只需在本地进行分片操作以及一些模乘运算,将分片发送给计算方即可。数据提供方不用进行复杂计算,将复杂计算放在计算方执行。由此,本专利技术实施例提供的数据处理方法可以将SPDZ
2k
方案扩展至代理计算场景。也即,数据提供方和计算方分别为独立的节点,数据提供方可以不用集成密文计算引擎,也没有较高计算资源的要求。本专利技术实施例
可以为代理计算场景下的SPDZ
2k
方案提供准确的输入数据,从而为实现代理计算场景下的SPDZ
2k
方案提供基础,并且数据提供方不会获取计算方的MAC密钥分享,计算方也不会获取数据方的原始数据明文,可以保护数据隐私安全。
[0012]进一步地,本专利技术实施例提供的数据处理方法还可用于结果获取方与计算方独立的场景。在数据输出阶段,可以在结果获取方无需获取计算方的MAC密钥分享的前提下,使得结果获取方可以获得正确的计算结果,并保证数据隐私安全。由此,通过本专利技术实施例可以实现代理计算场景下的SPDZ
2k
方案。
附图说明
[0013]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于多方安全计算系统,所述多方安全计算系统用于恶意敌手模型下基于环的秘密分享的多方安全计算,所述多方安全计算系统包括数据提供方和计算方,所述计算方的个数大于1,所述数据提供方拥有t个k位的原始数据,所述计算方拥有MAC密钥分享,所述方法包括:所述数据提供方生成t个k+s位的第一随机数,并基于所述原始数据和所述第一随机数,计算得到t个第一中间变量;所述数据提供方将每个第一中间变量、每个原始数据以及每个第一随机数通过秘密分享发送给所述计算方,使得所述计算方获得第一中间变量分享、原始数据分享以及第一随机数分享;所述计算方基于所述第一中间变量分享、所述原始数据分享、所述第一随机数分享以及所述MAC密钥分享,计算第一MAC分享;所述计算方验证第一条件是否成立,若成立则获得所述原始数据分享和所述第一MAC分享,否则终止协议;所述第一条件为:所述MAC密钥分享与所述原始数据分享基于秘密分享下的乘法结果等于所述第一MAC分享。2.根据权利要求1所述的方法,其特征在于,所述计算第一MAC分享,包括:[m
h
]
k+s = ([α]
k+s +[r
h
]
k+s
)
×
[x
h
]
k+s
ꢀ‑

h
]
k+s
,h=1,2,..,t;其中,[m
h
]
k+s
表示第一MAC分享,[δ
h
]
k+s
表示第一中间变量分享,[x
h
]
k+s
表示原始数据分享,[r
h
]
k+s
表示第一随机数分享,[α]
k+s
表示MAC密钥分享。3.根据权利要求1所述的方法,其特征在于,所述计算方验证第一条件是否成立,包括:所述计算方生成第二随机数,并对所述第二随机数进行秘密分享,得到所述第二随机数对应的第二随机数分享;所述计算方计算所述MAC密钥分享和所述第二随机数分享基于秘密分享下的乘积,得到第二MAC分享;所述计算方基于所述第二MAC分享验证第一条件是否成立。4.根据权利要求3所述的方法,其特征在于,所述计算方基于所述第二MAC分享验证第一条件是否成立,包括:每个计算方分别生成公开随机数(χ1,..., χ
t
) mod 2
s
;第j个计算方计算y
j =∑
th=1
χ
h
×
x
jh + x
jt+1 mod2
k+s
并广播,j的取值为1~n,n为计算方的个数;第j个计算方计算y = ∑
nj=1 y
j
,M
j =∑
th=1
χ
h
×
m
jh + m
jt+1 mod2
k+s
;第j个计算方计算、承诺并打开z
j = M
j
ꢀ–ꢀ
α
j
×
y
j mod2
k+s
;每个计算方分别计算z = ∑
nj=1 z
j mod 2
k+s
,并验证是否满足z = 0,若满足则确定第一条件成立,若不满足则确定第一条件不成立。5.根据权利要求1所述的方法,其特征在于,所述多方安全计算系统还包括结果接收方,所述方法还包括:所述计算方基于所述原始数据分享进行多方安全计算,得到结果分享;所述计算方对所述第一MAC分享进行所述多方安全计算相对应的计算,得到第三MAC分享;所述计算方基于所述结果分享和所述第三MAC分享,计算得到第二中间变量分享,并将
所述结果分享和所述第二中间变量分享发送给所述结果接收方;所述结果接收方基于所述第二中间变量分享验证所述结果分享是否正确,若正确则将所述结果分享恢复得到输出结果,否则终止协议。6.根据权利要求5所述的方法,其特征在于,所述计算方基于所述结果分享和所述第三MAC分享,计算得到第二中间变量分享,包括:所述计算方生成第四随机数分享,以及基于持有的所述原始数据分享和所述第一MAC分享,生成第四MAC分享;所述计算方基于所述结果分享和所述第四随机数分享计算得到第一更新分享,以及基于所述第三MAC分享和所述第四MAC分享计算得到第二更新分享;所述计算方基于所述第四随机数分享和所述MAC密钥分享计算得到第三更新分享,以及基于所述第四随机数分享、所述第一更新分享和所述第二更新分享计算得到第四更新分享;将所述第一更新分享、所述第三更新分享和所述第四更新分享作为第二中间变量分享。7.根据权利要求6所述的方法,其特征在于,所述结果接收方基于所述第二中间变量分享验证所述结果分享是否正确,包括:所述结果接收方基于接收到的第二中间变量分享,恢复得到所述第一更新分享、所述第三更新分享和所述第四更新分享分别对应的第一恢复值、第三恢复值和第四恢复值;所述结果接收方验证第二条件是否成立,若成立则确定所述结果分享正确,否则确定所述结果分享不正确;所述第二条件包括:所述第一恢复值与所述第三恢复值的乘积等于所述第四恢复值。8.一种多方安全计算系统,其特征在于,所述多方安全计算系统用于恶意敌手模型下基于环的秘密分享的多方安全计算,所述多方...

【专利技术属性】
技术研发人员:刘文心李艺
申请(专利权)人:华控清交信息科技北京有限公司
类型:发明
国别省市:

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

1