System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书一个或多个实施例涉及计算机领域,尤其涉及针对数据库的安全索引方法和装置。
技术介绍
1、当前,不同的数据持有方所持有的数据可能包含用户的隐私信息,数据持有方之间的数据共享可能会侵犯用户的隐私。为了能够打通多方之间的数据流通,利用安全多方计算支持多方之间的联合计算,挖掘出数据的价值,同时确保多方交互时不会泄露出各方隐私数据的明文信息。
2、安全多方计算能够使得多个互不信任的参与方安全地计算一个给定的函数,并且不会泄露除结果以外的输入、中间计算结果。秘密共享,是将一个秘密分散到不同参与方的方法,每方得到秘密的一部分,称为分片。只有当持有足够多的分片时,才能还原出秘密;单个分片无法还原出秘密。
3、秘密共享由于其对于算术计算以及线性代数运算具有较高的效率,被广泛用于各个场景的安全计算。基于秘密共享的计算常常会涉及针对数据库的安全索引,假设有数据库 d,安全索引的目标是得到其中x位置的元素d[x]的秘密分享,其中,d中的各个元素和x都是秘密分享状态下的,x可以称为目标索引。现有技术中,在实现安全索引时,为了保护隐私数据,效率较低。因此,需要提供针对数据库的安全索引,能够既保护隐私数据,又具有高效率。
技术实现思路
1、本说明书一个或多个实施例描述了一种针对数据库的安全索引方法和装置,能够既保护隐私数据,又具有高效率。
2、第一方面,提供了一种针对数据库的安全索引方法,数据库中的各个元素分别具有对应的索引,各个元素均以复制秘密共享的方式分布于第一方
3、获取待查询元素的目标索引在本方的索引布尔分片;
4、通过第一安全多方计算,与所述第二方针对目标点函数进行第一秘密分享,利用所述索引布尔分片和第一秘密分享下的函数分片,得到表征所述目标点函数输出结果的独热向量在第一秘密分享下的第一结果分片;所述独热向量仅在目标索引位置处值为1,其他位置均为0;
5、通过第二安全多方计算,与所述第三方针对所述目标点函数进行第二秘密分享,利用所述索引布尔分片和第二秘密分享下的函数分片,得到所述独热向量在第二秘密分享下的第二结果分片;
6、利用所述独热向量的第一结果分片和第二结果分片,与本方持有的所述数据库的各个元素的两个分片构成的向量分别进行点积,根据点积结果得到所述数据库中所述目标索引位置的元素的一个分片。
7、在一种可能的实施方式中,所述方法还包括:
8、从所述第二方接收所述目标索引位置的元素的另一个分片,使得本方持有该元素的三方秘密分享的两个分片;
9、向所述第三方发送所述目标索引位置的元素的一个分片,使得所述第三方持有该元素的三方秘密分享的两个分片。
10、在一种可能的实施方式中,所述获取待查询元素的目标索引在本方的索引布尔分片,包括:
11、获取所述目标索引在本方的索引算数分片;
12、基于所述目标索引的索引算数分片,进行与第二方和第三方联合的第三安全多方计算,得到所述目标索引在本方的索引布尔分片。
13、在一种可能的实施方式中,所述第一安全多方计算包括:
14、获取与所述第二方联合生成的第一本方密钥作为函数分片;
15、针对所述第一本方密钥,和所述索引布尔分片中本方持有而所述第二方不持有的那个布尔分片,进行本地计算得到所述第一结果分片;或者,针对所述第一本方密钥,和所述索引布尔分片包含的两个布尔分片,进行本地计算得到所述第一结果分片。
16、在一种可能的实施方式中,所述第二安全多方计算包括:
17、获取与所述第三方联合生成的第二本方密钥作为函数分片;
18、针对所述第二本方密钥,和所述索引布尔分片中本方持有而所述第三方不持有的那个布尔分片,进行本地计算得到所述第二结果分片;或者,针对所述第二本方密钥,和所述索引布尔分片包含的两个布尔分片,进行本地计算得到所述第二结果分片。
19、在一种可能的实施方式中,所述第一结果分片为算数分片,所述第一安全多方计算包括布尔到算数的转换运算;所述第二结果分片为算数分片,所述第二安全多方计算包括布尔到算数的转换运算。
20、在一种可能的实施方式中,所述方法还包括:
21、当需要获取所述数据库中以所述目标索引为起始索引的连续的目标数目个元素时,基于所述第一结果分片,进行分别移位1到所述目标数目的循环移位运算,得到所述独热向量移位后的第一移位分片;
22、基于所述第二结果分片,进行分别移位1到所述目标数目的循环移位运算,得到所述独热向量移位后的第二移位分片;
23、利用所述独热向量移位后的第一移位分片和第二移位分片,与本方持有的所述数据库的各个元素的两个分片构成的向量分别进行点积,根据点积结果得到所述数据库中所述目标索引位置之后所述移位位置的元素的一个分片。
24、第二方面,提供了一种针对数据库的安全索引方法,数据库中的各个元素形成矩阵,各个元素均以复制秘密共享的方式分布于第一方、第二方和第三方,该方法由所述第一方执行,包括:
25、获取待查询元素的目标行索引在本方的索引布尔分片;
26、通过第一安全多方计算,与所述第二方针对目标点函数进行第一秘密分享,利用所述索引布尔分片和第一秘密分享下的函数分片,得到表征所述目标点函数输出结果的独热向量在第一秘密分享下的第一结果分片;所述独热向量仅在目标行索引位置处值为1,其他位置均为0;
27、通过第二安全多方计算,与所述第三方针对所述目标点函数进行第二秘密分享,利用所述索引布尔分片和第二秘密分享下的函数分片,得到所述独热向量在第二秘密分享下的第二结果分片;
28、利用所述独热向量的第一结果分片和第二结果分片,与本方持有的所述数据库的各个元素的两个分片构成的矩阵分别进行矩阵乘法,根据乘法结果得到所述数据库中所述目标行索引位置的一行元素分别对应的一个分片。
29、第三方面,提供了一种针对数据库的安全索引方法,数据库中的各个元素分别具有n个维度中各个维度的子索引,各个元素均以复制秘密共享的方式分布于第一方、第二方和第三方,该方法由所述第一方执行,包括:
30、依次针对n个维度中的当前维度,若上一个维度得到的当前查询结果中未查询维度的数目大于等于2时,将各个未查询维度的元素进行平铺处理,将所述当前查询结果转换为矩阵,将待查询目标索引中当前维度的目标子索引作为目标行索引;
31、执行第二方面的方法,得到目标行索引位置的一行元素分别对应的一个分片,作为更新查询结果;
32、改变所述更新查询结果的形状为各个维度的尺寸,继续将所述更新查询结果作为当前查询结果,查询符合所述目标索引包括的当前维度的目标子索引的若干元素,直到得到的结果为一个元素。
33、第四方面,提供了一种针对数据库的安全索引装置,数据库中的各个元素分别具有对本文档来自技高网...
【技术保护点】
1.一种针对数据库的安全索引方法,数据库中的各个元素分别具有对应的索引,各个元素均以复制秘密共享的方式分布于第一方、第二方和第三方,所述方法由所述第一方执行,包括:
2.如权利要求1所述的方法,其中,所述方法还包括:
3.如权利要求1所述的方法,其中,所述获取待查询元素的目标索引在本方的索引布尔分片,包括:
4.如权利要求1所述的方法,其中,所述第一安全多方计算包括:
5.如权利要求1所述的方法,其中,所述第二安全多方计算包括:
6.如权利要求1所述的方法,其中,所述第一结果分片为算数分片,所述第一安全多方计算包括布尔到算数的转换运算;所述第二结果分片为算数分片,所述第二安全多方计算包括布尔到算数的转换运算。
7.如权利要求1所述的方法,其中,所述方法还包括:
8.一种针对数据库的安全索引方法,数据库中的各个元素形成矩阵,各个元素均以复制秘密共享的方式分布于第一方、第二方和第三方,所述方法由所述第一方执行,包括:
9.一种针对数据库的安全索引方法,数据库中的各个元素分别具有n个维度中各
10.一种针对数据库的安全索引装置,数据库中的各个元素分别具有对应的索引,各个元素均以复制秘密共享的方式分布于第一方、第二方和第三方,所述装置设置于所述第一方,包括:
11.一种针对数据库的安全索引装置,数据库中的各个元素形成矩阵,各个元素均以复制秘密共享的方式分布于第一方、第二方和第三方,所述装置设置于所述第一方,包括:
12.一种针对数据库的安全索引装置,数据库中的各个元素分别具有n个维度中各个维度的子索引,各个元素均以复制秘密共享的方式分布于第一方、第二方和第三方,所述装置设置于所述第一方,包括:
13.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项的所述的方法。
14.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项的所述的方法。
...【技术特征摘要】
1.一种针对数据库的安全索引方法,数据库中的各个元素分别具有对应的索引,各个元素均以复制秘密共享的方式分布于第一方、第二方和第三方,所述方法由所述第一方执行,包括:
2.如权利要求1所述的方法,其中,所述方法还包括:
3.如权利要求1所述的方法,其中,所述获取待查询元素的目标索引在本方的索引布尔分片,包括:
4.如权利要求1所述的方法,其中,所述第一安全多方计算包括:
5.如权利要求1所述的方法,其中,所述第二安全多方计算包括:
6.如权利要求1所述的方法,其中,所述第一结果分片为算数分片,所述第一安全多方计算包括布尔到算数的转换运算;所述第二结果分片为算数分片,所述第二安全多方计算包括布尔到算数的转换运算。
7.如权利要求1所述的方法,其中,所述方法还包括:
8.一种针对数据库的安全索引方法,数据库中的各个元素形成矩阵,各个元素均以复制秘密共享的方式分布于第一方、第二方和第三方,所述方法由所述第一方执行,包括:
9.一种针对数据库的安全索引方法,数据库中的各个元素分...
【专利技术属性】
技术研发人员:陶然,谭晋,
申请(专利权)人:蚂蚁科技集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。