【技术实现步骤摘要】
隐私求交的方法及装置
本说明书一个或多个实施例涉及计算机
,尤其涉及隐私求交的方法及装置。
技术介绍
安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。例如,安全多方计算一个典型的应用是隐私求交。隐私求交(Privatesetintersection,PSI),或称为撞库,可以理解为在基于隐私保护的前提下,确定多方之间的交集。隐私求交往往是多方协同训练机器学习算法以及做多头借贷等业务的核心。隐私求交的核心思想是在协议交互的最后,一方或是多方应该得到正确的交集,而且不会得到交集以外其他方数据集合中的其他任何数据。隐私求交的过程中,数据量和通信量的多少,直接影响着计算机资源占用和隐私求交的效率。
技术实现思路
本说明书一个或多个实施例描述了一种隐私求交的方法及装置,用以解决
技术介绍
提到的一个或多个问题。根据第一方面,提供一种隐私求交的方法,用于针对持有若干条第一数据的第一方和持有若干条第二数据的第二方,由第一方获取所 ...
【技术保护点】
1.一种隐私求交的方法,用于针对持有若干条第一数据的第一方和持有若干条第二数据的第二方,由第一方获取所述若干条第一数据与所述若干条第二数据中的相同业务数据,且第二方不能获取该相同业务数据以及不能确定任一条第二数据是否属于第一方,第一方还预先存储有利用第一密钥分别对各条第一数据加密得到的各个第一密文;所述方法包括:/n第一方与第二方协商当前盐;/n第一方基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;/n第二方基于第二密钥及所述当前盐,确定各个第二数据分别对应的各个第二加盐密文,以提供给第一方;/n第一方利用所述第一密钥对各个第二加盐密文进行加 ...
【技术特征摘要】
1.一种隐私求交的方法,用于针对持有若干条第一数据的第一方和持有若干条第二数据的第二方,由第一方获取所述若干条第一数据与所述若干条第二数据中的相同业务数据,且第二方不能获取该相同业务数据以及不能确定任一条第二数据是否属于第一方,第一方还预先存储有利用第一密钥分别对各条第一数据加密得到的各个第一密文;所述方法包括:
第一方与第二方协商当前盐;
第一方基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;
第二方基于第二密钥及所述当前盐,确定各个第二数据分别对应的各个第二加盐密文,以提供给第一方;
第一方利用所述第一密钥对各个第二加盐密文进行加密,得到各个第二数据分别对应的第三加盐密文以乱序后提供给第二方;
第二方通过所述第二密钥的逆元素对各个第三加盐密文解密,得到基于所述第一密钥、所述当前盐,分别针对各个第二数据的各个第四加盐密文;
第二方对比各个第四加盐密文与各个第一加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;
第一方根据第二方反馈的各个位置标识,确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据。
2.根据权利要求1所述的方法,其中,所述当前盐基于从预定元素集合中选定的基准元素以及所述第一密钥、所述第二密钥确定,所述预定元素集合中的元素满足以下条件:任意两个元素在预定加密方式下的融合结果,仍为所述预定元素集合中的元素;针对单个元素的两次按照预定加密方式的加密过程具有可交换性。
3.根据权利要求2所述的方法,其中,所述预定元素集合为椭圆曲线上的点集,各个预定元素分别为椭圆曲线上的各个点,所述基准元素为椭圆曲线上的参考点,所述预定加密方式为点乘操作;
所述第一方与第二方协商当前盐包括:
第一方和第二方的其中一方生成第一随机字符串,并利用所述第一随机字符串对所述参考点执行点乘操作,得到第一结果,以将所述第一结果发送给第一方和第二方中的另一方,所述第一结果对应所述椭圆曲线上的点;
所述另一方基于本地生成的第二随机字符串,对所述第一结果进行点乘操作,得到所述当前盐。
4.根据权利要求2所述的方法,其中,所述预定元素集合为有限域,各个预定元素分别为有限域中的Q个元素,所述预定加密方式为模幂操作;
所述第一方与第二方协商当前盐包括:
第一方生成第三随机字符串,第二方生成第四随机字符串;
第一方和第二方利用所述第三随机字符串和所述第四随机字符串,联合对Q进行模幂操作,得到所述当前盐。
5.根据权利要求1所述的方法,其中,所述第一方基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文包括:
第一方利用第一密钥对所述当前盐加密,得到盐的密文;
基于所述盐的密文对各个第一密文进行加盐操作,得到各条第一数据分别对应的各个第一加盐密文。
6.根据权利要求5所述的方法,其中:
在各个第一密文和所述盐的密文分别映射为椭圆曲线上的各个点的情况下,所述基于所述盐的密文对各个第一密文进行加盐操作包括:
针对单个第一密文,对所述单个第一密文对应到椭圆曲线上的点和所述盐的密文对应到椭圆曲线上的点执行点加操作;
在各个第一密文和所述盐的密文分别映射为有限域中的各个元素的情况下,所述基于所述盐的密文对各个第一密文进行加盐操作包括:
针对单个第一密文,对所述单个第一密文对应到有限域的数值和所述盐的密文对应到有限域的数值执行模乘操作。
7.根据权利要求1所述的方法,其中,第二方基于第二密钥及所述当前盐,确定各个第二数据分别对应的各个第二加盐密文包括:
根据所述当前盐,分别对各个第二数据执行加盐操作,得到各自对应的第二加盐数据;
利用所述第二密钥分别对各个第二加盐数据执行加密操作,得到各个第二数据分别对应的各个第二加盐密文。
8.一种隐私求交的方法,用于针对持有若干条第一数据的第一方和持有若干条第二数据的第二方,由第一方获取所述若干条第一数据与所述若干条第二数据的数据交集,且第二方不能获取数据交集以及不能确定任一条第二数据是否属于第一方,第一方还预先存储有利用第一密钥分别对各条第一数据加密得到的各个第一密文;所述方法由第一方执行,包括:
与第二方协商当前盐;
基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文,以提供给第二方;
接收第二方发送的与各条第二数据分别对应的各个第二加盐密文,其中,各个第二加盐密文由第二方基于第二密钥及所述当前盐,分别针对各条第二数据进行加密操作确定;
利用所述第一密钥对各个第二加盐密文加密,得到分别与各条第二数据对应的各个第三加盐密文;
将各个第三加盐密文经过乱序操作后反馈至第二方,以供第二方通过第二密钥的逆元素对各个第三加盐密文解密,得到基于所述第一密钥、所述当前盐,分别针对各个第二数据的各条第四加盐密文,并对比各个第一加盐密文和各个第四加盐密文,将具有相匹配的第四加盐密文的各个第一加盐密文所对应的各个位置标识反馈至第一方;
根据第二方反馈的各个位置标识,确定所述若干条第一数据与所述若干条第二数据之间的相同业务数据。
9.根据权利要求8所述的方法,其中,所述当前盐基于从预定元素集合中选定的基准元素以及所述第一密钥、所述第二密钥确定,所述预定元素集合中的元素满足以下条件:任意两个元素在预定加密方式下的融合结果,仍为所述预定元素集合中的元素;针对单个元素的两次按照预定加密方式的加密过程具有可交换性。
10.根据权利要求9所述的方法,其中,所述预定元素集合为椭圆曲线上的点集,各个预定元素分别为椭圆曲线上的各个点,所述基准元素为椭圆曲线上的参考点,所述预定加密方式为点乘操作;
所述与第二方协商当前盐包括:
生成第一随机字符串;
将所述第一随机字符串与所述参考点执行点乘操作,得到第一结果,以将所述第一结果发送至第二方,以供第二方基于本地生成的第二随机字符串对所述第一结果执行点乘操作从而确定所述当前盐;或者
根据所述第一随机字符串对从第二方获取的第二结果执行点乘操作从而确定所述当前盐,其中,所述第二结果由第二方基于本地生成的第二随机字符串对所述参考点执行点乘操作得到。
11.根据权利要求9所述的方法,其中,所述预定元素集合为有限域,各个预定元素分别为有限域中的Q个元素,所述预定加密方式为模幂操作;
所述与第二方协商当前盐包括:
生成第三随机字符串;
基于所述第三随机字符串,与第二方生成的第四随机字符串联合对Q进行模幂操作,得到所述当前盐。
12.根据权利要求9所述的方法,其中,所述基于各个第一密文以及所述当前盐,确定各个第一数据的第一加盐密文包括:
利用所述第一密钥对所述当前盐进行加密,得到盐的密文;
针对各条第一密文,分别利用所述盐的密文执行加盐操作,得到相应的各个第一加盐密文。
13.一种隐私求交的方法,用于针对持有若干条第一数据的第一方和持有若干条第二数据的第二方,由第一方获取所述若干条第一数据与所述若干条第二数据中相同业务数据,且第二方不能获取该相同业务数据以及不能确定任一条第二数据是否属于第一方;所述方法由第二方执行,包括:
与第一方协商确定当前盐;
针对各条第二数据,分别基于第二密钥及所述当前盐进行加盐加密操作从而确定各条第二数据分别对应的各个第二加盐密文;
将各个第二加盐密文提供给第一方,以供第一方通过第一密钥对各个第二加盐密文加密,得到与各条第二数据分别对应的各个第三加盐密文,并反馈经过乱序操作的各个第三加盐密文;
通过所述第二密钥的逆元素对各个第三加盐密文解密,得到经由所述第一密钥、所述当前盐,分别针对各条第二数据加盐加密的各条第四加盐密文;
对比各个第四加盐密文和分别与各条第一数据对应的各个第一加盐密文,以得到具有...
【专利技术属性】
技术研发人员:赵原,李漓春,殷山,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。