一种多方安全的比较方法、装置、终端设备及存储介质与流程

文档序号:37677101发布日期:2024-04-18 20:49阅读:9来源:国知局
一种多方安全的比较方法、装置、终端设备及存储介质与流程

本技术实施例属于计算机,特别是涉及一种多方安全的比较方法、装置、终端设备及存储介质。


背景技术:

1、多方安全计算(secure muti-party computation,mpc),指通过加密手段使得多方节点在互相不知晓数据的情况下完成协同计算。多方安全计算可以保证每个参与方仅能获取自己计算的结果,无法通过计算过程中的交互数据推测出其他任意一方的输入数据和输出数据。

2、安全大小比较算法则是多方安全计算中最常使用到的算法之一,是多方安全计算中的一种专门用于执行比较任务的算法。安全大小比较算法指在不暴露双方具体数值的前提下,获取双方数值的大小关系。然而在现有的安全大小比较算法中,当执行方a需要知道查询对象在执行方b、执行方c和执行方d三方中的总和是否大于某一目标比较值时,需要执行方b、执行方c和执行方d先通过多方安全求和算法计算出查询对象在三方中的总和,而后再将计算得到的总和真实值告知执行方a。如此,执行方a便可以确定查询对象在执行方b、执行方c和执行方d三方中的总和是否大于目标比较值。但通过上述方式实现安全大小比较算法时,执行方b、执行方c和执行方d的真实总和会在节点间传输,因此现有的安全大小比较算法会导致执行方b、执行方c和执行方d三方中的总和真实值被泄露。因此,现有的安全大小比较算法仍然存在数据泄露问题,无法实现完全的多方安全计算。


技术实现思路

1、有鉴于此,本技术实施例提供了一种多方安全的比较方法、装置、终端设备及存储介质,用以在不泄露任何隐私数据的前提下,确定查询对象的目标比较值与该查询对象在多个执行方中的总和真实值之间的大小关系,进而实现完全的多方安全大小比较。

2、本技术实施例的第一方面提供了一种多方安全的比较方法,应用于发起方的第一终端,包括:

3、基于预设的划分算法将查询对象对应的目标比较值划分为n个第一隐私值;所述n个第一隐私值之和等于所述目标比较值;所述n为参与方的个数;

4、将各个所述第一隐私值分别发送至对应的所述参与方的第二终端;

5、基于多个所述第二终端反馈的第二隐私值确定隐私总和;所述第二隐私值由所述参与方基于所述第一隐私值和预设的隐私算法确定后发送给所述第一终端;

6、基于所述隐私总和确定比较结果;所述比较结果用于确定所述查询对象在所有所述参与方中的真实总和与所述目标比较值之间的大小关系。

7、在第一方面的一种可能的实现方式中,所述基于所述隐私总和确定比较结果,包括:

8、若所述隐私总和大于预设值,则生成第一比较结果;所述第一比较结果用于表示所述真实总和大于所述目标比较值;

9、若所述隐私总和等于预设值,则生成第二比较结果;所述第二比较结果用于表示所述真实总和等于所述目标比较值;

10、若所述隐私总和小于预设值,则生成第三比较结果;所述第二比较结果用于表示所述真实总和小于所述目标比较值。

11、在第一方面的一种可能的实现方式中,所述基于预设的划分算法将查询对象对应的目标比较值划分为n个第一隐私值,包括:

12、对于任一所述参与方,从所述参与方对应的划分范围中,确定所述参与方对应的第一隐私值;所述划分范围包括第一限值和第二限值;所述划分范围中的第一限值由所述目标比较值和已划分的第一隐私值确定而成。

13、本技术实施例的第二方面提供了一种多方安全的比较方法,应用于任一参与方的第二终端,包括:

14、接收发起方所在的第一终端发送的第一隐私值;所述第一隐私值由所述参与方通过预设的划分算法对查询对象对应的目标比较值划分而成;n个所述第一隐私值的和等于所述目标比较值;所述n为参与方的个数;

15、将所述第一隐私值输入至预设的隐私算法中,确定第二隐私值;

16、将所述第二隐私值发送至所述第一终端;所述第二隐私值用于在所述发起方中根据多个所述第二隐私值确定隐私总和;所述隐私总和用于在所述发起方中确定比较结果;所述比较结果用于确定所述查询对象在所有所述参与方中的真实总和与所述目标比较值之间的大小关系。

17、在第二方面的一种可能的实现方式中,所述将所述第一隐私值输入至预设的隐私算法中,确定第二隐私值,包括:

18、将所述第一隐私值输入至差值公式中,确定隐私差值;

19、根据至少一个第一密钥和所述隐私差值确定所述第二隐私值;所述第一密钥由所述任一参与方所在的第二终端与其他参与方所在的第三终端通过预设的密钥协商协议确定而成。

20、在第二方面的一种可能的实现方式中,所述差值公式包括随机系数;

21、在所述将所述第一隐私值输入至差值公式中,确定隐私差值之前,还包括:

22、通过预设的排序算法对至少一个第二密钥和至少一个第三密钥进行排序,生成随机数种子;所述第二密钥由所述任一参与方所在的第二终端与其他参与方所在的第三终端通过所述密钥协商协议确定而成;所述第三密钥由至少两个所述其他参与方的第三终端通过所述密钥协商协议确定而成;

23、将所述随机数种子输入至预设的伪随机数发生器,确定所述随机系数。

24、在第二方面的一种可能的实现方式中,所述差值公式具体如下所示:

25、vi=(mi-ki)r

26、所述vi用于表示第i参与方对应的所述隐私差值;所述mi用于表示所述查询对象在所述第i参与方中的真实值;所述ki用于表示第i参与方对应的所述第一隐私值;所述r用于表示随机系数。

27、本技术实施例的第三方面提供了一种多方安全的比较装置,应用于发起方的第一终端,包括:

28、划分模块,用于基于预设的划分算法将查询对象对应的目标比较值划分为n个第一隐私值;所述n个第一隐私值之和等于所述目标比较值;所述n为参与方的个数;

29、分发模块,用于将各个所述第一隐私值分别发送至对应的所述参与方的第二终端;

30、总和确定模块,用于基于多个所述第二终端反馈的第二隐私值确定隐私总和;所述第二隐私值由所述参与方基于所述第一隐私值和预设的隐私算法确定后发送给所述第一终端;

31、比较模块,用于基于所述隐私总和确定比较结果;所述比较结果用于确定所述查询对象在所有所述参与方中的真实总和与所述目标比较值之间的大小关系。

32、本技术实施例的第四方面提供了一种多方安全的比较装置,应用于任一参与方的第二终端,包括:

33、接受模块,用于接收发起方所在的第一终端发送的第一隐私值;所述第一隐私值由所述参与方通过预设的划分算法对查询对象对应的目标比较值划分而成;n个所述第一隐私值的和等于所述目标比较值;所述n为参与方的个数;

34、隐私计算模块,用于将所述第一隐私值输入至预设的隐私算法中,确定第二隐私值;

35、发送模块,用于将所述第二隐私值发送至所述第一终端;所述第二隐私值用于在所述发起方中根据多个所述第二隐私值确定隐私总和;所述隐私总和用于在所述发起方中确定比较结果;所述比较结果用于确定所述查询对象在所有所述参与方中的真实总和与所述目标比较值之间的大小关系。

36、本技术实施例的第五方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的多方安全的比较方法。

37、本技术实施例的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的多方安全的比较方法。

38、本技术实施例的第七方面提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面所述的多方安全的比较方法。

39、与现有技术相比,本技术实施例具有以下优点:

40、在本技术实施例中,发起方所在的第一终端可以根据开发人员预先设定的划分算法,将查询对象对应的目标比较值划分为n个第一隐私值;其中,第一终端划分出的n个第一隐私值的和等于查询对象对应的目标比较值;n可以为参与方的个数;第一终端划分出多个第一隐私值后,可以将各个第一隐私值分别发送至对应的参与方所在的第二终端;第一终端在发送多个第一隐私值之后,可以根据多个第二终端反馈的第二隐私值确定隐私总和;其中,第二终端反馈的第二隐私值是由参与方所在的第二终端根据接受到的第一隐私值和开发人员预先设定的隐私算法计算而成,并发送至第一终端的;第一终端可以根据隐私总和确定比较结果;第一终端确定的比较结果可以用于确定查询对象在所有参与方中的真实总和与查询对象对应的目标比较值之间的大小关系。通过本实施例提供的方法,在执行大小比较时,第一终端无需将目标比较值的真实值发送至各个参与方所在的第二终端,第二终端也无需将查询对象对应的真实总和发送至第一终端。因此,本实施例提供的方法可以在不泄露任何真实值的情况下,完成大小比较。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1