【技术实现步骤摘要】
两方安全比较的方法及系统
[0001]本说明书一个或多个实施例涉及安全
,尤其涉及一种两方安全比较的方法及系统。
技术介绍
[0002]安全多方计算(Secure Multi
‑
Party Computation,MPC),允许多个数据所有者在互不信任的情况下进行协同计算,输出计算结果,并保证任何一方均无法得到除应得的计算结果之外的其它任何信息。换句话说,MPC可以获取数据使用价值,却不泄露原始数据内容。
[0003]MPC可基于混淆电路(Garbled Circuit,GC)而实现。GC是一种两方安全多方计算协议,对实现一个计算函数的布尔电路用密码函数生成混淆表,对两方输入计算出结果,并且在计算过程中一方输入不会泄漏给另一方。在传统的GC方案中,安全多方计算的各参与方需要进行复杂的交互,这导致GC方案的网络代价过高,严重影响MPC的应用广度。
技术实现思路
[0004]本说明书一个或多个实施例描述了一种两方安全比较的方法及系统,用以在保证安全多方计算的安全性的情况下,降低网络 ...
【技术保护点】
【技术特征摘要】
1.一种两方安全比较的方法,包括:第一方向第二方发送比较请求;其中包括n个标识和L个基值;所述n个标识包括目标标识和n
‑
1个混淆标识;所述L个基值至少基于所述目标标识对应的第一数据的L位二进制数而确定;所述第二方获取所述n个标识对应的n个第二数据;所述第二方生成布尔电路,用于对所述第一数据与所述n个第二数据进行比较;所述第二方基于所述L个基值生成所述布尔电路的混淆表,并将其提供给所述第一方;所述第一方利用与所述L个基值关联生成的L个本地选择标签,解密所述混淆表,并至少根据解密结果,确定所述目标标识对应的第二数据与所述第一数据的目标比较结果。2.根据权利要求1所述的方法,其中,所述第二方基于所述L个基值生成所述布尔电路的混淆表,包括:利用与所述第一方约定的标签生成器,基于所述L个基值,生成L对OT标签;根据所述L对OT标签,确定对应于所述第一数据的L根输入线的标注字符串;所述方法还包括:所述第一方利用所述标签生成器,与所述L个基值关联地生成所述L个本地选择标签,其中,第i个本地选择标签,是第i对OT标签所含标签之一。3.根据权利要求2所述的方法,其中,所述L个基值中的第i个基值,基于所述第一数据的第i位二进制数和约定随机数而确定;所述标签生成器对应于约定的哈希函数;所述利用与所述第一方约定的标签生成器,基于所述L个基值,生成L对OT标签,包括:基于所述第i个基值并利用所述哈希函数,确定第一标签;基于所述第i个基值与所述约定随机数之差,并利用所述哈希函数,确定第二标签;所述第一标签和所述第二标签构成第i对OT标签。4.根据权利要求2所述的方法,其中,任意的第i对OT标签包括第一标签和第二标签;所述根据所述L对OT标签,确定对应于所述第一数据的L根输入线的标注字符串,包括:将所述第一标签,作为第i根输入线的真值0对应的标注字符串;将所述第二标签,作为第i根输入线的真值1对应的标注字符串。5.根据权利要求2所述的方法,其中,任意的第i对OT标签包括第一标签和第二标签,所述方法还包括:将所述第一标签与偏移值进行异或运算,得到第三标签;所述根据所述L对OT标签,确定对应于所述第一数据的L根输入线的标注字符串,包括:将所述第一标签,作为第i根输入线的真值0对应的标注字符串;将所述第三标签,作为第i根输入线的真值1对应的标注字符串。6.根据权利要求5所述的方法,还包括:对所述第一标签、所述第二标签以及所述偏移值进行异或运算,得到第i根输入线的加密字符串;将所述L根输入线的L个加密字符串提供给所述第一方;所述第一方根据所述L个加密字符串,更新所述L个本地选择标签;所述解密所述混淆表,包括:利用更新的L个本地选择标签,解密所述混淆表。
7.根据权利要求6所述的方法,其中,所述第一方根据所述L个加密字符串,更新所述L个本地选择标签,包括:对于第i个本地选择标签,若与其相关联的第i个基值基于二进制数0而确定,则将所述第i个本地选择标签作为更新的第i个本地选择标签;否则,对所述第i个本地选择标签与第i个加密字符串进行异或运算,并将异或结果作为更新的第i个本地选择标签。8.根据权利要求1所述的方法,其中,所述布尔电路具有n根输出线,所述方法还包括:所述第二方获取所述n根输出线各自的真值0对应的第一字符串的最低比特,并将得到的n个比特,作为所述第一数据与所述n个第二数据的n个比较结果对应的n个第一结果分片;所述第一方通过与所述第二方执行OT协议,从所述n个第一结果分片中选取第一目标分片;所述确定所述目标标识对应的第二数据与所述第一数据的目标比较结果,包括:根据所述解密结果以及所述第一目标分片,确定所述目标比较结果。9.根据权利要求8所述的方法,其中,所述比较请求还包括1个其它基值;所述从n个第一结果分片中选取第一目标分片,包括:所述第二方利用所述标签生成器,基于所述其它基值,生成n个OT标签;所述第二方利用所述n个OT标签,加密所述n个第一结果分片,得到加密结果;所述第一方利用与所述其它基值关联生成的目标OT标签,对所述加密结果进行解密,得到所述第一目标分片;所述目标OT标签是所述n个OT标签中之一。10.根据权利要求9所述的方法,其中,所述其它基值,基于所述目标标识的位置序号和约定随机数而确定;所述第二方利用所述标签生成器,基于所述其它基值,生成n个OT标签,包括:迭代地执行n轮标签生成,其中第j轮标签生成包括,对所述其它基值与当前轮次和所述约定随机数的乘积求差,并基于差值,利用所述哈希函数,确定本轮生成的OT标签。11.根据权利要求9所述的方法,其中,所述第二方利用所述n个OT标签,加密所述n个第一结果分片,包括:分别获取所述n个OT标签各自的最低比特;对所述n个OT标签各自的最低比特与所述n个第一结果分片进行异或运算,得到所述加密结果。12.根据权利要求8所述的方法,其中,所述解密结果包括所述第一方算出的所述n根输出线各自的目标字符串;所述根据所述解密结果以及所述第一目标分片,确定所述目标比较结果,包括:获取所述n根输出线各自的目标字符串的最低比特,并将得到的n个比特作为所述n个比较结果对应的n个第二结果分片;对所述第一目标分片与第二目标分片进行异或运算,得到所述目标比较结果;所述第二目标分片是根据所述目标标识...
【专利技术属性】
技术研发人员:赵原,李漓春,殷山,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。