买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于秘密分享的多方联合数据检索方法_蓝象智联(杭州)科技有限公司_202310851675.6 

申请/专利权人:蓝象智联(杭州)科技有限公司

申请日:2023-07-12

公开(公告)日:2024-04-05

公开(公告)号:CN116579021B

主分类号:G06F21/62

分类号:G06F21/62;G06F16/22;G06F16/2457

优先权:

专利状态码:有效-授权

法律状态:2024.04.05#授权;2023.08.29#实质审查的生效;2023.08.11#公开

摘要:本发明公开了一种基于秘密分享的多方联合数据检索方法。该方法包括:S1:采用秘密分享算法计算出所有数据的总数量m,检索方确定位置索引值p;S2:协商确定检索区间;S3:统一将检索区间等分为n个子区间,并统计自身持有的数据落在每个子区间中的个数;S4:采用秘密分享算法判断位置索引值p对应的数据是否是某个子区间中最大的数据或最小的数据,如果是,则执行步骤S5,如果不是,则找出位置索引值p对应的数据所在的子区间,将该子区间作为新的检索区间,跳转至步骤S3;S5:采用秘密分享算法找出该子区间中最大的数据或最小的数据作为位置索引值p对应的数据。本发明能够在保护各方数据隐私的前提下进行联合检索,避免数据泄露。

主权项:1.一种基于秘密分享的多方联合数据检索方法,所述多方包括检索方和两个以上数据方,其特征在于,包括以下步骤:S1:检索方、数据方各自统计自身持有的数据的数量,采用秘密分享算法计算出所有数据的总数量m,检索方确定要检索数据在所有数据中的位置索引值p,1≤p≤m;S2:检索方、数据方协商确定检索区间;S3:检索方、数据方统一将检索区间等分为n个子区间,检索方、数据方统计自身持有的数据落在每个子区间中的个数;S4:检索方、数据方采用秘密分享算法判断位置索引值p对应的数据是否是某个子区间中最大的数据或最小的数据,如果是,则执行步骤S5,如果不是,则找出位置索引值p对应的数据所在的子区间,将该子区间作为新的检索区间,跳转至步骤S3;S5:检索方在数据方的配合下采用秘密分享算法找出该子区间中最大的数据或最小的数据作为位置索引值p对应的数据;所述步骤S1还包括以下步骤:检索方设定变量y,变量y的初始值=位置索引值p;所述步骤S2包括以下步骤:所述检索方、数据方各自统计自身持有的数据的最大值和最小值,采用秘密分享算法的比较协议对所有最大值进行比较、对所有最小值进行比较,得到所有数据的最大值Vmax和最小值Vmin,检索区间为[Vmin,Vmax];所述步骤S4包括以下步骤:S41:将n个子区间依次编号为1、2……n,设定变量i,1≤i≤n,变量i的初始值为1;S42:检索方、数据方采用秘密分享算法计算编号为i的子区间对应的比较值D,检索方得到比较值D的明文值;S43:如果D=0,则表示位置索引值p对应的数据为编号为i的子区间内的最大值,执行步骤S5;如果D<0,则表示位置索引值p对应的数据在编号为i的子区间内,将编号为i的子区间作为新的检索区间,如果i=1,则跳转至步骤S3,如果i>1,则执行步骤S44;如果D>0,则表示位置索引值p对应的数据不在编号为i的子区间内,执行以下步骤:检索方、数据方采用秘密分享算法计算编号为i的子区间对应的比较值E,检索方得到比较值E的明文值,判断比较值E是否为0,如果是,则表示位置索引值p对应的数据为编号为i+1的子区间内的最小值,执行步骤S5,如果不是,则给i赋值i=i+1,跳转至步骤S42;S44:检索方、数据方采用秘密分享的加法协议计算出落在编号为1至i-1的子区间的数据总数x,检索方、数据方各自持有数据总数x对应的秘密分片;检索方、数据方采用秘密分享的减法协议计算y-x,得到差值v,检索方、数据方各自持有差值v对应的秘密分片,将差值v作为变量y的值,接着跳转至步骤S3;所述步骤S42包括以下步骤:S421:检索方、数据方采用秘密分享的加法协议计算出落在编号为1至i的子区间的数据总数a,检索方、数据方各自持有数据总数a对应的秘密分片;S422:检索方、数据方采用秘密分享的减法协议计算y-a,得到差值b,检索方、数据方各自持有差值b对应的秘密分片;S423:检索方、数据方各自随机生成一个大于1的随机数,检索方、数据方采用秘密分享的乘法协议计算出所有随机数的乘积c,检索方、数据方各自持有乘积c对应的秘密分片;S424:检索方、数据方采用秘密分享的乘法协议计算差值b与乘积c的乘积d,检索方得到乘积d的明文值,将乘积d的明文值作为比较值D;所述步骤S43中检索方、数据方采用秘密分享算法计算编号为i的子区间对应的比较值E的方法如下:N1:检索方、数据方采用秘密分享的加法协议计算出落在编号为1至i的子区间的数据总数a,检索方、数据方各自持有数据总数a对应的秘密分片;N2:检索方、数据方采用秘密分享的减法协议计算y-1-a,得到差值e,检索方、数据方各自持有差值e对应的秘密分片;N3:检索方、数据方各自随机生成一个大于1的随机数,检索方、数据方采用秘密分享的乘法协议计算出所有随机数的乘积f,检索方、数据方各自持有乘积f对应的秘密分片;N4:检索方、数据方采用秘密分享的乘法协议计算差值e与乘积f的乘积g,检索方得到乘积g的明文值,将乘积g的明文值作为比较值E;所述步骤S5包括以下步骤:如果位置索引值p对应的数据是某个子区间中最大的数据,则检索方、数据方各自统计落在该子区间中的自身持有的数据的最大值,采用秘密分享算法的比较协议对所有最大值进行比较,找出该子区间中最大的数据,检索方得到该最大的数据的明文值,该最大的数据的明文值就是位置索引值p对应的数据;如果位置索引值p对应的数据是某个子区间中最小的数据,则检索方、数据方各自统计落在该子区间中的自身持有的数据的最小值,采用秘密分享算法的比较协议对所有最小值进行比较,找出该子区间中最小的数据,检索方得到该最小的数据的明文值,该最小的数据的明文值就是位置索引值p对应的数据。

全文数据:

权利要求:

百度查询: 蓝象智联(杭州)科技有限公司 一种基于秘密分享的多方联合数据检索方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。