欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2020103062359
申请人: 西南交通大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-02-23
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种可验证搜索结果的布尔检索属性基加密方法,其特征在于,包括以下步骤:S1:对密钥生成中心、可信第三方和云服务器分别进行初始化,完成系统初始化;

S2:利用初始化后的密钥生成中心为用户颁发属性私钥;

S3:通过颁发属性私钥后的用户,利用初始化后的可信第三方为密文生成相关数据;

S4:基于生成相关数据后的密文,利用初始化后的可信第三方生成搜索请求;

S5:利用初始化后的云服务器,通过搜索请求执行搜索操作,将搜索匹配成功的密文返回给数据用户;

S6:通过数据用户检验搜索结果,完成布尔检索属性基加密。

2.根据权利要求1所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述密钥生成中心的初始化包括以下子步骤:A11:利用密钥生成中心选择两个p阶循环群,即第一循环群G和第二循环群GT;

A12:利用密钥生成中心选择第一循环群G上的生成元g和双线性映射e:G×G→GT;

A13:基于生成元和双线性映射,利用密钥生成中心选择第一抗碰撞哈希函数H:{0,1}*→G、第二抗碰撞哈希函数H′:{0,1}*→Zp、安全参数λ和全体属性集合U,其中,Zp为有限域;

A14:根据全体属性集合,利用密钥生成中心随机选择第一随机数 和第二随机数其中Zp*为不含有零元素的有限域,i∈U;

A15:根据生成元和第二随机数计算系统属性的公开承诺Ti,其计算公式为:其中,g表示生成元,si表示第二随机数;

A16:根据双线性映射、第一循环群、第二循环群、生成元、第一随机数、第一抗碰撞哈希函数、第二抗碰撞哈希函数和全体属性集合,公开系统参数PM和系统主密钥MSK,完成密钥生成中心的初始化,其表达式分别为:MSK={gα,α}

其中,e表示双线性映射;G表示第一循环群,GT表示第二循环群,p表示循环群阶数,g表示生成元,α表示第一随机数,e()表示双线性映射运算,Ti表示系统属性的公开承诺,H表示第一抗碰撞哈希函数,H′表示第二抗碰撞哈希函数,i表示全体属性集合的每个属性,U表示全体属性集合。

3.根据权利要求2所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述可信第三方的初始化包括以下子步骤:B11:利用可信第三方随机选择第三随机数 第四随机数 第五随机数和第六随机数 其中Zp*为不含有零元素的有限域;

B12:根据生成元、第三随机数、第四随机数、第五随机数和第六随机数,公开可信第三方参数PKt和可信第三方私钥SKt,完成可信第三方的初始化,其表达式分别为:PKt={gf,gx,gy,e(g,g)d}

SKt={d,f,x,y}

其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,e()表示双线性映射运算。

4.根据权利要求2所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述云服务器的初始化包括以下子步骤:C11:利用云服务器随机选择第七随机数 其中Zp*为不含有零元素的有限域;

C12:根据第七随机数公开云服务器公钥PKs和云服务器私钥SKs,完成可信第三方的初始化,其计算公式分别为:PKs=gb

SKs=b

其中,b表示第七随机数,g表示生成元。

5.根据权利要求1所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S2包括以下子步骤:S21:利用初始化后的密钥生成中心随机选取第八随机数 其中Zp*为不含有零元素的有限域;

S22:根据第一随机数、第八随机数和生成元计算用户第一私钥K、用户第二私钥K0和用户第三私钥Ki,其计算公式分别为:ααt

K=gg

K0=gt

其中,g表示生成元,α表示第一随机数,t表示第八随机数,ξ表示用户属性集合,Ti表示系统属性的公开承诺,i表示全体属性集合的每个属性;

S23:根据用户第一私钥、用户第二私钥和用户第三私钥为用户颁发属性私钥SK,其表达式为:

6.根据权利要求1所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S3包括以下子步骤:S31:通过数据拥有者DO制定LSSS授权搜索访问结构(M,ρ),其中,M表示l×n的矩阵,ρ表示属性映射函数;

S32:根据LSSS授权搜索访问结构,利用初始化后的系统随机选择第一向量V=(s,v′2,...,v′n)∈Zp,其中,s表示秘密分享值,v′2,...,v′n表示有限域Zp中的n-1个随机数,Zp为有限域;

S33:基于第一向量,通过数据拥有者DO为矩阵M的每一行随机选择第九随机数其中,Zp*为不含有零元素的有限域;

S34:根据第九随机数计算秘密分享值的第一公开承诺C′、秘密分享值的第二公开承诺C”和子秘密密文 其计算公式分别为:C′=gs

C”=gαs

其中,s表示秘密分享值,α表示第一随机数,ηi表示第九随机数,g表示生成元,Mi表示矩阵M的每一行,l表示矩阵M的行数,V表示第一向量,ρ(i)表示LSSS授权搜索访问结构的属性,i表示全体属性集合的每个属性,T表示属性公钥;

S35:根据LSSS授权搜索访问结构、秘密分享值的第一公开承诺和秘密分享值的第二公开承诺生成搜索权限sp,其表达式为S36:基于搜索权限,利用初始化后的系统提取关键词集合W,其表达式为W={Ni:wi},其中,Ni表示关键字名,wi表示关键字值;

S37:根据关键词集合,将数据拥有者DO和初始化后的可信第三方进行交互,生成关键词索引Index;

S38:基于关键词索引,通过数据拥有者DO生成验证标签Tag,其计算公式为:其中, 表示文件密文的哈希值, 表示密文,g表示生成元,α表示第一随机数,e()表示双线性映射运算,t1表示第十随机数,H0表示关键字集合的哈希值,H′()表示第二碰撞哈希函数运算;

S39:将搜索权限sp、关键词索引Index和验证标签Tag作为相关数据。

7.根据权利要求6所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S37包括以下子步骤:S371:通过数据拥有者DO选择第十随机数 和第十一随机数 其中,Zp*为不含有零元素的有限域;

S372:根据第十随机数和第十一随机数计算文件关键词盲化信息,其表达式为其中,g表示生成元,H0表示关键字集合的哈希值,α表示第一随机数,t1表示第十随机数,t2表示第十一随机数,wi表示关键字值,W表示关键词集合,H()表示第一碰撞哈希函数运算;

S373:将文件关键词盲化信息发送给初始化后的可信第三方;

S374:向初始化后的可信第三方输入可信第三方私钥并计算关键子集合哈希值密文第十随机数和第十一随机数的密文I和文件关键词密文Ii,其计算公式分别为:其中,g表示生成元,d表示第三随机数,f表示第四随机数,x表示第五随机数,y表示第六随机数,H0表示关键字集合的哈希值,wi表示关键字值,W表示关键词集合;

S375:将关键子集合哈希值密文,第十随机数和第十一随机数的密文和文件关键词密文发送给数据拥有者DO;

S376:向数据拥有者DO输入云服务器公钥,计算第十随机数的随机化保护I′、第十一随机数的随机化保护I”和关键字集合的随机化保护I0,其计算公式分别为:其中,g表示生成元,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,t2表示第十一随机数,H0表示关键字集合的哈希值;

S377:根据第十随机数的随机化保护、第十一随机数的随机化保护和关键字集合的随机化保护生成关键词索引Index,其表达式为

8.根据权利要求1所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S4包括以下子步骤:S41:通过数据用户DU选择想要搜索的关键词集合W′,其表达式为W′={N′i:w′i},其中,N′i表示想要搜索的关键字名,w′i表示想要搜索的关键字值;

S42:基于想要搜索的关键词集合,通过数据用户DU制定LSSS搜索策略结构 其中, 表示e×k的矩阵, 表示关键词映射函数;

S43:通过数据用户DU为矩阵 的每一行选择第十二随机数 第十三随机数和第十四随机数 其中,Zp*为不含有零元素的有限域;

S44:根据第十二随机数、第十三随机数和第十四随机数计算第十四随机数的第一公开承诺 gθ、第 十四随 机 数的 第二 公开 承诺gαθ和随 机 化请 求关 键词 值其中,α表示第一随机数,γi表示第十二随机数,g表示生成元,θ表示第十四随机数,H()表示第一碰撞哈希函数运算,W′表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏;

S45:将第十四随机数的第一公开承诺、第十四随机数的第二公开承诺和随机化请求关键词值发送给初始化后的可信第三方;

S46:向初始化后的可信第三方输入可信第三方私钥并计算第十四随机数的第一密文Tv、第十四随机数的第二密文T”和请求关键词密文T′i,1,其计算公式分别为:xyθ

Tv=g ,

T”=gαdθ,

其中,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,θ表示第十四随机数,W′表示想要搜索的关键词集合,e表示双线性映射,表示对想要搜索的关键词集合的隐藏, 表示LSSS搜索策略结构的属性;

S47:将第十四随机数的第一密文、第十四随机数的第二密文和请求关键词密文发送给数据用户DU;

S48:通过数据用户DU随机选择第二向量 其中,θ表示第十四随机数,v2,...,vk表示有限域Zp中的k-1个随机数;

S49:根据第二向量计算秘密值的公开承诺T′、密文T0、想要搜索的关键词集合的密文Ti,1、第十二随机数的公开承诺Ti,2、数据用户第一转换密钥K′、数据用户第二转换密钥K′0和数据用户第三转换密钥K′i,其计算公式分别为:T′=gθ

K′=Kz=gαzgαtz

其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,f表示第四随机数,γi表示第十二随机数,θ表示第十四随机数,z表示第十三随机数,H()表示第一抗碰撞哈希函数运算,ξ表示用户属性集合,i表示全体属性集合的每个属性,表示对想要搜索的关键词集合的隐藏, 表示矩阵 的第i行, 表示第二向量;

S410:通过数据用户生成搜索请求trapdoor和转换密钥TK,其表达式为

9.根据权利要求1所述的可验证搜索结果的布尔检索属性基加密方案,其特征在于,所述步骤S5包括以下子步骤:S51:利用初始化后的云服务器判断数据拥有者DO的属性集是否满足LSSS授权搜索访问结构(M,ρ),若不满足则匹配失败,否则进入步骤S52;

S52:根据LSSS授权搜索访问结构(M,ρ)定义Ω={i:ρ(i)∈ξ},其中,i表示全体属性集合的每个属性,ξ表示用户属性集合,ρ(i)表示LSSS授权搜索访问结构的属性;

S53:计算满足∑i∈ΩλiMi=(1,0,...,0)的常数λi∈Zp,其中,Zp为有限域,Mi表示矩阵M的每一行;

S54:基于常数,判断数据用户DU的关键词名是否满足LSSS搜索策略结构 若不满足则匹配失败,否则进入步骤S55;

S55:计算满足LSSS搜索策略结构 的最小子集

S56:根据最小子集计算第一搜索匹配值Rs、第二搜索匹配值Rk、第三搜索匹配值E和第四搜索匹配值 其计算公式分别为:其中,g表示生成元,e()表示双线性映射运算,α表示第一随机数,d表示第三随机数,b表示第七随机数,t表示第八随机数,z表示第十三随机数,θ表示第十四随机数,(Ci,Di)表示子秘密密文,H()表示第一碰撞哈希函数运算,H′()表示第二碰撞哈希函数运算,ρ(i)表示LSSS授权搜索访问结构的属性,I”表示第十一随机数的随机化保护,T”表示第二向量计算秘密值的公开承诺,K′0表示数据用户第二转换密钥,λi表示常数, 表示最小子集,Ti,1表示想要搜索的关键词集合的密文,Ti,2表示第十二随机数的公开承诺;

S57:判断等式 是否成立,若不成立则匹配失败,否则进入步骤S58;

S58:利用初始化后的云服务器计算Compte=(ver1,ver2)并返回给数据用户DU,Compte表示搜索计算证明,ver1表示第一证明值,ver2表示第二证明值,其计算公式分别为:其中,K′表示数据用户第一转换密钥,g表示生成元,α表示第一随机数,d表示第三随机数,x表示第五随机数,y表示第六随机数,t1表示第十随机数,θ表示第十四随机数,T′表示秘密值的公开承诺,Rk表示第二搜索匹配值,H0表示关键字集合的哈希值,C′表示秘密分享值的第一公开承诺,s表示秘密分享值,I′表示第十随机数的随机化保护。

10.根据权利要求1所述的可验证搜索结果的布尔检索属性基加密方法,其特征在于,所述步骤S6中,通过数据用户DU计算等式 是否成立,若成立则完成布尔检索属性基加密,否则拒绝搜索密文;其中Tv表示第十四随机数的第一密文。