CN108200063B - 一种可搜索公钥加密方法、采用该方法的系统和服务器 - Google Patents

一种可搜索公钥加密方法、采用该方法的系统和服务器 Download PDF

Info

Publication number
CN108200063B
CN108200063B CN201810007241.7A CN201810007241A CN108200063B CN 108200063 B CN108200063 B CN 108200063B CN 201810007241 A CN201810007241 A CN 201810007241A CN 108200063 B CN108200063 B CN 108200063B
Authority
CN
China
Prior art keywords
searchable
encryption algorithm
keyword
private
server
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
CN201810007241.7A
Other languages
English (en)
Other versions
CN108200063A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Publication of CN108200063A publication Critical patent/CN108200063A/zh
Application granted granted Critical
Publication of CN108200063B publication Critical patent/CN108200063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Computational Mathematics (AREA)

Abstract

本发明涉及一种可搜索公钥加密方法、采用该方法的系统和服务器,该方法包括以下步骤:根据预设的安全参数构建双线性映射,输出公开参数PK和私钥SK;发送方根据公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri;发送方输入关键字W、公开参数PK和结构的私有部分Pri,通过加密算法为关键字W生成对应的可搜索密文并上传到服务器;接收方输入关键字W和私钥SK,输出检索陷门TW并提交给服务器;服务器输入检索陷门TW、公开参数PK和由若干可搜索密文组成的可搜索密文集合,执行搜索算法,通过一次双线性映射操作找到采用第一加密算法生成的关键字W对应的可搜索密文,通过隐含关系找到其余可搜索密文。

Description

一种可搜索公钥加密方法、采用该方法的系统和服务器
技术领域
本发明涉及密码学和云存储安全领域,尤其涉及一种可搜索公钥加密方法、采用该方法的系统和服务器。
背景技术
随着云计算的快速发展,为了节约本地的存储资源,同时为了便携地多点访问,越来越多的用户选择将自己的数据保存到云服务器上。为了保证数据的机密性,用户通常会将他们的隐私数据加密后再上传。如果使用传统的加密技术,则只有密钥的拥有者才能解密密文。因此,当用户想要在通过关键字去检索保存在云端的外包数据时,他们不得不将整个密文下载回来,在本地解密后再进行检索。显然,这会导致大量的网络开销、本地的计算开销和存储开销。为了在保证云数据机密性的同时实现安全高效的数据访问,可搜索加密便应运而生。在可搜索对称加密下,由于对称加密机制本身的局限性,在多用户的场景中,往往需要建立一个安全的信道来传输秘密信息。因此为了在公共网络下实现安全的通信和检索,可搜索公钥加密(PEKS)便被提出,并得到了广泛的研究。
一个典型的PEKS应用包括多个发送方,一个服务器和一个接收方。任何一个发送方都可以使用接收方的公钥去为关键字生成可搜索密文,然后将其发给服务器。接收方可以通过自己的私钥为关键字生成检索陷门,然后将其发给服务器,服务器拿到检索陷门后可以正确找到所有包含该关键字的密文,然后将其返回给接收方。对于一个可搜索加密方案,检索的安全性和效率一直是用户和研究者所关注的焦点。
在最近的一个研究中,徐鹏等人提出了结构化可搜索公钥加密(SPCHS)的概念,将同一个关键字的所有可搜索密文用一条隐形的链组织起来,通过这样的方式实现了线性的检索复杂度。该研究同时提出了“隐含关系”的概念,即密文的形式是[hash(a),a*b],下一个密文就是[hash[b],b*c],所以检索的时候,通过陷门计算出了a,就可以找到hash(a),同时根据a*b/a得到b,就可以找下一个密文,前一个密文包含了下一个密文的隐式指针,称之为密文间的隐含关系。虽然他们的实例化方案在检索复杂度上有了很大的改善,不过因为其在检索中的双线性映射这一复杂密码学操作是和检索结果线性相关的,因此,在检索效率这一方面,他们的方案仍然具有很大的提升空间。
如何实现更高速的检索,设计一个实用的可搜索公钥加密方案需要迫切解决的问题。
此外,工业物联网(IIoT)在工业4.0的驱动下得到了迅猛的发展,无线传感器网络(WSNs)作为IIoT重要的组成部分之一,在越来越多的场景中得到了应用,尤其是云辅助无线传感器网络(CWSNs),例如:医疗保健、农业技术、军队防御、环境监测以及智能会议等等。由于传感器采集的数据往往具有较高的敏感性,所以CWSNs的数据隐私保护便成了一个热点问题。
很多的加密方法被研究者应用到了CSWNs中,例如同态加密、基于属性加密、混合加密、对称加密等等。这些密码学方案致力于解决CSWNs的数据安全传输和存储。而如何实现数据的安全检索,可搜索公钥加密(PEKS)便是一个很好的解决方案。不过现有的PEKS方案无论是可搜索密文的生成,还是密文数据的检索都存在较大的效率问题。而在CSWNs模型中,数据的加密是由传感器完成的,考虑到传感器能源和计算能力受限的问题,迫切需要一种轻量级的加密算法,以降低传感器的开销。
发明内容
针对现有技术之不足,本发明提供了一种可搜索公钥加密方法,本发明的方法保证了常数级的双线性映射操作,大大降低了检索过程中的复杂密码学运算过程,从计算的角度进一步提高了检索效率,使可搜索公钥加密能够在现实的应用场景中变得实用。
本发明公开了一种可搜索公钥加密方法,所述方法包括以下步骤:
步骤100:根据预设的安全参数构建双线性映射,输出公开参数PK和私钥SK;
步骤200:发送方根据所述公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri;
步骤300:所述发送方输入关键字W、所述公开参数PK和所述结构的私有部分Pri,通过加密算法为所述关键字W生成对应的可搜索密文并上传到服务器,所述通过加密算法为所述关键字W生成对应的可搜索密文包括:判断所述关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于所述第一加密算法的第二加密算法,其中,第一加密算法包含双线性映射操作,所述第二加密算法生成的可搜索密文通过隐含关系关联于所述关键字W上一次被加密时生成的可搜索密文;
步骤400:接收方输入所述关键字W和所述私钥SK,输出检索陷门TW并提交给所述服务器;
步骤500:所述服务器输入所述检索陷门TW、所述公开参数PK和由若干可搜索密文组成的可搜索密文集合,执行搜索算法,通过一次双线性映射操作找到采用所述第一加密算法生成的关键字W对应的可搜索密文,通过所述隐含关系找到采用所述第二加密算法生成的关键字W对应的可搜索密文。
根据一个优选实施方式,所述第二加密算法不包含双线性映射操作且所述第二加密算法的第二计算量小于所述第一加密算法的第一计算量。
根据一个优选实施方式,所述公开参数
Figure GDA0002115214630000031
所述私钥SK=α,公钥P=gα,其中,q为一个素数,G和G1表示两个具有素数阶q的乘法群,g是G群的一个生成元,
Figure GDA0002115214630000032
是一个具有可计算性、双线性、非退化性的双线性映射,H1和H2是两个抗碰撞哈希函数,分别为第一抗碰撞哈希函数H1:{0,1}*→G和第二抗碰撞哈希函数H2:G1→{0,1}logq
根据一个优选实施方式,所述步骤200包括:运行随机数生成算法得到一个随机数u,求幂,初始化结构并输出所述结构的公共部分Pub=gu和所述结构的私有部分Pri=(u),其中,所述结构的私有部分Pri是一个形如(u,{(W,Pt)|Pt∈G1})的变长列表,被初始化为(u),把所述结构的公共部分Pub上传至所述服务器。
根据一个优选实施方式,所述步骤300包括:
步骤310:所述发送方输入关键字W、所述公开参数PK和所述结构的私有部分Pri,根据所述关键字W在所述结构的私有部分Pri中查询是否存在(W,Pt),如果是,表示所述关键字W不是第一次被加密,则转至步骤330,如果否,表示所述关键字W是第一次被加密,则转至步骤320;
步骤320:采用所述第一加密算法,所述第一加密算法包括:运行随机数生成算法得到一个随机数R,然后令Pt=R,生成所述关键字W的私有状态Pt并将(W,Pt)插入到所述结构的私有部分Pri中,运行第一抗碰撞哈希函数H1、求幂、执行双线性映射操作、求逆、乘法运算和第二抗碰撞哈希函数H2,输出可搜索密文
步骤330:采用所述第二加密算法,所述第二加密算法包括:运行随机数生成算法得到随机数R,运行第二抗碰撞哈希函数H2、求逆和乘法运算,输出可搜索密文C=(H2(Pt),Pt-1·R),然后令Pt=R,更新所述结构的私有部分Pri中所述关键字的私有状态Pt。
根据一个优选实施方式,所述检索陷门Tw=H1(W)α
根据一个优选实施方式,所述步骤500包括:
步骤510:所述服务器输入所述检索陷门TW、所述公开参数PK、所述可搜索密文集合和所述结构的公共部分Pub,执行双线性映射操作计算
Figure GDA0002115214630000042
Figure GDA0002115214630000043
运行所述第二抗碰撞哈希函数H2,生成可搜索密文的第一部分
Figure GDA0002115214630000044
步骤520:所述服务器在所述可搜索密文集合中对可搜索密文的第一部分进行匹配搜索,判断是否找到匹配的可搜索密文,如果是,转至步骤530,如果否,则转至步骤540;
步骤530:识别步骤520中所述匹配的可搜索密文的第二部分
Figure GDA0002115214630000046
计算
Figure GDA0002115214630000047
然后运行第二抗碰撞哈希函数H2,生成下一次需要搜索的可搜索密文的第一部分
Figure GDA0002115214630000048
转至步骤520;
步骤540:所述服务器停止搜索并输出已经找到的可搜索密文。除了搜索关键字W第一次被加密时对应的可搜索密文外,后续的该关键字W的其他可搜索密文都不需要执行双线性映射操作,大大的降低了搜索过程的计算开销,提高了搜索的效率。
本发明还公开了一种实用型可搜索公钥加密系统,所述系统包括密钥分发中心、服务器、接收方和发送方,所述密钥分发中心根据预设的安全参数构建双线性映射,输出公开参数PK和私钥SK;所述发送方根据所述公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri;所述发送方输入关键字W、所述公开参数PK和所述结构的私有部分Pri,通过加密算法为所述关键字W生成对应的可搜索密文并上传到服务器,所述通过加密算法为所述关键字W生成对应的可搜索密文包括:判断所述关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于所述第一加密算法的第二加密算法,其中,所述第一加密算法包含双线性映射操作,所述第二加密算法生成的可搜索密文通过隐含关系关联于所述关键字W上一次被加密时生成的可搜索密文;所述接收方输入所述关键字W和所述私钥SK,输出检索陷门TW并提交给所述服务器;所述服务器输入所述检索陷门TW、所述公开参数PK和若干可搜索密文组成的可搜索密文集合,执行搜索算法,通过一次双线性映射操作找到采用所述第一加密算法生成的关键字W对应的可搜索密文,通过所述隐含关系找到采用所述第二加密算法生成的关键字W对应的可搜索密文。
根据一个优选实施方式,所述第二加密算法不包含双线性映射操作且所述第二加密算法的第二计算量小于所述第一加密算法的第一计算量。
本发明还公开了一种服务器,所述服务器根据预设的安全参数构建双线性映射,输出公开参数PK和私钥SK,然后将所述公开参数PK发送给发送方,将所述私钥发送给接收方;所述发送方根据所述公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri;所述发送方输入关键字W、所述公开参数PK和所述结构的私有部分Pri,通过加密算法为所述关键字W生成对应的可搜索密文并上传到服务器,所述通过加密算法为所述关键字W生成对应的可搜索密文包括:判断所述关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于所述第一加密算法的第二加密算法,其中,第一加密算法包含双线性映射操作,所述第二加密算法生成的可搜索密文通过隐含关系关联于所述关键字W上一次被加密时生成的可搜索密文;所述接收方输入所述关键字W和所述私钥SK,输出检索陷门TW并提交给所述服务器;所述服务器输入所述检索陷门TW、所述公开参数PK和若干可搜索密文组成的可搜索密文集合,执行搜索算法,通过一次双线性映射操作找到采用所述第一加密算法生成的关键字W对应的可搜索密文,通过所述隐含关系找到采用所述第二加密算法生成的关键字W对应的可搜索密文。
本发明提供的一种可搜索公钥加密方法、采用该方法的系统和服务器至少具有如下优势:
(1)可用于多用户场景下的外包数据的安全检索;
(2)本发明实现了在不可信网络环境下对服务器的数据进行安全的检索;
(3)本发明构造的加密过程和搜索过程的算法简单、可搜索密文短,且在保证语义安全性的条件下,从计算的角度降低了检索过程中的时间开销,使得在检索算法中的双线性映射为常数级,大大改善了可搜索公钥加密的效率。
附图说明
图1是本发明的方法的一个优选实施方式的示意图;
图2是步骤300的一个优选实施方式的示意图;
图3是步骤500的一个优选实施方式的示意图;
图4是本发明的系统的一个优选实施方式的示意图;和
图5是本发明的加密过程和搜索过程的示意图。
附图标记列表
A:发送方 B:服务器 C:接收方
D:密钥分发中心 E:隐含关系
具体实施方式
下面结合附图进行详细说明。
为了便于理解,在可能的情况下,使用相同附图标记来表示各附图中共同的相似元件。
如在整篇本申请中所使用的那样,词语“可以”系容许含义(即,意味着有可能的)而不是强制性含义(即,意味着必须的)。类似地,词语“包括”意味着包括但不限于。
短语“至少一个”、“一个或多个”以及“和/或”系开放式表达,它们涵盖操作中的关联与分离两者。例如,表述“A、B和C中的至少一个”、“A、B或C中的至少一个”、“A、B和C中的一个或更多个”、“A、B或C”和“A、B和/或C”中的每个分别指单独A、单独B、单独C、A和B一起、A和C一起、B和C一起或A、B和C一起。
术语“一种”或“一个”实体指的是该实体中的一个或多个。这样,术语“一”(或“一”)、“一个或多个”以及“至少一个”在本文中可以交换地使用。还应该注意,术语“包括”、“包含”和“具有”可以交换地使用。
首先对本发明中用到的一些术语进行解释。
密钥分发中心:具有创建系统、生成及分发用户公私钥功能。例如是可信的第三方机构。其具体功能的实现可以由具有数据处理能力的设备完成。
发送方:具有加密文件及关键字,创建密文索引的功能。例如是个人或者机构。其具体功能的实现可以由具有数据处理能力的设备完成。
接收方,具有解密密文文件以及生成检索陷门的功能。例如是个人或机构。其功能的实现由具有数据处理能力的设备完成。
服务器:具有存储文件密文及关键字可搜索密文,并能提供检索功能的机构。其具体功能的实现可以由具有数据处理能力的设备完成。
具有数据处理能力的设备:例如是服务器、服务器集群、工作站、超级计算机、台式电脑、笔记本电脑、平板和手机中的至少一种。本领域技术人员可以根据实际的计算量需求和/或使用需求选择实际的设备。
实施例1
参照图1,本实施例公开了一种可搜索公钥加密方法。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式可以作为本实施例的补充。
根据一个优选实施方式,本发明的方法可以包括步骤100:根据预设的安全参数构建双线性映射,输出公开参数PK和私钥SK。优选地,公开参数PK是公开的。也就是说,任何人都可以获得公开参数PK。比如,发送方A和/或服务器B。私钥SK由接收方C秘密保存。应当注意的是,公开参数PK在一些其他的文献中可能被称为主公钥PK,私钥SK被称为主私钥SK,或者采用其他本发明中提及的等效名称。只要在与本发明所表达的思想一致的情况下,都应当纳入本发明的保护范围。
优选地,步骤100中所述的“构建双线性映射”,其运行方法如下:密钥分发中心D输入安全参数1k。根据k的大小,密钥分发中心D选择相应的椭圆曲线:Y2=X3+aX+b,其中,a和b是系数,再由椭圆曲线上的点构成两个素数q阶的群:G、G1,选择一种函数映射
Figure GDA0002115214630000081
将群G中的元素映射到群G1中去。安全参数1k数值越大,所选择椭圆曲线上的点也越多,群也越大。
根据一个优选实施方式,该方法还可以包括步骤200:发送方A根据公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri。优选地,结构的公共部分Pub可以上传到服务器B。结构的私有部分Pri可以由发送方A秘密地保存在本地。
根据一个优选实施方式,该方法还可以包括步骤300:发送方A输入关键字W、公开参数PK和结构的私有部分Pri,通过加密算法为关键字W生成对应的可搜索密文并上传到服务器B。优选地,通过加密算法为关键字W生成对应的可搜索密文包括:判断关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于第一加密算法的第二加密算法。优选地,第一加密算法可以包含双线性映射操作。第二加密算法生成的可搜索密文可以通过隐含关系关联于关键字W上一次被加密时生成的可搜索密文。
根据一个优选实施方式,该方法还可以包括步骤400:接收方C输入关键字W和私钥SK,输出检索陷门TW并提交给服务器B。优选地,接收方C通过安全信道将检索陷门TW发送给服务器B。这样可以防止他人利用该检索陷门Tw进行搜索,提高检索过程的安全性。
根据一个优选实施方式,该方法还可以包括步骤500:服务器B输入检索陷门TW、公开参数PK和由若干可搜索密文组成的可搜索密文集合,执行搜索算法,通过一次双线性映射操作找到采用第一加密算法生成的关键字W对应的可搜索密文,通过隐含关系找到采用第二加密算法生成的关键字W对应的可搜索密文。第二加密算法不仅进行了加密过程,生成了当前关键字W对应的可搜索密文,同时逐渐构建了当前被加密的关键字W对应可搜索密文和上一次被加密的关键字W的隐含关系。检索时,通过该隐含关系,能够降低检索过程的计算量。也就是说,使得本发明在保证语义安全性的条件下,从计算的角度降低了检索过程中的时间开销,提高了检索效率。
根据一个优选实施方式,第一加密算法的第一计算量大于第二加密算法的第二计算量。这样可以在加密的同时降低相应关键字第二次及以后被加密的计算开销,提高加密的效率。优选地,第二加密算法可以不包含双线性映射操作。双线性映射操作所需的计算开销较大,通过该方式,使得在检索算法中的双线性映射为常数级,大大改善了可搜索公钥加密的效率,使可搜索公钥加密能够在现实的应用场景中变得实用。从效果上来讲,本发明在检索速度上已经可以和可搜索对称加密方案媲美。
根据一个优选实施方式,公开参数
Figure GDA0002115214630000091
私钥SK=α,公钥P=gα。优选地,q为一个素数,G和G1表示两个具有素数阶q的乘法群,g是G群的一个生成元,
Figure GDA0002115214630000092
是一个具有可计算性、双线性、非退化性的双线性映射,H1和H2是两个抗碰撞哈希函数,分别为第一抗碰撞哈希函数H1:{0,1}*→G和第二抗碰撞哈希函数H2:G1→{0,1}logq。优选地,本发明中使用的抗碰撞哈希函数具备两个基本特性:单向性和抗碰撞性;单向性是指只能从哈希函数的输入推导出输出,而不能从哈希函数的输出计算出输入;抗碰撞性是指不能找到两个不同的哈希函数输入使其哈希后的结果相同。本发明中的第一抗碰撞哈希函数H1是以关键字为输入,以任意字符串表示;输出为群G的元素。第二抗碰撞哈希函数H2是以群G1为输入,输出为定长的字符串。
根据一个优选实施方式,步骤200可以包括:运行随机数生成算法得到一个随机数u、求幂、初始化结构并输出结构的公共部分Pub=gu和结构的私有部分Pri=(u)。优选地,结构的私有部分Pri是一个形如(u,{(W,Pt)|Pt∈G1})的变长列表,被初始化为(u)。优选地,把结构的公共部分Pub上传至服务器B。
根据一个优选实施方式,参照图2,步骤300可以包括:
步骤310:所述发送方A输入关键字W、所述公开参数PK和所述结构的私有部分Pri,根据关键字W在结构的私有部分Pri中查询是否存在(W,Pt),如果是,表示关键字W不是第一次被加密,则转至步骤330,如果否,表示关键字W是第一次被加密,则转至步骤320;
步骤320:采用第一加密算法,第一加密算法包括:运行随机数生成算法得到一个随机数R,然后令Pt=R,生成关键字W的私有状态Pt并将(W,Pt)插入到结构的私有部分Pri中,运行第一抗碰撞哈希函数H1、求幂、执行双线性映射操作、求逆、乘法运算和第二抗碰撞哈希函数H2,输出可搜索密文
步骤330:采用第二加密算法,第二加密算法包括:运行随机数生成算法得到随机数R,运行第二抗碰撞哈希函数H2、求逆和乘法运算,输出可搜索密文C=(H2(Pt),Pt-1·R),然后令Pt=R,更新结构的私有部分Pri中关键字的私有状态Pt。第二加密算法不包括执行双线性映射操作,且通过较少的计算量实现了对关键字的加密和隐含关系的构建,极大地降低了计算开销,提高了加密的效率。后续的搜索过程的计算开销也会随之降低,提高搜索效率。
根据一个优选实施方式,检索陷门Tw=H1(W)α
根据一个优选实施方式,参照图3,步骤500可以包括:
步骤510:服务器B输入检索陷门TW、公开参数PK、可搜索密文集合和结构的公共部分Pub,执行双线性映射操作计算
Figure GDA0002115214630000102
运行第二抗碰撞哈希函数H2,生成可搜索密文的第一部分
Figure GDA0002115214630000103
步骤520:服务器B在可搜索密文集合中对可搜索密文的第一部分
Figure GDA0002115214630000104
进行匹配搜索,判断是否找到匹配的可搜索密文,如果是,转至步骤530,如果否,则转至步骤540;
步骤530:识别步骤520中匹配的可搜索密文的第二部分
Figure GDA0002115214630000105
计算
Figure GDA0002115214630000106
然后运行第二抗碰撞哈希函数H2,生成下一次需要搜索的可搜索密文的第一部分
Figure GDA0002115214630000107
转至步骤520;
步骤540:服务器B停止搜索并输出已经找到的可搜索密文。
参见图5,图5示出了本发明的加密过程和搜索过程。其中,虚线箭头Line1是加密过程,点画线箭头Line2是搜索过程。虚线框内是可搜索密文集合。Pt[Wi]表示关键字Wi对应的私有状态Pt,其中,i∈[1,L]。W1~WL分别代表了不同的关键字W。为了简化,图中省略了关键字W2~WL的加密过程,省略了关键字W1~WL-1的搜索过程。加密过程中,上一次被加密的关键字W的可搜索密文依次通过隐含关系E关联于其后被加密的关键字W的可搜索密文。加密过程中,只需执行一次双线性映射操作,后续通过采用不包括双线性映射操作的加密算法构建隐含关系。搜索过程中,只需执行一次双线性映射操作,后续通过采用不包括双线性映射操作的搜索算法暴露隐含关系,依次得到后续的可搜索密文。通过该方法,大大降低了加密和搜索的计算开销,提高了加密和搜索的效率。
实施例2
本实施例是对实施例1的进一步改进,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式可以作为本实施例的补充。
根据一个优选实施方式,本发明的方法还可以包括:关键字的提取步骤。
优选地,关键字的提取步骤包括:获取待加密的文件;根据预设的关键字样本集,从待加密的文件提取关键字,所述关键字样本集包括不同粒度的关键字;将提取的关键字作为待加密的文件的关键字。通过该方式获得关键字效率高、数量齐全,而且避免了发送方A漏提、错题关键字或者接收方C和发送方A对文件的理解不一致导致接收方C不能有效检索到相关文件的问题。
根据一个优选实施方式,本发明的方法还包括:构建所述关键字样本集;
其中,所述构建所述关键字样本集的处理包括:
发送方A提供多篇本领域的关键字样本文章;
分别对所述多篇关键字样本文章中的语句进行自然语言分析,将所述语句切分为不同粒度的分词;
分别计算所述不同粒度的分词的评分;
根据所述评分超过预定阈值的分词生成所述预设的关键字样本集。通过该方式,能够更为精确地从待加密的文件中提取本领域的大家所熟知的关键词,使接收方C在检索过程中能够更为快速、有效地检索到相应的密文文件。优选地,关键字样本文章例如是本领域的论文、教材、词典和手册中的至少一种。优选地,本实施例中提到的本领域是指待加密的文件的所属领域。
实施例3
本实施例是对实施例1或2及其结合的进一步改进,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式可以作为本实施例的补充。
参照图4,本发明还公开了一种实用型可搜索公钥加密系统,该系统适于执行本发明记载的各个方法步骤,以达到预期的技术效果。在本实施例中,密钥分发中心D独立设置。独立设置的秘钥分发中心可以使系统具有更高的安全性。特别是密钥分发中心D和服务器B的拥有者不同的情况下,能够降低私钥被服务器B泄露的可能性。还能防止服务器B掌握私钥而私自查看关键字W的具体情况,截取用户的私密文件。
根据一个优选实施方式,该系统包括密钥分发中心D、服务器B、接收方C和发送方A,密钥分发中心D根据预设的安全参数构建双线性映射,输出公开参数PK和私钥SK;
发送方A根据公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri;
发送方A输入关键字W、公开参数PK和结构的私有部分Pri,通过加密算法为关键字W生成对应的可搜索密文并上传到服务器B,通过加密算法为关键字W生成对应的可搜索密文包括:
判断关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于第一加密算法的第二加密算法,
其中,第一加密算法包含双线性映射操作,第二加密算法生成的可搜索密文通过隐含关系关联于关键字W上一次被加密时生成的可搜索密文;
接收方C输入关键字W和私钥SK,输出检索陷门TW并提交给服务器B;
服务器B输入检索陷门TW、公开参数PK和若干可搜索密文组成的可搜索密文集合,执行搜索算法,通过一次双线性映射操作找到采用第一加密算法生成的关键字W对应的可搜索密文,通过隐含关系找到采用第二加密算法生成的关键字W对应的可搜索密文。
根据一个优选实施方式,第二加密算法不包含双线性映射操作且第二加密算法的第二计算量小于第一加密算法的第一计算量。
实施例4
本实施例是对实施例1、2或3及其结合的进一步改进,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式可以作为本实施例的补充。
再次参见图4,根据一个优选实施方式,步骤100可以包括:
步骤S110:输入安全参数1k,构建相应的双线性映射:
Figure GDA0002115214630000131
G和G1表示两个具有素数阶q的乘法群,g是G群的一个生成元,运行随机数生成算法:
Figure GDA0002115214630000132
私钥SK=α,求幂得到公钥P=gα,选择两个抗碰撞哈希函数H1:{0,1}*→G,H2:G1→{0,1}logq,令公开参数
Figure GDA0002115214630000133
输出公开参数PK和私钥SK;
步骤S120:将公开参数PK发送给发送方A和/或服务器B,将私钥SK发送给接收方C。
优选地,步骤S110可以是由密钥分发中心D完成的。
优选地,本发明中所述的随机数生成算法其运行方法可以是:根据选择的椭圆曲线:Y2=X3+aX+b,随机选择自变量X的一个值x1,计算对应因变量Y的值y1;若点(x1,y1)在想要映射的群中,则成功生成了随机元素;若点(x1,y1)不在想要映射的群中,则继续选择X的值,直到找到出现在想要映射的群中的点。此外,域
Figure GDA0002115214630000136
表示集合{1,2,...,q-1}。
优选地,本发明中提到的随机选择域中元素的随机数生成算法可以从Pairing-Based Cryptosystems(PBC)函数库中调用API运行。
优选地,本发明中提到的随机数生成算法
Figure GDA0002115214630000138
同样按上述方法运行。本发明中提到的随机数生成算法同样可以从Pairing-Based Cryptosystems(PBC)函数库中调用API运行。
优选地,本发明中提到的抗碰撞哈希函数H1,H2同样可以从PBC函数库中调用API运行。
根据一个优选实施方式,步骤200可以为:发送方A输入公开参数PK,运行随机数生成算法
Figure GDA00021152146300001310
输出结构(Pri=(u),Pub=gu)。优选地,结构的公共部分Pub=gu是求幂得到的。优选地,结构的私有部分Pri可以是一个形如(u,{(W,Pt)|Pt∈G1})的变长列表,被初始化为(u)。
优选地,结构的私有部分Pri可以由发送方A秘密地保存在本地。或者,结构的私有部分Pri可以由发送方A加密保存在第三方。这样可以防止结构的私有部分Pri占据本地内存,还可以让第三方作为备份,防止本地数据被破坏时不易构建后续的隐藏关系。
根据一个优选实施方式,步骤310可以包括:
步骤311:发送方A为需要加密的文件提取相关的关键字W,并使用已和接收方C协商好的对称密钥加密文件,生成对应的密文文件;
步骤312:发送方A输入关键字W,根据关键字W在结构的私有部分Pri中查询是否存在(W,Pt),如果是,表示所述关键字W不是第一次被加密,则转至步骤330,如果否,表示所述关键字W是第一次被加密,则转至步骤320。
根据一个优选实施方式,步骤320可以为:运行随机数生成算法令Pt=R,将(W,Pt)插入到结构的私有部分Pri中,运行第一抗碰撞哈希函数H1、求幂、执行双线性映射操作、求逆、乘法运算和第二抗碰撞哈希函数H2,输出可搜索密文
Figure GDA0002115214630000142
根据一个优选实施方式,步骤330可以为:运行随机数生成算法:
Figure GDA0002115214630000143
运行抗碰撞哈希函数、求逆和乘法运算,输出可搜索密文C=(H2(Pt),Pt-1·R),然后令Pt=R,在结构的私有部分Pri中更新(W,Pt)。
根据一个优选实施方式,步骤300还可以包括:
步骤340:发送方A上传密文文件以及与之关联的可搜索密文至服务器B。
优选地,服务器B接收到密文文件和与之关联的可搜索密文之后,将密文文件和与之关联的可搜索密文按照关联的方式进行存储。
根据一个优选实施方式,步骤400可以包括:
步骤410:接收方C输入关键字W和私钥SK,运行第一抗碰撞哈希函数H1并求幂,得到检索陷门Tw=H1(W)α
步骤420:接收方C生成检索请求并将检索请求和生成的检索陷门Tw一起发送至服务器B。
根据一个优选实施方式,步骤510可以包括:服务器B输入检索陷门TW、公开参数PK、可搜索密文集合和结构的公共部分Pub,执行双线性映射操作,计算
Figure GDA0002115214630000151
运行第二抗碰撞哈希函数H2,生成可搜索密文的第一部分
Figure GDA0002115214630000152
得到
根据一个优选实施方式,步骤520可以包括:服务器B在可搜索密文集合中根据得到的
Figure GDA0002115214630000154
进行匹配,如果找到了相匹配可搜索密文,则转至步骤530,如果没有找到相匹配可搜索密文,则转至步骤540;
根据一个优选实施方式,步骤530可以包括:用
Figure GDA0002115214630000155
表示找到的可搜索密文的第二部分,计算
Figure GDA0002115214630000156
然后计算
Figure GDA0002115214630000157
然后转至步骤520。
根据一个优选实施方式,步骤540可以包括:返回所有已经找到的可搜索密文并停止检索。
根据一个优选实施方式,本发明还可以包括:
步骤600:服务器B根据找到可搜索密文,返回与之关联的密文文件给接收方C。
根据一个优选实施方式,本发明还可以包括:
步骤700:接收方C根据已经和发送方A协商好的对称密钥解密密文文件。
实施例5
本实施例是对实施例1、2、3或4及其结合的进一步改进,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式可以作为本实施例的补充。
本发明还公开了一种服务器B,该服务器B采用了本发明记载的方法,以达到预期的技术效果。在本实施例中,将密钥分发中心D的功能并入了服务器B中,简化了系统的结构。
根据一个优选实施方式,该服务器B可以根据预设的安全参数构建双线性映射,输出公开参数PK和私钥SK。然后,服务器B可以将公开参数PK发送给发送方A,将私钥SK发送给接收方C。发送方A可以根据公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri。发送方A可以输入关键字W、公开参数PK和结构的私有部分Pri,通过加密算法为关键字W生成对应的可搜索密文并上传到服务器B。通过加密算法为关键字W生成对应的可搜索密文的步骤可以包括:判断关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于第一加密算法的第二加密算法。加密算法可以包括第一加密算法和第二加密算法。第一加密算法可以包含双线性映射操作。第二加密算法生成的可搜索密文可以通过隐含关系关联于关键字W上一次被加密时生成的可搜索密文。接收方C输入关键字W和私钥SK,输出检索陷门TW并提交给服务器B。服务器B输入检索陷门TW、公开参数PK和若干可搜索密文组成的可搜索密文集合,执行搜索算法,通过一次双线性映射操作找到采用第一加密算法生成的关键字W对应的可搜索密文。找到采用第一加密算法生成的关键字W对应的可搜索密文后,服务器B通过隐含关系找到采用第二加密算法生成的关键字W对应的可搜索密文。
根据一个优选实施方式,第二加密算法不包含双线性映射操作且第二加密算法的第二计算量小于第一加密算法的第一计算量。
实施例6
本实施例是对实施例1、2、3、4或5及其结合的进一步改进,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式可以作为本实施例的补充。
本发明还公开了一种服务器B,该服务器B采用了本发明记载的方法,以达到预期的技术效果。在本实施例中,将密钥分发中心D的功能并入了接收方C中,简化了系统的结构。该方式可以解决服务器B是不可信的情况下,搜索的安全性问题。这样,服务器B就不会掌握私钥,可搜索加密的搜索过程是在服务器B不知道搜索的关键字W的具体情况下完成。
根据一个优选实施方式,接收方C可以根据预设的安全参数构建双线性映射,输出公开参数PK和私钥SK。然后,接收方C可以将公开参数PK发送给至少一个发送方A和/或服务器B,并将私钥SK秘密保存在本地。发送方A可以根据公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri。发送方A可以输入关键字W、公开参数PK和结构的私有部分Pri,通过加密算法为关键字W生成对应的可搜索密文并上传到服务器B。通过加密算法为关键字W生成对应的可搜索密文的步骤可以包括:判断关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于第一加密算法的第二加密算法。加密算法可以包括第一加密算法和第二加密算法。第一加密算法可以包含双线性映射操作。第二加密算法生成的可搜索密文可以通过隐含关系关联于关键字W上一次被加密时生成的可搜索密文。接收方C输入关键字W和私钥SK,输出检索陷门TW并提交给服务器B。服务器B输入检索陷门Tw、公开参数PK和若干可搜索密文组成的可搜索密文集合,执行搜索算法,通过一次双线性映射操作找到采用第一加密算法生成的关键字W对应的可搜索密文。找到采用第一加密算法生成的关键字W对应的可搜索密文后,服务器B通过隐含关系找到采用第二加密算法生成的关键字W对应的可搜索密文。优选地,服务器B可以保存公开参数PK,并在一发送方A请求获得公开参数PK时将其发送给该发送方B。
实施例7
本实施例是对实施例1、2、3、4、5或6及其结合的进一步改进,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式可以作为本实施例的补充。
本实施例公开了一种加密芯片,加密芯片适于执行本发明记载的方法步骤,以达到预期的技术效果。
根据一个优选实施方式,加密芯片根据所述公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri;
加密芯片输入关键字W、所述公开参数PK和所述结构的私有部分Pri,通过加密算法为所述关键字W生成对应的可搜索密文,所述通过加密算法为所述关键字W生成对应的可搜索密文包括:
判断所述关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于所述第一加密算法的第二加密算法,
其中,第一加密算法包含双线性映射操作,所述第二加密算法生成的可搜索密文通过隐含关系E关联于所述关键字W上一次被加密时生成的可搜索密文。
根据一个优选实施方式,加密芯片设于发送方的具有数据处理能力的设备之内。
根据另一个优选实施方式,加密芯片通过USB接口连接于发送方以执行发送方的加密过程。
采用本发明的方法的加密芯片在加密过程所消耗的计算资源相对较小,降低了传感器的配置要求,且提高了加密的速度。
实施例8
本实施例是对实施例1、2、3、4、5、6或7及其结合的进一步改进,重复的内容不再赘述。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式可以作为本实施例的补充。
本实施例公开了一种传感器,传感器适于执行本发明记载的方法步骤,以达到预期的技术效果。
根据一个优选实施方式,传感器根据所述公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri;
加密芯片输入关键字W、所述公开参数PK和所述结构的私有部分Pri,通过加密算法为所述关键字W生成对应的可搜索密文,所述通过加密算法为所述关键字W生成对应的可搜索密文包括:
判断所述关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于所述第一加密算法的第二加密算法,
其中,第一加密算法包含双线性映射操作,所述第二加密算法生成的可搜索密文通过隐含关系E关联于所述关键字W上一次被加密时生成的可搜索密文。
根据一个优选实施方式,传感器设于发送方的具有数据处理能力的设备之内。
根据另一个优选实施方式,传感器通过USB接口连接于发送方以执行发送方的加密过程。
采用本发明的方法的传感器在加密过程所消耗的计算资源相对较小,降低了传感器的配置要求,且提高了加密的速度。
应当注意的是,本发明所列的各个方法步骤并非一定要编号顺序执行,在能实现本发明目的的情况下,一些步骤可以彼此交换顺序,这也应当包含在本发明的保护范围之内。
如本文中所使用的那样,术语“自动的”及其变型是指当执行过程或操作时在没有实质性人工输入的情况下完成的任何过程或操作。然而,如果在执行该过程或操作之前接收到该输入,则该过程或操作可以是自动的,即使该过程或操作的执行使用了实质性或非实质性的人工输入。如果这样的输入影响该过程或操作的执行方式,则该人工输入被认为是实质性的。准予执行该过程或操作的人工输入不被视为“实质性的”。
虽然已经详细描述了本发明,但是在本发明的精神和范围内的修改对于本领域技术人员将是显而易见的。这样的修改也被认为是本公开的一部分。鉴于前面的讨论、本领域的相关知识以及上面结合背景讨论的参考或信息(均通过引用并入本文),进一步的描述被认为是不必要的。此外,应该理解,本发明的各个方面和各个实施例的各部分均可以整体或部分地组合或互换。而且,本领域的普通技术人员将会理解,前面的描述仅仅是作为示例,并不意图限制本发明。
已经出于示例和描述的目的给出了本公开的前述讨论。这并不意图将本公开限制于本文公开的形式。在前述的具体实施方式中,例如,为了简化本公开的目的,本公开的各种特征在一个或多个实施例、配置或方面中被组合在一起。实施例、配置或方面的特征可以以除上面讨论的那些之外的替代实施例、配置或方面组合。本公开的该方法不应被解释为反映本公开需要比每个权利要求中明确记载的更多特征的意图。相反,如以下权利要求所反映的,创造性方面在于少于单个前述公开的实施例、配置或方面的所有特征。因此,以下权利要求由此被并入本具体实施方式中,其中每个权利要求其自身作为本公开的单独实施例。
而且,虽然本公开的描述已经包括对一个或多个实施例、配置或方面以及某些变型和修改的描述,但是其他变型、组合和修改也在本公开的范围内,例如在本领域技术人员的技能和知识范围内,在理解了本公开之后。旨在获得在允许的程度上包括替代实施例、配置或方面的权利,所述权利包括那些要求保护的替代的、可互换的和/或等效的结构、功能、范围或步骤的权利,无论这种替代的、可互换的和/或等效的结构、功能、范围或步骤是否在本文中公开,并且无意公开奉献任何可专利的主题。

Claims (9)

1.一种可搜索公钥加密方法,其特征在于,所述方法包括以下步骤:
步骤100:根据预设的安全参数构建双线性映射,输出公开参数PK和私钥SK;
步骤200:发送方(A)根据所述公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri;
步骤300:所述发送方(A)输入关键字W、所述公开参数PK和所述结构的私有部分Pri,通过加密算法为所述关键字W生成对应的可搜索密文并上传到服务器(B),所述通过加密算法为所述关键字W生成对应的可搜索密文包括:
判断所述关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于所述第一加密算法的第二加密算法,
其中,第一加密算法包含双线性映射操作,所述第二加密算法生成的可搜索密文通过隐含关系(E)关联于所述关键字W上一次被加密时生成的可搜索密文;
步骤400:接收方(C)输入所述关键字W和所述私钥SK,输出检索陷门TW并提交给所述服务器(B);
步骤500:所述服务器(B)输入所述检索陷门TW、所述公开参数PK和由若干可搜索密文组成的可搜索密文集合,执行搜索算法,通过一次双线性映射操作找到采用所述第一加密算法生成的关键字W对应的可搜索密文,通过所述隐含关系(E)找到采用所述第二加密算法生成的关键字W对应的可搜索密文;
其中,所述步骤300包括:
步骤310:所述发送方(A)输入关键字W、所述公开参数PK和所述结构的私有部分Pri,根据所述关键字W在所述结构的私有部分Pri中查询是否存在(W,Pt),如果是,表示所述关键字W不是第一次被加密,则转至步骤330,如果否,表示所述关键字W是第一次被加密,则转至步骤320;
步骤320:采用所述第一加密算法,所述第一加密算法包括:运行随机数生成算法得到一个随机数R,然后令Pt=R,生成所述关键字W的私有状态Pt并将(W,Pt)插入到所述结构的私有部分Pri中,运行第一抗碰撞哈希函数H1、求幂、执行双线性映射操作、求逆、乘法运算和第二抗碰撞哈希函数H2,输出可搜索密文
Figure FDA0002231096880000021
步骤330:采用所述第二加密算法,所述第二加密算法包括:运行随机数生成算法得到随机数R,运行第二抗碰撞哈希函数H2、求逆和乘法运算,输出可搜索密文C=(H2(Pt),Pt-1·R),然后令Pt=R,更新所述结构的私有部分Pri中所述关键字的私有状态Pt。
2.如权利要求1所述的方法,其特征在于,所述第二加密算法不包含双线性映射操作且所述第二加密算法的第二计算量小于所述第一加密算法的第一计算量。
3.如权利要求1或2所述的方法,其特征在于,所述公开参数
Figure FDA0002231096880000022
Figure FDA0002231096880000023
所述私钥SK=α,公钥P=gα
其中,q为一个素数,G和G1表示两个具有素数阶q的乘法群,g是G群的一个生成元,
Figure FDA0002231096880000024
是一个具有可计算性、双线性、非退化性的双线性映射,H1和H2是两个抗碰撞哈希函数,分别为第一抗碰撞哈希函数H1:{0,1}*→G和第二抗碰撞哈希函数H2:G1→{0,1}logq
4.如权利要求1或2所述的方法,其特征在于,所述步骤200包括:
运行随机数生成算法得到一个随机数u,求幂,初始化结构并输出所述结构的公共部分Pub=gu和所述结构的私有部分Pri=(u),
其中,所述结构的私有部分Pri是一个形如(u,{(W,Pt)|Pt∈G1})的变长列表,被初始化为(u),把所述结构的公共部分Pub上传至所述服务器(B)。
5.根据权利要求1或2所述的方法,其特征在于,所述检索陷门Tw=H1(W)α
6.根据权利要求1或2所述的方法,其特征在于,所述步骤500包括:
步骤510:所述服务器(B)输入所述检索陷门TW、所述公开参数PK、所述可搜索密文集合和所述结构的公共部分Pub,执行双线性映射操作计算
Figure FDA0002231096880000031
运行所述第二抗碰撞哈希函数H2,生成可搜索密文的第一部分
Figure FDA0002231096880000032
步骤520:所述服务器(B)在所述可搜索密文集合中对可搜索密文的第一部分
Figure FDA0002231096880000033
进行匹配搜索,判断是否找到匹配的可搜索密文,如果是,转至步骤530,如果否,则转至步骤540;
步骤530:识别步骤520中所述匹配的可搜索密文的第二部分
Figure FDA0002231096880000034
计算
Figure FDA0002231096880000035
然后运行第二抗碰撞哈希函数H2,生成下一次需要搜索的可搜索密文的第一部分
Figure FDA0002231096880000036
转至步骤520;
步骤540:所述服务器(B)停止搜索并输出已经找到的可搜索密文。
7.一种可搜索公钥加密系统,所述系统包括密钥分发中心(D)、服务器(B)、接收方(C)和发送方(A),其特征在于,所述密钥分发中心(D)根据预设的安全参数构建双线性映射,输出公开参数PK和私钥SK;
所述发送方(A)根据所述公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri;
所述发送方(A)输入关键字W、所述公开参数PK和所述结构的私有部分Pri,通过加密算法为所述关键字W生成对应的可搜索密文并上传到服务器(B),所述通过加密算法为所述关键字W生成对应的可搜索密文包括:
判断所述关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于所述第一加密算法的第二加密算法,
其中,所述第一加密算法包含双线性映射操作,所述第二加密算法生成的可搜索密文通过隐含关系(E)关联于所述关键字W上一次被加密时生成的可搜索密文,
所述发送方(A)输入关键字W、所述公开参数PK和所述结构的私有部分Pri,根据所述关键字W在所述结构的私有部分Pri中查询是否存在(W,Pt),如果是,表示所述关键字W不是第一次被加密,如果否,表示所述关键字W是第一次被加密,
采用所述第一加密算法,所述第一加密算法包括:运行随机数生成算法得到一个随机数R,然后令Pt=R,生成所述关键字W的私有状态Pt并将(W,Pt)插入到所述结构的私有部分Pri中,运行第一抗碰撞哈希函数H1、求幂、执行双线性映射操作、求逆、乘法运算和第二抗碰撞哈希函数H2,输出可搜索密文
Figure FDA0002231096880000041
采用所述第二加密算法,所述第二加密算法包括:运行随机数生成算法得到随机数R,运行第二抗碰撞哈希函数H2、求逆和乘法运算,输出可搜索密文C=(H2(Pt),Pt-1·R),然后令Pt=R,更新所述结构的私有部分Pri中所述关键字的私有状态Pt;
所述接收方(C)输入所述关键字W和所述私钥SK,输出检索陷门TW并提交给所述服务器(B);
所述服务器(B)输入所述检索陷门TW、所述公开参数PK和若干可搜索密文组成的可搜索密文集合,执行搜索算法,通过一次双线性映射操作找到采用所述第一加密算法生成的关键字W对应的可搜索密文,通过所述隐含关系(E)找到采用所述第二加密算法生成的关键字W对应的可搜索密文。
8.如权利要求7所述的系统,其特征在于,所述第二加密算法不包含双线性映射操作且所述第二加密算法的第二计算量小于所述第一加密算法的第一计算量。
9.一种服务器,其特征在于,所述服务器(B)根据预设的安全参数构建双线性映射,输出公开参数PK和私钥SK,然后将所述公开参数PK发送给发送方(A),将所述私钥发送给接收方(C);
所述发送方(A)根据所述公开参数PK初始化可搜索密文结构,并输出结构的公共部分Pub和结构的私有部分Pri;
所述发送方(A)输入关键字W、所述公开参数PK和所述结构的私有部分Pri,通过加密算法为所述关键字W生成对应的可搜索密文并上传到服务器(B),所述通过加密算法为所述关键字W生成对应的可搜索密文包括:
判断所述关键字W是否是第一次被加密,如果是,则采用第一加密算法,如果否,则采用不同于所述第一加密算法的第二加密算法,
其中,第一加密算法包含双线性映射操作,所述第二加密算法生成的可搜索密文通过隐含关系(E)关联于所述关键字W上一次被加密时生成的可搜索密文,
所述发送方(A)输入关键字W、所述公开参数PK和所述结构的私有部分Pri,根据所述关键字W在所述结构的私有部分Pri中查询是否存在(W,Pt),如果是,表示所述关键字W不是第一次被加密,如果否,表示所述关键字W是第一次被加密,
采用所述第一加密算法,所述第一加密算法包括:运行随机数生成算法得到一个随机数R,然后令Pt=R,生成所述关键字W的私有状态Pt并将(W,Pt)插入到所述结构的私有部分Pri中,运行第一抗碰撞哈希函数H1、求幂、执行双线性映射操作、求逆、乘法运算和第二抗碰撞哈希函数H2,输出可搜索密文
Figure FDA0002231096880000051
采用所述第二加密算法,所述第二加密算法包括:运行随机数生成算法得到随机数R,运行第二抗碰撞哈希函数H2、求逆和乘法运算,输出可搜索密文C=(H2(Pt),Pt-1·R),然后令Pt=R,更新所述结构的私有部分Pri中所述关键字的私有状态Pt;
所述接收方(C)输入所述关键字W和所述私钥SK,输出检索陷门TW并提交给所述服务器(B);
所述服务器(B)输入所述检索陷门TW、所述公开参数PK和若干可搜索密文组成的可搜索密文集合,执行搜索算法,通过一次双线性映射操作找到采用所述第一加密算法生成的关键字W对应的可搜索密文,通过所述隐含关系(E)找到采用所述第二加密算法生成的关键字W对应的可搜索密文。
CN201810007241.7A 2017-12-29 2018-01-04 一种可搜索公钥加密方法、采用该方法的系统和服务器 Active CN108200063B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2017114977006 2017-12-29
CN201711497700 2017-12-29

Publications (2)

Publication Number Publication Date
CN108200063A CN108200063A (zh) 2018-06-22
CN108200063B true CN108200063B (zh) 2020-01-03

Family

ID=62587895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810007241.7A Active CN108200063B (zh) 2017-12-29 2018-01-04 一种可搜索公钥加密方法、采用该方法的系统和服务器

Country Status (2)

Country Link
US (1) US10673612B2 (zh)
CN (1) CN108200063B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110009522B (zh) * 2018-10-12 2021-06-08 贵州自留地科技有限责任公司 一种农业信息动态获取系统
CN109347832A (zh) * 2018-10-24 2019-02-15 中国银行股份有限公司 一种动态数据共享方法、终端设备及代理服务器
US10984052B2 (en) * 2018-11-19 2021-04-20 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for multiple-character wildcard search over encrypted data
CN109672525B (zh) * 2018-12-14 2020-10-02 华中科技大学 一种具有前向索引的可搜索公钥加密方法及系统
CN110098924B (zh) * 2019-04-19 2021-07-27 深圳华中科技大学研究院 一种支持可搜索透明加密的层级密钥生成方法及系统
CN110765469B (zh) * 2019-09-12 2021-04-20 华中科技大学 一种高效且健壮的动态可搜索对称加密方法及系统
CN110851845B (zh) * 2019-10-18 2023-05-12 华东师范大学 一种轻量级单用户多数据的全同态数据封装方法
CN111211897B (zh) * 2019-12-20 2021-11-09 河南大学 一种基于随机预言模型的时间控制加密安全增强方法
CN111431898B (zh) * 2020-03-23 2022-06-07 齐鲁工业大学 用于云协助物联网的带搜索的多属性机构属性基加密方法
CN111541535B (zh) * 2020-04-17 2021-12-28 西南交通大学 一种可验证搜索结果的布尔检索属性基加密方法
CN111556048B (zh) * 2020-04-26 2022-04-01 山东师范大学 一种支持密文模式匹配的属性基安全通信方法及系统
CN111556071B (zh) * 2020-05-12 2020-12-04 深圳市汇智通咨询有限公司 一种用于计算机的数据加密算法与系统
CN112054891B (zh) * 2020-08-09 2022-10-25 中信银行股份有限公司 基于区块链的共有用户确定方法、电子设备及存储介质
CN112737764B (zh) * 2020-12-11 2023-02-03 华东师范大学 一种轻量级多用户多数据的全同态数据加密封装方法
CN112861153A (zh) * 2021-02-10 2021-05-28 华中科技大学 一种关键字可搜索延迟加密方法及系统
CN112667674B (zh) * 2021-03-12 2021-06-18 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112995216B (zh) * 2021-04-29 2021-08-10 湖南三湘银行股份有限公司 一种网上金融信息的安全处理器
CN113407962B (zh) * 2021-06-16 2022-07-08 福建师范大学 一种实用型可搜索加密安全性检测方法
CN114244498A (zh) * 2021-12-06 2022-03-25 国网河南省电力公司电力科学研究院 一种具有前向安全的动态可搜索公钥加密方法
CN114567465B (zh) * 2022-02-17 2024-05-24 安徽师范大学 基于区块链的分类医疗数据可搜索加密方法
CN114666050B (zh) * 2022-03-30 2024-03-12 浙江科技学院 一种抵抗在线和离线关键字猜测攻击的数据传输方法
CN114793176B (zh) * 2022-04-27 2023-08-04 陕西师范大学 支持撤销和验证的无配对可搜索加密方法
CN115021993B (zh) * 2022-05-27 2023-02-28 山东大学 一种可验证的公钥可搜索加密系统及方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07162407A (ja) * 1993-12-03 1995-06-23 Fujitsu Ltd ネットワークシステムにおける暗号通信のユーザ支援装置
US6922775B2 (en) * 1993-12-03 2005-07-26 Fujitsu Limited User support system for cryptographic communication in network systems
JPH09233068A (ja) * 1996-02-23 1997-09-05 Digital Vision Lab:Kk 電子認証システム
JPH10112883A (ja) * 1996-10-07 1998-04-28 Hitachi Ltd 無線通信交換システム、交換機、公開鍵管理装置、移動端末および移動端末認証方法
US6988199B2 (en) * 2000-07-07 2006-01-17 Message Secure Secure and reliable document delivery
JP2002032685A (ja) * 2000-05-11 2002-01-31 Nec Corp コンテンツレンタルシステム
US7983986B1 (en) * 2000-06-26 2011-07-19 Philip Carragher System for card activity-based mortgage crediting
US8078491B1 (en) * 2000-06-26 2011-12-13 H.O.M.E. Mortgage Card, LLC System for card activity-based residential crediting
US7603703B2 (en) * 2001-04-12 2009-10-13 International Business Machines Corporation Method and system for controlled distribution of application code and content data within a computer network
FR2840748B1 (fr) * 2002-06-05 2004-08-27 France Telecom Procede et systeme de verification de signatures electroniques et carte a microcircuit pour la mise en oeuvre du procede
JP2004304304A (ja) * 2003-03-28 2004-10-28 Fujitsu Ltd 電子署名生成方法,電子署名検証方法,電子署名生成依頼プログラム,及び電子署名検証依頼プログラム
US20050015471A1 (en) * 2003-07-18 2005-01-20 Zhang Pu Paul Secure cluster configuration data set transfer protocol
US20050120203A1 (en) * 2003-12-01 2005-06-02 Ryhwei Yeh Methods, systems and computer program products for automatic rekeying in an authentication environment
KR100675380B1 (ko) * 2005-01-14 2007-01-29 삼성전자주식회사 저자원 디바이스와 공개키를 사용하는 일반 디바이스 간의인증 방법 및 시스템
JP4800377B2 (ja) * 2006-02-28 2011-10-26 パナソニック株式会社 認証システム、ce機器、携帯端末、鍵証明発行局および鍵証明取得方法
US8538028B2 (en) * 2006-11-20 2013-09-17 Toposis Corporation System and method for secure electronic communication services
US20080118070A1 (en) * 2006-11-20 2008-05-22 6580874 Canada Inc. Open and distributed systems to provide secure email service
US9165154B2 (en) * 2009-02-16 2015-10-20 Microsoft Technology Licensing, Llc Trusted cloud computing and services framework
US20100318782A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
US10348693B2 (en) * 2009-12-15 2019-07-09 Microsoft Technology Licensing, Llc Trustworthy extensible markup language for trustworthy computing and data services
KR101302137B1 (ko) * 2009-12-16 2013-09-16 한국전자통신연구원 대칭 키 기반 검색 가능 암호 방법
WO2011086668A1 (ja) * 2010-01-13 2011-07-21 三菱電機株式会社 秘匿検索システム及び公開パラメータ生成装置及び暗号化装置及びユーザ秘密鍵生成装置及びクエリ発行装置及び検索装置及びコンピュータプログラム及び秘匿検索方法及び公開パラメータ生成方法及び暗号化方法及びユーザ秘密鍵生成方法及びクエリ発行方法及び検索方法
US9436835B1 (en) * 2012-01-05 2016-09-06 Gokay Saldamli Homomorphic encryption in computing systems and environments
CN102801616B (zh) * 2012-08-02 2015-04-15 华为技术有限公司 报文发送和接收的方法、装置和系统
CN103023637B (zh) * 2012-12-25 2015-07-15 电子科技大学 一种云存储中可撤销的关键字搜索公钥加密及搜索方法
CN104468121B (zh) * 2014-11-27 2018-08-14 重庆邮电大学 基于指定服务器的支持多密钥加密的公钥可搜索加密方法
CN107086917B (zh) * 2017-06-06 2019-11-12 华中科技大学 一种并行化和结构化公钥可搜索的加密方法

Also Published As

Publication number Publication date
US10673612B2 (en) 2020-06-02
US20190207763A1 (en) 2019-07-04
CN108200063A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN108200063B (zh) 一种可搜索公钥加密方法、采用该方法的系统和服务器
Jiang et al. Enabling efficient and verifiable multi-keyword ranked search over encrypted cloud data
US8904171B2 (en) Secure search and retrieval
US20170242924A1 (en) Masking query data access pattern in encrypted data
US9852306B2 (en) Conjunctive search in encrypted data
CN112270006A (zh) 电商平台中隐藏搜索模式和访问模式的可搜索加密方法
CN110334526A (zh) 一种支持验证的前向安全可搜索加密存储系统及方法
Kissel et al. Verifiable phrase search over encrypted data secure against a semi-honest-but-curious adversary
Xu et al. PPSEB: A Postquantum Public‐Key Searchable Encryption Scheme on Blockchain for E‐Healthcare Scenarios
CN107086917B (zh) 一种并行化和结构化公钥可搜索的加密方法
CN112560075B (zh) 一种基于椭圆曲线的轻量级可搜索加密方法及装置
US10331913B2 (en) Searchable symmetric encryption with enhanced locality via balanced allocations
US20120155641A1 (en) Non-interactive verifiable, delegated computation
CN109672525B (zh) 一种具有前向索引的可搜索公钥加密方法及系统
EP2775420A1 (en) Semantic search over encrypted data
KR100951034B1 (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
Mihailescu et al. Software engineering and applied cryptography in cloud computing and big data
WO2023069631A1 (en) Memory and communications efficient protocols for private data intersection
Kumari et al. Privacy preserving similarity based text retrieval through blind storage
Martin et al. Efran (O):" Efficient Scalar Homomorphic Scheme on MapReduce for Data Privacy Preserving"
Sabbu et al. An oblivious image retrieval protocol
CN109165226B (zh) 一种面向密文大型数据集的可搜索加密方法
US9654472B2 (en) Storage count verification system
Zhang et al. Efficient keyword search for public-key setting
EP4283485A2 (en) Multi-key information retrieval

Legal Events

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