基于多方安全计算的数据查询方法及装置制造方法及图纸

技术编号:31757689 阅读:16 留言:0更新日期:2022-01-05 16:41
本说明书实施例提供一种基于多方安全计算的数据查询方法及装置,在数据查询过程中,一方面,由第一方向第二方提供多个数据标识构成的混淆标识集,并将目标数据标识隐藏其中,以供第二方针对混淆标识集中的各个数据标识,将业务数据采用不同的密钥进行加密得到各自的数据密文提供给第一方。另一方面,第一方、第二方基于逆元素置换密钥的构思对查询目标对应的目标数据标识经由第一密钥、第二密钥、第一密钥的逆元素依次处理,在第一方得到由第二密钥加密的目标数据标识的密文,用于对目标数据进行解密。这种技术构思可以减少多方安全计算的查询过程的数据方通信轮次,提高多方安全计算的数据查询效率。计算的数据查询效率。计算的数据查询效率。

【技术实现步骤摘要】
基于多方安全计算的数据查询方法及装置


[0001]本说明书一个或多个实施例涉及计算机
,尤其涉及多方安全计算技术中的数据查询方法及装置。

技术介绍

[0002]安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。安全多方计算例如可以应用于隐私求交、联合训练机器学习模型、数据查询,等等。其中,在数据查询场景下,一个数据方持有数据(如为键值对中的value等),另一个数据方可以根据数据标识(例如key)查询数据。为了保护数据隐私,查询方不能向数据方泄露待查询数据的数据标识,数据方不能向查询方泄露待查询数据以外的其他数据。

技术实现思路

[0003]本说明书一个或多个实施例描述了一种基于多方安全计算的数据查询方法及装置,用以解决
技术介绍
提到的一个或多个问题。
[0004]根据第一方面,提供一种基于多方安全计算的数据查询方法,用于第一方在不泄露查询目标的情况下从持有多条数据的第二方获取目标数据,所述方法包括:第一方利用本地的第一密钥对所述查询目标对应的目标数据标识加密,得到第一目标密文,并将所述第一目标密文和混淆标识集提供给第二方,其中,所述混淆标识集包括与N条数据一一对应的N个数据标识,所述N个数据标识包括按照预定方式设置的所述目标数据标识;第二方利用本地的第二密钥对所述第一目标密文加密,得到第二目标密文,并且,分别对所述N条数据利用一一对应的N个数据密钥加密得到N条数据密文,其中,单个数据密钥经由所述第二密钥对相应的单个数据标识的加密结果确定;第二方向第一方提供所述第二目标密文,以及N条数据密文;第一方利用所述第一密钥的逆元素解密所述第二目标密文,得到所述第二密钥对所述目标数据标识加密的第三目标密文,从而根据所述第三目标密文解密N条数据密文中按照所述预定方式确定的目标数据密文,得到目标数据。
[0005]在一个实施例中,所述预定方式包括以下之一:所述目标数据标识位于所述N个数据标识的预定位置;所述目标数据标识在预定标志位为预定值。
[0006]在一方面的实施例中所述第一方利用本地的第一密钥对所述查询目标对应的目标数据标识加密,得到第一目标密文包括:将所述目标数据标识映射为椭圆曲线上的第一点;根据所述第一密钥对应的标量对所述第一点进行点乘操作,得到椭圆曲线上的第二点作为所述第一目标密文。
[0007]在一个进一步的实施例中,所述第二目标密文是基于所述第二密钥对应的标量对所述第二点进行点乘操作得到椭圆曲线上的第三点。
[0008]在另一个进一步的实施例中,单个数据密钥通过以下方式确定:将相应的单个数据标识映射为椭圆曲线上的单个点;根据所述第二密钥对应的标量对所述单个点进行点乘
操作,得到椭圆曲线上的点作为单个密钥点;基于所述单个密钥点的横坐标和/或纵坐标确定相应的单个数据密钥。
[0009]在另一方面的实施例中,所述第一方利用本地的第一密钥对所述查询目标对应的目标数据标识加密,得到第一目标密文包括:将所述目标数据标识映射为利用素数Q定义的有限域中的第一值;基于所述第一密钥对所述第一值的模幂操作,得到所述有限域中的第二值作为所述第一目标密文。
[0010]在一个进一步的实施例中,所述第二目标密文是基于所述第二密钥对所述第二值进行模幂操作得到所述有限域中的第三值。
[0011]在另一个进一步的实施例中,单个数据密钥通过以下方式确定:将相应的单个数据标识映射为所述有限域的单个值;基于所述第二密钥对所述单个值进行模幂操作,得到所述有限域中的值作为相应的单个数据密钥。
[0012]在一个实施例中,所述单条数据密文为单个数据密钥与相应单条数据的异或操作结果,第一方通过所述第三目标密文与目标数据标识对应的数据密文的异或操作,得到目标数据。
[0013]根据第二方面,提供一种基于多方安全计算的数据查询方法,由第一方用于在不泄露查询目标的情况下从持有多条数据的第二方获取目标数据,所述方法包括:利用本地的第一密钥对所述查询目标对应的目标数据标识加密,得到第一目标密文;向第二方提供所述第一目标密文和混淆标识集,其中,所述混淆标识集包括与N条数据一一对应的N个数据标识,以供第二方提供利用本地的第二密钥对所述第一目标密文加密得到的第二目标密文,以及对所述N条数据利用一一对应的N个数据密钥加密得到的N条数据密文,其中,所述N个数据标识包括按照预定方式设置的所述目标数据标识,单个数据密钥经由所述第二密钥对相应的单个数据标识的加密结果确定;利用所述第一密钥的逆元素解密所述第二目标密文,得到所述第二密钥对所述目标数据标识加密的第三目标密文;根据所述第三目标密文解密N条数据密文中按照所述预定方式确定的目标数据密文,得到目标数据。
[0014]根据第三方面,提供一种基于多方安全计算的数据查询方法,用于持有多条数据的第二方针对第一方的数据查询,在不获取第一方的查询目标且不泄露目标数据以外的其他数据情况下向第一方提供目标数据,所述方法包括:获取第一方利用本地的第一密钥对所述查询目标对应的目标数据标识加密得到的第一目标密文,以及混淆标识集,其中,所述混淆标识集包括与N条数据一一对应的N个数据标识,所述N个数据标识包括按照预定方式设置的所述目标数据标识;利用本地的第二密钥对所述第一目标密文加密,得到第二目标密文,并且,分别对所述N条数据利用一一对应的N个数据密钥加密得到N条数据密文,其中,单个数据密钥经由所述第二密钥对相应的单个数据标识的加密结果确定;向第一方提供所述第二目标密文,以及N条数据密文,以供第一方利用所述第一密钥的逆元素解密所述第二目标密文,得到所述第二密钥对所述目标数据标识加密的第三目标密文,从而根据所述第三目标密文解密N条数据密文中按照所述预定方式确定的目标数据密文,得到目标数据。
[0015]根据第四方面,一种基于多方安全计算的数据查询系统,包括进行数据查询的第一方及提供数据的第二方,由第一方在不泄露查询目标的情况下从持有多条数据的第二方获取目标数据,且第二方不泄露所述目标数据之外的其他数据;其中:
[0016]第一方配置为利用本地的第一密钥对所述查询目标对应的目标数据标识加密,得
到第一目标密文,并向第二方提供所述第一目标密文和混淆标识集,其中,所述混淆标识集包括与N条数据一一对应的N个数据标识,所述N个数据标识包括按照预定方式设置的所述目标数据标识;
[0017]第二方配置为利用本地的第二密钥对所述第一目标密文加密,得到第二目标密文,并且,分别对所述N条数据利用一一对应的N个数据密钥加密得到N条数据密文,从而向第一方提供所述第二目标密文以及所述N条数据密文,其中,单个数据密钥经由所述第二密钥对相应的单个数据标识的加密结果确定;
[0018]第一方还配置为利用所述第一密钥的逆元素解密所述第二目标密文,得到所述第二密钥对所述目标数据标识加密的第三目标密文,从而根据所述第三目标密文解密N条数据密文中按照所述预定方式确定的目标数据密文,得到目标数据。...

【技术保护点】

【技术特征摘要】
1.一种基于多方安全计算的数据查询方法,用于第一方在不泄露查询目标的情况下从持有多条数据的第二方获取目标数据,所述方法包括:第一方利用本地的第一密钥对所述查询目标对应的目标数据标识加密,得到第一目标密文,并将所述第一目标密文和混淆标识集提供给第二方,其中,所述混淆标识集包括与N条数据一一对应的N个数据标识,所述N个数据标识包括按照预定方式设置的所述目标数据标识;第二方利用本地的第二密钥对所述第一目标密文加密,得到第二目标密文,并且,分别对所述N条数据利用一一对应的N个数据密钥加密得到N条数据密文,其中,单个数据密钥经由所述第二密钥对相应的单个数据标识的加密结果确定;第二方向第一方提供所述第二目标密文,以及N条数据密文;第一方利用所述第一密钥的逆元素解密所述第二目标密文,得到所述第二密钥对所述目标数据标识加密的第三目标密文,从而根据所述第三目标密文解密N条数据密文中按照所述预定方式确定的目标数据密文,得到目标数据。2.根据权利要求1所述的方法,其中,所述预定方式包括以下之一:所述目标数据标识位于所述N个数据标识的预定位置;所述目标数据标识在预定标志位为预定值。3.根据权利要求1所述的方法,其中,所述第一方利用本地的第一密钥对所述查询目标对应的目标数据标识加密,得到第一目标密文包括:将所述目标数据标识映射为椭圆曲线上的第一点;根据所述第一密钥对应的标量对所述第一点进行点乘操作,得到椭圆曲线上的第二点作为所述第一目标密文。4.根据权利要求3所述的方法,其中,所述第二目标密文是基于所述第二密钥对应的标量对所述第二点进行点乘操作得到椭圆曲线上的第三点。5.根据权利要求3所述的方法,其中,单个数据密钥通过以下方式确定:将相应的单个数据标识映射为椭圆曲线上的单个点;根据所述第二密钥对应的标量对所述单个点进行点乘操作,得到椭圆曲线上的点作为单个密钥点;基于所述单个密钥点的横坐标和/或纵坐标确定相应的单个数据密钥。6.根据权利要求1所述的方法,其中,所述第一方利用本地的第一密钥对所述查询目标对应的目标数据标识加密,得到第一目标密文包括:将所述目标数据标识映射为利用素数Q定义的有限域中的第一值;基于所述第一密钥对所述第一值的模幂操作,在所述有限域中得到第二值作为所述第一目标密文。7.根据权利要求6所述的方法,其中,所述第二目标密文是基于所述第二密钥对所述第二值进行模幂操作得到所述有限域中的第三值。8.根据权利要求6所述的方法,其中,单个数据密钥通过以下方式确定:将相应的单个数据标识映射为所述有限域的单个值;基于所述第二密钥对所述单个值进行模幂操作,得到所述有限域中的值作为相应的单个数据密钥。9.根据权利要求1所述的方法,其中,所述单条数据密文为单个数据密钥与相应单条数
据的异或操作结果,第一方通过所述第三目标密文与目标数据标识对应的数据密文的异或操作,得到目标数据。10.一种基于多方安全计算的数据查询方法,由第一方用于在不泄露查询目标的情况下从持有多条数据的第二方获取目标数据,所述方法包括:利用本地的第一密钥对所述查询目标对应的目标数据标识加密,得到第一目标密文;向第二方提供所述第一目标密文和混淆标识集,其中,所述混淆标识集包括与N条数据一一对应的N个数据标识,以供第二方提供利用本地的第二密钥对所述第一目标密文加密得到的第二目标密文,以及对所述N条数据利用一一对应的N个数据密钥加密得到的N条数据密文,其中,所述N个数据标识包括按照预定方式设置的所述目标数据标识,单个数据密钥经由所述第二密钥对相应的单个数据标识的加密结果确定;利用所述第一密钥的逆元素解密所述第二目标密文,得到所述第二密钥对所述目标数据标识加密的第三目标密文;根据所述第三目标密文解密N条数据密文中按照所述预定方式确定的目标数据密文,得到目标数据。11.一种基于多方安全计算的数据查询方法,用于持有多条数据的第二方针对第一方的数据查询,在不获取第一方的查询目标且不泄露目标数据以外的其他数据情况下向第一方提供目标数据,所述方法包括:获取第一方利用本地的第一密钥对所述查询目标对应的目标数据标识加密得到的第一目标密文,以及混淆标识集,其中,所述混淆标识集包括与N条数据一一对应的N个数据标识,所述N个数据标识...

【专利技术属性】
技术研发人员:赵原殷山
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1