CN106301776B - 一种关键字搜索的多授权中心外包属性基加密方法及系统 - Google Patents

一种关键字搜索的多授权中心外包属性基加密方法及系统 Download PDF

Info

Publication number
CN106301776B
CN106301776B CN201610626408.9A CN201610626408A CN106301776B CN 106301776 B CN106301776 B CN 106301776B CN 201610626408 A CN201610626408 A CN 201610626408A CN 106301776 B CN106301776 B CN 106301776B
Authority
CN
China
Prior art keywords
kgcsp
user
private key
outsourcing
ciphertext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610626408.9A
Other languages
English (en)
Other versions
CN106301776A (zh
Inventor
李继国
林啸楠
张亦辰
李非非
王瑶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN201610626408.9A priority Critical patent/CN106301776B/zh
Publication of CN106301776A publication Critical patent/CN106301776A/zh
Application granted granted Critical
Publication of CN106301776B publication Critical patent/CN106301776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种关键字搜索的多授权中心外包属性基加密方法及系统,该系统包括公开参数设置服务器、用户私钥生成服务器、外包用户私钥生成服务器、陷门生成服务器、加密服务器、外包解密服务器、解密服务器。在保证系统安全性的前提下,本发明在可搜索外包属性基方案基础上增加多个授权中心共同完成外包密钥生成工作,有效地检测外包用户私钥生成服务器的不诚实行为,保障了数据的正确性。

Description

一种关键字搜索的多授权中心外包属性基加密方法及系统
技术领域
本发明涉及一种网络安全的数据加密技术,具体涉及一种关键字搜索的多授权中心外包属性基加密方法及系统,属于信息安全领域。
背景技术
基于属性的加密方法具可以实现对加密数据的细粒度访问和控制。属性基加密方法主要包括两种类型,分别是策略属性基加密方法和密文策略属性基加密方法。在密钥策略属性基加密方法中,用户私钥与一个访问结构相关联,而密文与一个属性集合相关联,当且仅当与密文关联的属性集合满足用户私钥的访问结构的时候,用户才能够解密获得明文。密文策略属性基加密方法中访问结构和属性集合的关联关系反之。
随着云计算的飞速发展,云计算中以计算能力作为一种资源的运作方式日益普遍起来。这种运作方式能够使得网络上的用户能够快速便捷地的获得这种计算资源,同时也能快速地释放这种资源。这就使得我们能够根据自身的需求来访问服务器中提供的各种各样的、资源丰富的、方便快捷的服务。
尽管云服务提供者的这些优势使它成为一个云计算中操作用户数据的强大工具,然而它的一个主要缺点不得不被重视:密钥生成和解密阶段的计算代价随着访问结构的复杂性线性增长,这对于资源受限的移动设备(比如手机设备)来说是一个致命的应用瓶颈。通过使用基于属性的外包密钥生成、解密系统可以大量降低属性授权中心给用户生成私钥以及用户访问以密文形式存储在云端数据的计算效率。但是随着存储在云中的数据数量级地递增,如何高效地从大量存储在云端的数据中找到用户指定的数据已经成为不得不面对的难题。用户不仅需要从云端获取数据,还需要设置数据控制器,从而达到只获取指定关键字的数据的功能,可搜索的外包属性基加密方案能极大地提高解密的通讯代价和效率。然而,CSP为了节省计算和带宽的开销,往往自私地选择去执行由用户委派的一小部分任务,因此会给用户返回不正确的私钥或者消息。如果KG-CSP和用户串谋,那么它就能够伪造出私钥从而增强了额外的获取信息的能力。
发明内容
本发明所要解决的技术问题是提供一种关键字搜索的多授权中心外包属性基加密方法及系统,将多授权中心的加密方案和可搜索的外包KP-ABE方案进行研究改进结合。受益于多授权中心方案的套环机制,本发明所提出的方法不仅让KP-ABE可以在资源受限的设备中得以使用,而且提供给用户一个有效的在云端根据关键字搜索密文方法,还能够有效地检测出CSP的不诚实行为,保证了数据的安全性和正确性。本发明减少属性授权中心和用户端的计算代价,根据用户提交的加密过的关键字来搜索密文对应的高效的查找到用户指定的密文,而且能有效检测CSP的密钥生成完成情况及其正确性。
本发明为解决上述技术问题采用以下技术方案:
一方面,本发明提供一种关键字搜索的多授权中心外包属性基加密方法及系统,包括公开参数设置服务器、用户私钥生成服务器、外包用户私钥生成服务器、陷门生成服务器、加密服务器、外包解密服务器、解密服务器;其中:公开参数设置服务器负责生成系统主密钥和公开参数,并将公开参数发送给系统其他部分;用户私钥生成服务器生成一对密钥,其中,一个密钥发送给外包用户私钥生成服务器,用于产生外包用户私钥;另一个密钥用于产生用户本地私钥;外包用户私钥生成服务器生成外包用户私钥,并发送给用户私钥生成服务器,与用户本地私钥进行整合,最终得到用户私钥;陷门生成服务器协助用户生成查询私钥以及陷门;加密服务器对明文信息加密,生成对应的密文和关键字索引,并发送给外包解密服务器;外包解密服务器对符合用户权限的密文进行外包部分解密,并使用用户提交的陷门搜索匹配的密文,如果关键字匹配成功,则将部分解密的密文发送给解密服务器;解密服务器对部分解密的密文进行解密,以恢复明文信息。
另一方面,本发明还提供一种关键字搜索的多授权中心外包属性基加密方法,包括如下步骤:
A.设定系统公开参数PK和系统主密钥MSK;
B.根据系统公开参数PK、系统主密钥MSK和访问结构A,生成用户的密钥对(OKKGCSP,OKTA),其中,OKKGCSP用于生成外包用户私钥参数(SREAL1,SRG)和(SREAL2,SRG),OKTA用于生成用户本地私钥SKTA
C.根据系统公开参数PK、访问结构A、SREAL1,SREAL2和SRG生成外包用户私钥(SKKGCSP[j],SKRG[j]),j=1,2,并对外包用户私钥做诚实性检测,最终由外包用户私钥和用户本地私钥SKTA生成用户私钥;
D.根据系统公开参数PK、系统主密钥MSK和访问结构A,选择盲化因子BF,生成承诺值qBF,计算查询私钥QK,并根据消息的关键字kw以及用户私钥SK和盲化因子BF生成相应的陷门Tkw
E.根据系统公开参数PK、用户的属性集合ω对明文信息M进行加密,得到密文CT,并用关键字kw生成密文的索引IX(kw);
F.根据系统公开参数PK、Tkw对密文CT进行外包解密操作,生成部分解密的密文QCT,并对索引IX(kw)进行关键字匹配操作,如果成功,则将部分解密的密文发送给解密服务器;否则输出错误信息⊥;
G.根据系统公开参数PK,本地私钥SKTA对部分解密密文QCT进行完全解密操作,并验证是否是密文CT所对应的明文信息M,若是则输出明文信息M,否则输出错误信息⊥。
作为本发明的进一步优化方案,所述步骤A包括:
A1.选取阶为p的乘法循环群G1和G2,其中p为素数,设定双线性映射e:G1×G1→G2
A2.随机选取G1的一个生成元g和G1的元素g2,h,h1,h2,…,hn,n是域中属性个数;随机选取 表示集合{1,2,K,p-1};选取两个抗碰撞的哈希函数H1:{0,1}*→G1、H2:G2→{0,1}logp
A3.计算g1=gx
A4.系统公开参数PK为PK=(G1,G2,g,g1,g2,h,h1,h2,…,hn,H1,H2),系统主密钥MSK为MSK=x。
作为本发明的进一步优化方案,所述步骤A2中,哈希函数H1是{0,1}*到G1的密码学哈希函数,哈希函数H2是G2到{0,1}logp的密码学哈希函数。
作为本发明的进一步优化方案,所述步骤B包括:
B1.对于拥有访问结构A的用户,随机选取x11,x12∈Zp,rθ∈Zp *,计算x1=x11+x12∈Zp。其中,Zp表示集合{0,1,2,...,p-1};
B2.计算x2=x-x11-x12模p,计算则用户本地私钥SKTA为SKTA={dθ0,dθ1};
B3.令OKKGCSP[1]=x11,OKKGCSP[2]=x12,选择d-1次的多项式qRG(·)、qKGCSP[1](·)和qKGCSP[2](·),其中,d是正整数;
B4.对于测试访问结构使得qKGCSP[1](t)=qKGCSP[2](t),其中,t∈A',qKGCSP[1](0)=x11,qKGCSP[2](0)=x12
B5.随机选择使得rKGCSP[1],i=rKGCSP[2],i,其中,i∈A;
B6.外包用户私钥参数为SREALj=(qKGCSP[j](·),{rKGCSP[j],i}i∈A),SRG=(qRG(·),{rRG,i}i∈A),其中,j=1,2。
作为本发明的进一步优化方案,所述步骤C包括:
C1.对于拥有访问结构A的用户,利用SREALj=(qKGCSP[j](·),{rKGCSP[j],i}i∈A),SRG=(qRG(·),{rRG,i}i∈A),计算SKKGCSP[j]={d[j]i0,d[j]i1}i∈A,其中, j=1,2;计算SKRG[j]={d[RG[j]]i0,d[RG[j]]i1},其中,
C2.检测对于t∈A'是否有d[1]t0=d[2]t0,d[1]t1=d[2]t1;对于t∈A'是否有d[RG[1]]t0=d[RG[2]]t0,d[RG[1]]t1=d[RG[2]]t1;若是则继续执行C4,否则退出加密;
C3.计算di0=d[1]i0·d[2]i0和di1=d[1]i1·d[2]i1,则用户私钥SK=(SKKGCSP,SKTA),其中,SKKGCSP={di0,di1}i∈A,SKTA={dθ0,dθ1}。
作为本发明的进一步优化方案,所述步骤D包括:
D1.根据系统公开参数PK,系统主密钥MSK和访问结构A,随机选取
D2.计算u的承诺值计算查询私钥
D3.计算搜索私钥Tq(kw)=H1(kw)QKu以及D1=dθ1 u,则用户的陷门为Tkw=(Tq(kw),di0,di1,D1)。
作为本发明的进一步优化方案,所述步骤E包括:
E1.随机选取秘密值s∈Zp *,明文信息M∈G2
E2.计算C0=Me(g1,g2)s,C1=gs,Cθ=(g1h)s,其中,Me(g)表示M与配对运算的乘积;对于属性集合ω中的元素l计算Cl=(g1hl)s,得到密文CT=(ωU{θ},C0,C1,{Cl}l∈ω,Cθ);
E3.选取关键字kw="keyword",计算k0=e(g1,g2)s·e(g,H1(kw))s,K0=H2(k0),设置K1=C1=gs,K2=Cθ=(g1h)s;则密文的索引为IX(kw)=(K1,K2,K0),上传密文索引对(CT,IX(kw))。
作为本发明的进一步优化方案,所述步骤F包括:
F1.计算得到部分解密密文QCT;其中,
F2.计算
F3.验证K0=H2(kkw)是否相等,若相等则将部分解密密文发送给解密服务器,否则退出加密。
作为本发明的进一步优化方案,所述步骤G中完全解密操作具体为:
本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明在保证密钥生成云服务提供者不能和用户串谋下的情况下,给予属性授权中心外包密钥生成的方法,给予用户外包解密密文并对密文关键字检索的方法,使得用户和属性授权中心大大减少了通信代价的同时,更高效更精确地获取自己想要的密文,使得即使在带宽受限的设备中也一样可以使用,更关键的是增加了对CSP不诚实行为的检测,保证数据的正确性因此本发明是一种新的安全高效的加密方法。
附图说明
图1是本发明关键字搜索的多授权中心外包属性基加密系统的示意图。
图2是本发明关键字搜索的多授权中心外包属性基加密方法的流程图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明关键字搜索的多授权中心外包属性基加密系统可基于双线性对来实现,下面简要介绍双线性对的相关概念和所需满足的性质:
令G1、G2是阶为p的乘法循环群,其中p为素数,g是G1的生成元。假设G1和G2这两个群上的离散对数问题都是困难问题。定义群上的双线性映射为:e:G1×G1→G2,且满足下面的性质:
1.双线性:e(ua,vb)=e(u,v)ab,对所有的u,v∈G1,a,b∈Zp *和g∈G1均成立;
2.非退化性:e(u,v)≠1,其中1是GT的单位元,存在u,v∈G1
3.可计算性:存在有效算法来计算e(u,v),对所有的u,v∈G1
本发明设计的技术方案实体包括:公开参数设置服务器、数据拥有者、用户、用户私钥生成服务器、外包用户私钥生成服务器、陷门生成服务器、加密服务器、解密服务器、外包解密服务器。
如图1所示,本发明所述系统包括:公开参数设置服务器A、用户私钥生成服务器B、外包用户私钥生成服务器C、陷门生成服务器D、加密服务器E、外包解密服务器F、解密服务器G。
公开参数设置服务器A,用于生成系统主密钥MSK和系统公开参数PK,将系统主密钥MSK发送给用户私钥生成服务器B,将系统公开参数PK发送给用户私钥生成服务器B、外包用户私钥生成服务器C、陷门生成服务器D、加密服务器E、外包解密服务器F、解密服务器G。
用户私钥生成服务器B,用于根据系统公开参数PK、系统主密钥MSK和访问结构A生成用户的密钥对(OKKGCSP,OKTA),并据此生成外包用户私钥的参数(SREAL1,SRG)和(SREAL2,SRG)以及用户本地私钥SKTA
外包用户私钥生成服务器C,用于根据系统公开参数PK、访问结构A、SREAL1,SREAL2和SRG生成外包用户私钥(SKKGCSP[j],SKRG[j]),j=1,2,并对外包用户私钥做诚实性检测,发送给用户私钥生成服务器B,将外包用户私钥与用户本地私钥整合出用户私钥SK。
陷门生成服务器D,用于协助用户生成查询私钥QK以及陷门Tkw
加密服务器E,用于对明文信息M加密生成对应的密文CT,生成对应的关键字索引IX(KW),并将其发送给外包解密服务器F。
外包解密服务器F,用于对符合用户权限的密文CT进行外包部分解密,得到部分解密密文QCT;使用用户提交的陷门Tkw搜索匹配的密文CT,如果关键字匹配成功,将部分解密的密文QCT和密文CT发送给解密服务器。
解密服务器G,用于对部分解密的密文QCT进行解密,以恢复明文信息M。
如图2所示,利用JPBC实现本发明的方案并介绍本发明的具体步骤:
一、公开参数设置服务器A执行以下步骤:
A1.选取阶为p=730750818665451621361119245571504901405976559617的乘法循环群G1和G2,以及设定双线性映射e:G1×G1→G2
A2.随机选取G1的一个生成元
g=7089358962210064797109146692854895211648055826580075738181736062367077227365387492850021015620516757933263884778632951969056246366121176950515753537613623,4285282827136139666573776680313406619962168962875084481928863045081494883422440033883245000519198356207995445903988568487086345204852149946871289871265039,0
和G1的七个元素(域中属性个数n=5):
g2=1022811814333991839691077936373714282294685371627092018647104489535285620536387386904613239416895391670250574859267993683557539446176966938791134062801419,8108401975261555055001969463259660687829763089465532015948604181035722946413686161107088796112987623673192036107821811698027370178240393822999943206649420,0,
h=6538411281490773084367249785056154727908008514570168511086002288437351092617355560695424651532064901703937413338415838714344576523346678916874745366181201,801677844178453272309931755676707736883292519610941664585503828679535650799903283852042491201575066343399675399368500920824343969516141741060303230450267,0,
h1=1448584823220644379877809280522149103950970816425684274620504013039978224433771529081982249337894499371949412182756714349741277634183274503889787510537336,2555039387077636463987621419475637917451645891840196529999035133442541563695721673954078451294212116438447797750879391370119214001809357347714541964157710,0,
h2=950477189851530307260009374282022097300679843760826555093039787568533468885583693914625270108780466258069574428541186208112883502490207569297769092813306,3407710418327329143820220643524963873078040845927978353579161428369249603894610240347811524200708919793274014635083893993490993296865567708223444284597775,0,
h3=6463269436094074856940760674711642317334792153858483189305298584837629663398860716350878899196414131500710767853440934355165956359174793166560652895234227,4581027183514968208644024036112037464063785211655774315257892880870955274950295316061342027237594231355040835941503040661050896445882795469068992267106086,0,
h4=945122360529400097867484503318232858475014686253547622871119572846839627927524051756026771779033100045105663451372212898558582187804028913531236941032451,2090295424296325922646736176313187392161933143461225887897814258334638964035749934253949778002123778618644158121616895097613671527347790875801692573250055,0,
h5=1216148137992332090561883289936878318548064502421912800608514617323097899695759194056363994736673043294300303025914881448627417590924493568273854412362596,7420054962166506938523129191973994374401856932392133396267711633608152955169925786328713645917405257687114577732617034811311726971054509768343327151358825,0;
随机选取集合的元素x=32161353895867280836046354028024729528955104521,选取两个抗碰撞的哈希函数H1:{0,1}*→G1、H2:G2→{0,1}logp;其中,哈希函数H1是{0,1}*到G1的密码学哈希函数,哈希函数H2是G2到{0,1}logp的密码学哈希函数,表示集合{1,2,K,p-1};
A3.计算
g1=gx=343259769286940091071140376427676399694764957249079285632980264390736520222302705719066286925417118109184665010337035736489171985662964345676027277842300,4536005900787706380888137612935938856021243211778997142300216937559439815911349279788992852389907894220573572637151478649757606900379357040298312139019090,0;
A4.系统公开参数PK=(G1,G2,g,g1,g2,h,h1,h2,h3,h4,h5,H1,H2),系统主密钥MSK为MSK=x。
用户私钥生成服务器B执行以下步骤:
B1.对于拥有访问结构A={1,2,3}的用户,随机选取
x11∈Zp=88886989068469437979175337220344048621023118807,
x12∈Zp=478153702304456119892390953625309941215108544335,
rθ∈Zp *=391598678232271290810284745518110256097925612671;
B2.计算
x2=x-x11-x12模p=195871481188393344325599308753875641098800000996,
计算
计算
B3.令OKKGCSP[1]=x11,OKKGCSP[2]=x12,选择d-1次的多项式qRG(·)、qKGCSP[1](·)和qKGCSP[2](·),其中d是正整数;对于测试访问结构使得qKGCSP[1](i)=qKGCSP[2](i),i∈A',qKGCSP[1](0)=x11,qKGCSP[2](0)=x12,随机选择使得rKGCSP[1],i=rKGCSP[2],i
本实施例中:
rKGCSP[1],1=537357156020316526481548204042195785773216719109,
rKGCSP[2],1=520713677076623573970852203894904602847218187281,
rKGCSP[1],2=458541357356566306056619868665681094034250512554,
rKGCSP[2],2=447841956376588326157612865655782196054280613563,
rKGCSP[1],3=857831957366584323157612764565782106054280613558,
rKGCSP[2],3=652841956373465326112342865655782196054280655576,
则,外包密钥任务为SREALj=(qKGCSP[j](·),{rKGCSP[j],i}i∈A),SRG=(qRG(·),{rRG,i}i∈A),其中,j=1,2,用户本地私钥SKTA={dθ0,dθ1}。
外包用户私钥生成服务器C执行以下步骤:
C1.j=1,2;
C2:计算SKRG[j]={d[RG[j]]i0,d[RG[j]]i1}。其中,
C3:检测对于i∈A'是否有d[1]i0=d[2]i0,d[1]i1=d[2]i1;对于i∈A是否有d[RG[1]]i0=d[RG[2]]i0,d[RG[1]]i1=d[RG[2]]i1
C4:计算di0=d[1]i0·d[2]i0和di1=d[1]i1·d[2]i1,其中
d10=d[1]10·d[2]10=4641300849166252199058578078363258538661671225079191781370642022654251954554415476479134418529069264749669676513284064358722101997646376938375694773385506,5164245260922050058766080391736342558549327986878229768876433562302932788075577400939664312267267750195522904284757350004709832766964879074626734309029208,0,
d11=d[1]11·d[2]11=8117121104228483084360535436219187624255536284199877628563826540147332928214332957411995934265325123068126001859270893537924786622734657766883127943448242,6685503630597620429566244640204327585433095805930343261737022842713486305130213759579961019409162090188848307413908981289386631210606359306145979049333897,0,
d20=d[1]20·d[2]20=3767589981210755859177361466247562878320566775069422699408048160068501120934939044788177875555817144687933323574498359773762897928170270152326255029438194,4645276171922031791908398798430814778236878191821304019566140544537353435260899667526053415538245441222331146338829602964468246375251073423410090578924765,0,
d21=d[1]21·d[2]21=5566995997423271868694591536122310347487373443411184564095462318441662046274079155848753025708687922622832956763236980212404907724262213906770212935244693,6043828684511671076392658046324672631672260013389140044252017446738148555466795364610164093960148589151244939865060624917412833342785713362484287579025821,0,
d30=d[1]30·d[2]30=7650833868333390367384727242293213666470508162820187048485223678819530128189358441111821835233111984316050515745919355371837738479832912623480423535176260,5266946737426243817398203226592260444365614157292807354893730171433007130039250760237798640699626967923724807049491220537784669125344455020095534069744554,0,
d31=d[1]31·d[2]31=7442043185705687091920275051800650220550460975542579753108505513277866105119109281601488463167801156054377604373956960894155136759247114798216046325376699,8767690381484507878634850826340724456015704200464874147268787105712988747101032704447594170408184067957583743356022220184814052456716691382491248030737309,0;
用户外包私钥SK=(SKKGCSP,SKTA),其中SKKGCSP={di0,di1}i∈A,SKTA={dθ0,dθ1}。
陷门生成服务器D执行以下步骤:
D1.随机选取
D2.计算
计算查询私钥
D3.计算搜索私钥
Tq(kw)=H1(kw)QKu=6362082876067030353528112583959915495444120736080227924204254584834818059146274842975841786432797794935016201495561071827836990251481083019819261853773593,1769791405663656319240454423100301048503047658356560244456913125089385981589482007278372945191708769911186554362741338775956332089238780544348924958935379,0,
用户的陷门为Tkw=(Tq(kw),I,D1),D1=dθ1 u
加密服务器E执行以下步骤:
E1.随机选取秘密值
s∈Zp *=676616403088372252198781494308035433618712336386,
明文信息M∈G2={x=2112790788334019716449857187273363917516853010099983619093075507056285236715092101215513492968289389053130634075807734834301702283373726393879912615654978,y=3210476241040008829541355845833537389514735478277777969231438140830973914346054818197219721339667145973454923963815746259311872754182160729000688322452798};
E2.计算
C0=Me(g1,g2)s={x=828892870478689939285346784835365479789154497592581215317649104578775102796965675208367774865278989521436646282037209632048306548685241435829181157170319,y=1408728853779806511025540673114812645454972944168195762152076955183410455900247249726190676745762765934368921915195097565037479311460042272184294895818526},
C1=gs=5420934598525719279669483420851439090758142377517148770011252303493557190650610192299693317947077859473812626198919094873273105559195416177984972969872348,7833017084720249589099384622502597588854330658800037554009401108957529252626039844213204417388723842961281575260087660411846446903153544196553629366953667,0,
Cθ=(g1h)s=7247790962968503068261816965568826722182223541708278594136066668591536257269170358787587214304925008270403986568299085723335144386969438772885917801995023,7191818445589979887727906792226753822410779974746047819673998029154109763490709422938854604297925026733896710663530073190153069774652730373424813720062654,0,
对于属性集合ω中的元素计算
C2=(g1h2)s=6894287306704384812618981181201267953568421526142441535552905260016772849573896719782553280389407878171376826070971138461956071419543995633744388683767276,1499721619183326384869543517757019377039207855512035898447764864853121229882597803854847742192556514912209668570669358720532357807909974439283978512168958,0,
C3=(g1h3)s=2645186662652292276516815652133318753789382621029769244200440961188576239737536967384462430232813517379429327308908571100874979861262554040139966962111943,604213133774064812237310309251809535667948411241593463048681475392220747716123065036120727026853292572054441420346521835182784302226425472952897798270571,0
得到密文CT=(ωU{θ},C0,C1,C2,C3,Cθ);
E3.选取关键字kw="keyword",计算
H1(kw)=45329154377060642504816861511255438475424932319157816743223852173739247023664,0,1,
k0=e(g1,g2)s·e(g,H1(kw))s={x=1696243041342865690954585704413032430958485317507596428780959037739951843810078449065975023988653849663194370432575856088100132180533971043959557250369787,y=1842771542036578796033929926411002474889560539297596452895288435585908644207083160228653455719926070498695487388019849754091873821787878108137415440233032},
K0=H2(k0)=184fa9883c8285381033c551ef7e9558,
设置
K1=C1=gs=5420934598525719279669483420851439090758142377517148770011252303493557190650610192299693317947077859473812626198919094873273105559195416177984972969872348,7833017084720249589099384622502597588854330658800037554009401108957529252626039844213204417388723842961281575260087660411846446903153544196553629366953667,0,
K2=Cθ=(g1h)s=7247790962968503068261816965568826722182223541708278594136066668591536257269170358787587214304925008270403986568299085723335144386969438772885917801995023,7191818445589979887727906792226753822410779974746047819673998029154109763490709422938854604297925026733896710663530073190153069774652730373424813720062654,0。
密文对应的索引为IX(kw)=(K1,K2,K0),上传密文索引对(CT,IX(kw))。
外包解密服务器F执行以下步骤:
F1.计算
得到部分解密密文QCT
F2.计算
F3.验证K0=H2(kkw)是否相等,K0=H2(k0)=184fa9883c8285381033c551ef7e9558,H2(kkw)=184fa9883c8285381033c551ef7e9558,显然相等,因此将部分解密密文和密文发送给解密服务器G进行完全解密。
解密服务器G执行以下步骤:
G1.计算
解密成功输出明文信息M。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (9)

1.一种关键字搜索的多授权中心外包属性基加密方法,其特征在于,包括如下步骤:
A.设定系统公开参数PK和系统主密钥MSK;
B.根据系统公开参数PK、系统主密钥MSK和访问结构A,生成用户的密钥对(OKKGCSP,OKTA),其中,OKKGCSP用于生成外包用户私钥参数(SREAL1,SRG)和(SREAL2,SRG),OKTA用于生成用户本地私钥SKTA
C.根据系统公开参数PK、访问结构A、SREAL1,SREAL2和SRG生成外包用户私钥(SKKGCSP[j],SKRG[j]),j=1,2,并对外包用户私钥做诚实性检测,最终由外包用户私钥和用户本地私钥SKTA生成用户私钥;
D.根据系统公开参数PK、系统主密钥MSK和访问结构A,选择盲化因子BF,生成承诺值qBF,计算查询私钥QK,并根据消息的关键字kw以及用户私钥SK和盲化因子BF生成相应的陷门Tkw
E.根据系统公开参数PK、用户的属性集合ω对明文信息M进行加密,得到密文CT,并用关键字kw生成密文的索引IX(kw);
F.根据系统公开参数PK、Tkw对密文CT进行外包解密操作,生成部分解密的密文QCT,并对索引IX(kw)进行关键字匹配操作,如果成功,则将部分解密的密文发送给解密服务器;否则输出错误信息⊥;
G.根据系统公开参数PK,本地私钥SKTA对部分解密密文QCT进行完全解密操作,并验证是否是密文CT所对应的明文信息M,若是则输出明文信息M,否则输出错误信息⊥。
2.如权利要求1所述的一种关键字搜索的多授权中心外包属性基加密方法,其特征在于,所述步骤A包括:
A1.选取阶为p的乘法循环群G1和G2,其中p为素数,设定双线性映射e:G1×G1→G2
A2.随机选取G1的一个生成元g和G1的元素g2,h,h1,h2,…,hn,n是域中属性个数;随机选取 表示集合{1,2,K,p-1};选取两个抗碰撞的哈希函数H1:{0,1}*→G1、H2:G2→{0,1}logp
A3.计算g1=gx
A4.系统公开参数PK为PK=(G1,G2,g,g1,g2,h,h1,h2,…,hn,H1,H2),系统主密钥MSK为MSK=x。
3.如权利要求2所述的一种关键字搜索的多授权中心外包属性基加密方法,其特征在于,所述步骤A2中,哈希函数H1是{0,1}*到G1的密码学哈希函数,哈希函数H2是G2到{0,1}logp的密码学哈希函数。
4.如权利要求2所述的一种关键字搜索的多授权中心外包属性基加密方法,其特征在于,所述步骤B包括:
B1.对于拥有访问结构A的用户,随机选取x11,x12∈Zp,rθ∈Zp *,计算x1=x11+x12∈Zp, 其中,Zp表示集合{0,1,2,...,p-1};
B2.计算x2=x-x11-x12模p,计算则用户本地私钥SKTA为SKTA={dθ0,dθ1};
B3.令OKKGCSP[1]=x11,OKKGCSP[2]=x12,选择d-1次的多项式qRG(·)、qKGCSP[1](·)和qKGCSP[2](·),其中,d是正整数;
B4.对于测试访问结构使得qKGCSP[1](t)=qKGCSP[2](t),其中,t∈A',qKGCSP[1](0)=x11,qKGCSP[2](0)=x12
B5.随机选择使得rKGCSP[1],i=rKGCSP[2],i,其中,i∈A;
B6.外包用户私钥参数为SREALj=(qKGCSP[j](·),{rKGCSP[j],i}i∈A),SRG=(qRG(·),{rRG,i}i∈A),其中,j=1,2。
5.如权利要求4所述的一种关键字搜索的多授权中心外包属性基加密方法,其特征在于,所述步骤C包括:
C1.对于拥有访问结构A的用户,利用SREALj=(qKGCSP[j](·),{rKGCSP[j],i}i∈A),SRG=(qRG(·),{rRG,i}i∈A),计算SKKGCSP[j]={d[j]i0,d[j]i1}i∈A,其中, j=1,2;计算SKRG[j]={d[RG[j]]i0,d[RG[j]]i1},其中,
C2.检测对于t∈A'是否有d[1]t0=d[2]t0,d[1]t1=d[2]t1;对于t∈A'是否有d[RG[1]]t0=d[RG[2]]t0,d[RG[1]]t1=d[RG[2]]t1;若是则继续执行C4,否则退出加密;
C3.计算di0=d[1]i0·d[2]i0和di1=d[1]i1·d[2]i1,则用户私钥SK=(SKKGCSP,SKTA),其中,SKKGCSP={di0,di1}i∈A,SKTA={dθ0,dθ1}。
6.如权利要求5所述的一种关键字搜索的多授权中心外包属性基加密方法,其特征在于,所述步骤D包括:
D1.根据系统公开参数PK,系统主密钥MSK和访问结构A,随机选取
D2.计算u的承诺值计算查询私钥
D3.计算搜索私钥Tq(kw)=H1(kw)QKu以及D1=dθ1 u,则用户的陷门为Tkw=(Tq(kw),di0,di1,D1)。
7.如权利要求6所述的一种关键字搜索的多授权中心外包属性基加密方法,其特征在于,所述步骤E包括:
E1.随机选取秘密值s∈Zp *,明文信息M∈G2
E2.计算C0=Me(g1,g2)s,C1=gs,Cθ=(g1h)s,其中,Me(g)表示M与配对运算的乘积;对于属性集合ω中的元素l计算Cl=(g1hl)s,得到密文CT=(ωU{θ},C0,C1,{Cl}l∈ω,Cθ);
E3.选取关键字kw="keyword",计算k0=e(g1,g2)s·e(g,H1(kw))s,K0=H2(k0),设置K1=C1=gs,K2=Cθ=(g1h)s;则密文的索引为IX(kw)=(K1,K2,K0),上传密文索引对(CT,IX(kw))。
8.如权利要求7所述的一种关键字搜索的多授权中心外包属性基加密方法,其特征在于,所述步骤F包括:
F1.计算得到部分解密密文QCT;其中,
F2.计算
F3.验证K0=H2(kkw)是否相等,若相等则将部分解密密文发送给解密服务器,否则退出加密。
9.如权利要求8所述的一种关键字搜索的多授权中心外包属性基加密方法,其特征在于,所述步骤G中完全解密操作具体为:
CN201610626408.9A 2016-08-01 2016-08-01 一种关键字搜索的多授权中心外包属性基加密方法及系统 Active CN106301776B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610626408.9A CN106301776B (zh) 2016-08-01 2016-08-01 一种关键字搜索的多授权中心外包属性基加密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610626408.9A CN106301776B (zh) 2016-08-01 2016-08-01 一种关键字搜索的多授权中心外包属性基加密方法及系统

Publications (2)

Publication Number Publication Date
CN106301776A CN106301776A (zh) 2017-01-04
CN106301776B true CN106301776B (zh) 2019-04-19

Family

ID=57664636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610626408.9A Active CN106301776B (zh) 2016-08-01 2016-08-01 一种关键字搜索的多授权中心外包属性基加密方法及系统

Country Status (1)

Country Link
CN (1) CN106301776B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106850224B (zh) * 2017-04-13 2021-02-12 桂林电子科技大学 一种私钥定长的密文策略属性基加密方法
CN108092972B (zh) * 2017-12-13 2020-09-29 西安电子科技大学 一种多授权中心基于属性的可搜索加密方法
CN109347833B (zh) * 2018-10-24 2020-05-22 中国科学院信息工程研究所 基于属性加密的用于机器学习环境下的访问控制方法和系统
CN111431898B (zh) * 2020-03-23 2022-06-07 齐鲁工业大学 用于云协助物联网的带搜索的多属性机构属性基加密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731432A (zh) * 2014-01-11 2014-04-16 西安电子科技大学昆山创新研究院 一种支持多用户的可搜索加密系统及方法
CN105323061A (zh) * 2015-12-02 2016-02-10 河海大学 一种可关键字搜索的外包密钥生成和解密的属性基系统及解密方法
CN105721485A (zh) * 2016-03-04 2016-06-29 安徽大学 外包云环境下面向多数据拥有者的安全最近邻查询方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731432A (zh) * 2014-01-11 2014-04-16 西安电子科技大学昆山创新研究院 一种支持多用户的可搜索加密系统及方法
CN105323061A (zh) * 2015-12-02 2016-02-10 河海大学 一种可关键字搜索的外包密钥生成和解密的属性基系统及解密方法
CN105721485A (zh) * 2016-03-04 2016-06-29 安徽大学 外包云环境下面向多数据拥有者的安全最近邻查询方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KSF-OABE:Outsourced Attribute-Based Encryption with Keyword Search Function for Cloud Storage;Jiguo Li等;《IEEE Transactions on Services Computing》;20160316;第10卷(第5期);第3部分
具有关键字搜索功能的外包属性基加密方案;林啸楠等;《信息技术》;20160425;第2节

Also Published As

Publication number Publication date
CN106301776A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN105323061B (zh) 一种可关键字搜索的外包密钥生成和解密的属性基系统及解密方法
CN108632032B (zh) 无密钥托管的安全多关键词排序检索系统
CN109922077B (zh) 一种基于区块链的身份认证方法及其系统
CN108292402B (zh) 用于信息的安全交换的公共秘密的确定和层级确定性密钥
EP3780543A1 (en) Blockchain cross-chain authentication method and system, and server and readable storage medium
CN109614818B (zh) 可授权的基于身份的带关键词搜索加密方法
CN107491497B (zh) 支持任意语言查询的多用户多关键词排序可搜索加密系统
US10846372B1 (en) Systems and methods for trustless proof of possession and transmission of secured data
CN106301776B (zh) 一种关键字搜索的多授权中心外包属性基加密方法及系统
CN106789044B (zh) 标准模型下格上云存储密文数据公钥可搜索加密方法
CN104038349A (zh) 一种基于kp-abe的有效可验证的公钥可搜索加密方法
CN106487506B (zh) 一种支持预加密和外包解密的多机构kp-abe方法
CN106161428B (zh) 一种密文可相等比较的属性加密方法
CN106850566B (zh) 一种数据一致性校验的方法及装置
CN111989891A (zh) 数据处理方法、相关装置及区块链系统
CN110933033B (zh) 智慧城市环境下多物联网域的跨域访问控制方法
CN110602099A (zh) 基于可验证的对称可搜索加密的隐私保护方法
CN107547530A (zh) 移动云环境下基于属性的在线/离线关键字搜索方法及其云计算应用系统
CN112115201B (zh) 基于区块链的交易处理方法、交易追踪方法及装置
CN104967693A (zh) 面向云存储的基于全同态密码技术的文档相似度计算方法
CN109951279A (zh) 一种基于区块链和边缘设备的匿名数据存储方法
CN115021903A (zh) 一种基于区块链的电子病历共享方法及系统
CN110175169A (zh) 一种加密数据去重方法、系统及相关装置
CN113078993A (zh) 基于改进的同态加密算法的智能电网第三方隐私保护方法
CN114528331A (zh) 基于区块链的数据查询方法及装置、介质、设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant