首页> 中国专利> 公钥加密系统中析取范式的查询方法

公钥加密系统中析取范式的查询方法

摘要

本发明公开了一种公钥加密系统中析取范式的查询方法,包括步骤:(1)随机选取安全参数,并选择2n+3个随机数α

著录项

  • 公开/公告号CN102385627A

    专利类型发明专利

  • 公开/公告日2012-03-21

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN201110350085.2

  • 发明设计人 路松峰;张钰;赵友桥;刘阳;

    申请日2011-11-08

  • 分类号G06F17/30;

  • 代理机构华中科技大学专利中心;

  • 代理人朱仁玲

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2023-12-18 04:38:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-12-23

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20130724 终止日期:20141108 申请日:20111108

    专利权的终止

  • 2013-07-24

    授权

    授权

  • 2012-05-02

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20111108

    实质审查的生效

  • 2012-03-21

    公开

    公开

说明书

技术领域

本发明涉及计算机信息安全领域,更具体地说,本发明涉及一种公 钥加密系统中析取范式的查询方法。

背景技术

公钥系统是这样一个系统:密钥是由信息的接收者成对生成的,每 对密钥由一个公钥和一个私钥组成,公钥为公开的,而私钥由接收者自 己秘密保存。任何发送者可以用公钥加密信息并发送给接收者,而此加 密信息只能由拥有对应私钥的接收者才能解密。析取范式关键词查询是 为了检测一个文档的关键词列表中是否包含至少一个用户想要查询的关 键词。假设文档关键词列表中的关键词集合为A,用户想要查询的关键 词为B,那么析取范式关键词查询就是为了查询那些A∪B≠Θ的文档。此 处,Θ代表空集。

现有的在密文上支持析取范式关键词查询使用内积的方法。该方法 通过把关键词集合A映射成一组向量X,把关键词集合B映射成V,然 后在不解密的情况下通过计算X·V是否为0来判断A∪B是否为空集。通 过此方法,来达到在不解密的情况下进行密文上的析取范式关键词查询。

通过使用以上的方法,虽然能解决析取范式关键词查询,但是由于 将关键词映射到一组向量上,会引起系统空间和时间复杂度的指数型上 升。

发明内容

本发明的目的在于提供一种公钥加密系统中析取范式的查询方法, 其能够建立一个关键词域无关的公钥密钥体制下的进行析取关键词查询 体系和方法。

一种公钥加密系统中析取范式的查询方法,包括以下步骤:

(1)随机选取安全参数,并选择2n+3个随机数α0,α1,...,αn,β0,β1,...,βn, 其中n为整数,q为素数,Zq*是在q上的乘法群;

(2)根据以下公式对安全参数和随机数进行计算,以得到公共密钥 pk和秘密密钥sk:

pk={X0=gα0,X1=gα1,...,Xn=gαn,Y0=gβ0,Y1=gβ1,...,Yn=gβn,Z=gθ,μ=e^(g,g)},sk={α0,α1,...,αn,β0,β1,...,βn,θZq*},其中G1,G2为两个循环群,q是循环群 的阶数且为素数,g为G1的任一生成元,为双线性配对函数,且 e^:G1×G1G2;

(3)对公共密钥pk和一组关键词集合W={W1,W2,...,Wn}进行计算, 以得到索引Iw,并对秘密密钥sk和另一组关键词集合Q={Q1,Q2,...,Qm}进 行计算,以得到陷门TQ,具体包括以下子步骤:

(31)选择n2+2n个随机数r1,r2,...,rn和其中i∈[1,n], j∈[0,n];

(32)对于每个Wi∈W,计算Aij=Xjri×griH1(Wi)j+uij=gri(αj+H1(Wi)j)+uij,Bij=Yjuij=gβjuij,Ci=Zri=gθri,Di=H2(μri),其中i∈[1,n],H1:{0,1}*{0,1}log2qH2:G2{0,1}log2q为两个哈希函数;

(33)根据以上公式得到索引Iw

Iw=A10A11···A1nB10B11···B1nC1D1A20A21···A2nB20B21···B2nC2D2······························An0An1···AnnBn0Bn1···BnnCnDn

(34)选择s-m个随机关键词{w1,w2,...,ws-m},其中m≤s≤n;

(35)构建一个s阶多项式f(x)=asxs+as-1xs-1+...+a1x1+a0,f(x)具 有s个根为H1(Q1),H1(Q2),...H1(Qm),H1(w1),H1(w2),...,H1(ws-m);

(36)选择一个随机数u∈Zq,计算出T1j=gajΣj=0sajaj+Σj=0saj,T2j=T1j1βj,

其中j∈[0,s],并令T3=u,Zq是在q上的整数群;

(37)根据以上公式得到陷门为TQ=(T10,...,T1s,T20,...,T2s,T3);

(4)根据索引Iw、陷门TQ和公共密钥pk确定关键词集合 W={W1,W2,...,Wn}是否与关键词集合Q={Q1,Q2,...,Qm}匹配,具体包括子步 骤:

(41)设置计数器v=0;

(42)判断v不大于n;

(43)若v不大于n,则检查以下等式是否成立:H2(testi1testi2)=Di,其中i∈[1,n],testi1=Πj=0se^(T1j,AijCiT3),testi2=Πj=0se^(T2j,Bij);

(44)若等式成立,则表示二者匹配,并输出1。

上述步骤(4)进一步包括:若v大于n,则表示二者不匹配,并输 出0。

上述步骤(4)进一步包括:若等式不成立,则设置v=v+1,并返回 步骤(42)。

本发明具有以下优点:

1.本发明支持多关键词检索的需求;

2.本发明可以不利用关键词域作为辅助信息;

3.本发明空间和时间复杂度为O(n2)。这里n为一个文档的关键词列 表中关键词的个数。

附图说明

图1是本发明公钥加密系统中析取范式的查询方法的流程图。

图2是本发明查询方法中步骤(3)的细化流程图。

图3是本发明查询方法中步骤(4)的细化流程图。

具体实施方式

以下结合附图对本发明进行具体描述。

如图1所示,本发明公钥加密系统中析取范式的查询方法包括以下 步骤:

(1)随机选取安全参数,并选择2n+3个随机数α0,α1,...,αn,β0,β1,...,βn, 其中n为整数,q为素数,Zq*是在q上的乘法群;

(2)根据以下公式对安全参数和随机数进行计算,以得到公共密钥 pk和秘密密钥sk:

pk={X0=gα0,X1=gα1,...,Xn=gαn,Y0=gβ0,Y1=gβ1,...,Yn=gβn,Z=gθ,μ=e^(g,g)},sk={α0,α1,...,αn,β0,β1,...,βn,θZq*},其中G1,G2为两个循环群,q是循环群 的阶数且为素数,g为G1的任一生成元,为双线性配对函数,且 e^:G1×G1G2;

(3)对公共密钥pk和一组关键词集合W={W1,W2,...,Wn}进行计算, 以得到索引Iw,并对秘密密钥sk和另一组关键词集合Q={Q1,Q2,...,Qm}进 行计算,以得到陷门TQ

(4)根据索引Iw、陷门TQ和公共密钥pk确定关键词集合 W={W1,W2,...,Wn}是否与关键词集合Q={Q1,Q2,...,Qm}匹配。

如图2所示,上述步骤(3)包括以下子步骤:

(31)选择n2+2n个随机数r1,r2,...,rn和其中i∈[1,n], j∈[0,n];

(32)对于每个Wi∈W,计算Aij=Xjri×griH1(Wi)j+uij=gri(αj+H1(Wi)j)+uij,Bij=Yjuij=gβjuij,Ci=Zri=gθri,Di=H2(μri),其中i∈[1,n],H1:{0,1}*{0,1}log2qH2:G2{0,1}log2q为两个哈希函数;

(33)根据以上公式得到索引Iw

Iw=A10A11···A1nB10B11···B1nC1D1A20A21···A2nB20B21···B2nC2D2······························An0An1···AnnBn0Bn1···BnnCnDn

(34)选择s-m个随机关键词{w1,w2,...,ws-m},其中m≤s≤n;

(35)构建一个s阶多项式f(x)=asxs+as-1xs-1+...+a1x1+a0,f(x)具 有s个根为H1(Q1),H1(Q2),...H1(Qm),H1(w1),H1(w2),...,H1(ws-m);

(36)选择一个随机数u∈Zq,计算出T1j=gajΣj=0sajaj+Σj=0saj,T2j=T1j1βj,其中j∈[0,s],并令T3=u,Zq是在q上的整数群;

(37)根据以上公式得到陷门为TQ=(T10,...,T1s,T20,...,T2s,T3)。 如图3所示,上述步骤(4)包括以下子步骤:

(41)设置计数器v=0;

(42)判断v不大于n,若v不大于n,则转入步骤(43),否 则转入步骤(46);

(43)检查以下等式是否成立:H2(testi1testi2)=Di,其中i∈[1,n], testi1=Πj=0se^(T1j,AijCiT3),testi2=Πj=0se^(T2j,Bij),w若等式成立,则转入步 骤(44),否则转入步骤(45);

(44)表示二者匹配,并输出1;

(45)设置v=v+1,并返回步骤(42);

(46)表示二者不匹配,并输出0。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号