CN115134084A - 基于椭圆曲线密码的搜索方法、装置、设备及存储介质 - Google Patents

基于椭圆曲线密码的搜索方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115134084A
CN115134084A CN202210737369.5A CN202210737369A CN115134084A CN 115134084 A CN115134084 A CN 115134084A CN 202210737369 A CN202210737369 A CN 202210737369A CN 115134084 A CN115134084 A CN 115134084A
Authority
CN
China
Prior art keywords
user
document
key
encrypted
target
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.)
Pending
Application number
CN202210737369.5A
Other languages
English (en)
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.)
Chengdu Westone Information Industry Inc
Original Assignee
Chengdu Westone Information Industry Inc
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 Chengdu Westone Information Industry Inc filed Critical Chengdu Westone Information Industry Inc
Priority to CN202210737369.5A priority Critical patent/CN115134084A/zh
Publication of CN115134084A publication Critical patent/CN115134084A/zh
Pending legal-status Critical Current

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/144Query formulation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种基于椭圆曲线密码的搜索方法、装置、设备及存储介质;在本方案中,云服务器接收第二用户发送的搜索陷门后,查找匹配的加密的目标文档信息,利用授权用户列表中与第二用户对应的辅助密钥对加密的目标文档信息进行预解密,第二用户再利用用户密钥对其进行解密获得目标文档标识符,云服务器向第二用户返回对应的目标加密文档后,第二用户对其解密得到明文文档;可见,本方案在搜索时不涉及双线性对运算,提高搜索效率;本方案将私钥分为两部分密钥通过云服务器和第二用户分别使用,可灵活控制每个用户的解密权限,在用户撤销时,只需要从授权用户列表中删除对应的信息,撤销代价小,不影响其他用户,也不影响已有密文数据。

Description

基于椭圆曲线密码的搜索方法、装置、设备及存储介质
技术领域
本公开涉及信息安全技术领域,具体地,涉及一种基于椭圆曲线密码的搜索方法、装置、设备及存储介质。
背景技术
随着云计算和大数据时代的到来,数据共享已经成为未来发展的方向。多用户可搜索加密很好地解决了数据共享中机密性和易用性的矛盾。现有数据分享场景下的可搜索加密方案中,多采用广播加密或者属性基加密控制用户的搜索权限或者解密权限,这两种方式都用到了双线性对等计算效率低下的密码元件,影响了可搜索加密方案的效率,同时用户撤销时需要对广播加密或者是属性基加密方案做相应调整,代价比较大,在成本和效率上都不能满足应用的需求。因此,如何提高可搜索加密方案的搜索效率,是本领域技术人员需要解决的问题。
发明内容
本公开的目的是提供一种基于椭圆曲线密码的搜索方法、装置、设备及存储介质,以提高可搜索加密方案的搜索效率。
为了实现上述目的,本公开提供一种基于椭圆曲线密码的搜索方法,所述搜索方法包括:
云服务器接收第一用户发送的加密文档及安全索引表;所述安全索引表的每项数据包括:加密关键字及关联的加密的文档信息;所述加密的文档信息通过椭圆曲线加密算法及公钥加密生成;所述椭圆曲线加密算法的私钥包括辅助密钥及用户密钥两部分;
接收第二用户根据搜索关键字生成的搜索陷门;
将所述搜索陷门与所述安全索引表中加密关键字进行对比,查找匹配的加密的目标文档信息;从授权用户列表中查找与所述第二用户对应的辅助密钥,并利用所述辅助密钥对所述加密的目标文档信息进行预解密,并将预解密结果发送至所述第二用户;
接收所述第二用户发送的目标文档标识符;所述目标文档标识符为所述第二用户利用用户密钥对所述预解密结果进行解密后获取;
将与所述目标文档标识符对应的目标加密文档发送至所述第二用户,以便所述第二用户对所述目标加密文档进行解密,得到明文文档。
为实现上述目的,本公开进一步提供一种基于椭圆曲线密码的搜索装置,包括:
第一接收模块,用于接收第一用户发送的加密文档及安全索引表;所述安全索引表的每项数据包括:加密关键字及关联的加密的文档信息;所述加密的文档信息通过椭圆曲线加密算法及公钥加密生成;所述椭圆曲线加密算法的私钥包括辅助密钥及用户密钥两部分;
第二接收模块,用于接收第二用户根据搜索关键字生成的搜索陷门;
对比模块,用于将所述搜索陷门与所述安全索引表中加密关键字进行对比,查找匹配的加密的目标文档信息;
预解密模块,用于从授权用户列表中查找与所述第二用户对应的辅助密钥,并利用所述辅助密钥对所述加密的目标文档信息进行预解密;
第一发送模块,用于将预解密结果发送至所述第二用户;
第三接收模块,用于接收所述第二用户发送的目标文档标识符;所述目标文档标识符为所述第二用户利用用户密钥对所述预解密结果进行解密后获取;
第二发送模块,用于将与所述目标文档标识符对应的目标加密文档发送至所述第二用户,以便所述第二用户对所述目标加密文档进行解密,得到明文文档。
为了实现上述目的,本公开进一步提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述基于椭圆曲线密码的搜索方法步骤。
为了实现上述目的,本公开进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于椭圆曲线密码的搜索方法步骤。
通过以上方案可知,本公开提供了一种基于椭圆曲线密码的搜索方法、装置、设备及存储介质;在本方案中,云服务器接收第二用户发送的搜索陷门后,查找匹配的加密的目标文档信息,利用授权用户列表中与第二用户对应的辅助密钥对加密的目标文档信息进行预解密,第二用户再利用用户密钥对预解密结果进行解密获得目标文档标识符,云服务器向第二用户返回对应的目标加密文档后,第二用户对其解密得到明文文档;可见,本方案实现可搜索加密方案时不涉及双线性对运算,提高搜索效率;本方案将私钥分为两部分密钥通过云服务器和第二用户分别使用,可灵活控制每个用户的解密权限,在用户撤销时,只需要从授权用户列表中删除对应的信息,撤销代价小,不影响其他用户,也不影响已有密文数据。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为本公开实施例提供的一种系统结构示意图;
图2为本公开实施例提供的一种基于椭圆曲线密码的搜索方法流程示意图;
图3为本公开实施例提供的整体流程示意图;
图4为本公开实施例提供的一种基于椭圆曲线密码的搜索装置结构示意图;
图5为本公开实施例提供的一种终端设备结构框图;
图6为本公开实施例提供的一种服务器设备结构框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
为了便于理解,在此先对本方案所使用的系统架构进行说明,参见图1,为公开实施例提供的一种系统结构示意图,本系统主要包括三个实体:第一用户、云服务器及第二用户;该第一用户为上传文档的数据拥有者DO,该数据拥有者负责生成系统参数、系统密钥、用户密钥及其辅助密钥,然后加密文档、生成安全索引,并将二者上传到云服务器CS,将辅助密钥上传到云服务器,将用户密钥上传到第二用户;云服务器负责存储数据拥有者上传的加密文档、安全索引及辅助密钥,并为合法用户提供搜索服务和预解密服务;第二用户为搜索文档的合法用户DU,其负责生成关键字的搜索陷门上传给云服务器,并对返回的搜索结果进行解密。本系统适用于云存储环境下数据拥有者向多个合法用户分享数据的场景,数据拥有者将数据加密后上传到云服务器存储,合法用户在密文上检索到搜索结果后下载到本地再解密,云服务器无法获得明文数据的任何信息。
参见图2,本公开实施例提供的一种基于椭圆曲线密码的搜索方法流程示意图,该搜索方法包括:
S101、云服务器接收第一用户发送的加密文档及安全索引表;该安全索引表的每项数据包括:加密关键字及关联的加密的文档信息;该加密的文档信息通过椭圆曲线加密算法及公钥加密生成;椭圆曲线加密算法的私钥包括辅助密钥及用户密钥两部分;
在本实施例中,云服务器需要接收第一用户发送的加密文档及安全索引表,第二用户在进行搜索时,需要向云服务器上传搜索陷门,以便云服务器通过搜索陷门在安全索引表中搜索,最终将对应的加密文档返回给第二用户。该第一用户为上传文档的数据拥有者,第二用户为搜索文档的合法用户。
需要说明的是,本方案中的云服务器接收第一用户发送的加密文档及安全索引表之前,第一用户需要生成系统参数、系统密钥、用户密钥及辅助密钥;其中,系统密钥包括:伪随机置换函数的密钥、椭圆曲线加密算法的公钥和私钥,椭圆曲线加密算法的私钥包括辅助密钥及用户密钥两部分;第一用户还需要将伪随机置换函数的密钥以及用户密钥通过安全信道发送至第二用户,并将第二用户的标识信息及辅助密钥通过安全信道发送至云服务器,以便云服务器将第二用户的标识信息及辅助密钥存储至授权用户列表。
本方案首先需要约定输入系统的文档已定义好关键字集,即文档集
Figure BDA0003716381380000051
包含N个文档,每个文档为:Fi=(Pi,KWi),其中Pi是文档明文,KWi是文档关键字集合。假设所有文档的关键字构成的集合含有M个不同的关键字,并记为
Figure BDA0003716381380000052
数据拥有者在向云服务器上传系统之前,首先需要建立系统,生成系统参数、系统密钥、用户密钥及辅助密钥;系统参数包括:伪随机置换函数f和椭圆曲线系统参数,椭圆曲线系统参数具体包括有限域的Fq规模q,定义椭圆曲线E(Fq)的方程的两个元a、b∈Fq;E(Fq)上的基点G=(xG,yG)(G≠0),其中xG和yG是Fq中的两个元素;G的阶n及其它可选项(如n的余因子h等)。数据拥有者公开系统参数(q、a、b、G、n、h、f)。数据拥有者根据安全参数生成系统密钥K=(s,do,Po)。其中,s为伪随机置换函数的密钥,用来加密关键字和生成搜索陷门的密钥,伴随伪随机置换函数f使用;(do,Po)是椭圆曲线加密算法的一对公私钥,公钥为Po,私钥为do,Po=[do]G∈E(Fq),Po和do均由数据拥有者秘密保存。
数据拥有者在生成用户密钥及辅助密钥时,首先需要确定授权的合法用户,若合法用户为具有标识信息UIDi的用户i,则数据拥有者可随机选择对应的辅助密钥di1及用户密钥di2,且di1、di2∈[1,n-1],使得di1+di2=do(mod n);并且,数据拥有者还需要将(s,di2)通过安全信道发送给用户i,以便用户i通过s加密搜索关键字,通过di2对预解密后的文档信息进行解密;数据拥有者还需要将(UIDi,di1)通过安全信道发送给云服务器,以便云服务器将其存入授权用户列表中,用户i在搜索数据时,通过用户i的辅助密钥进行预解密。
可以理解的是,本方案在撤销目标用户时,云服务器只需要将与目标用户对应的标识信息及辅助密钥从授权用户列表中删除,如:撤销用户j时,至需要从授权用户列表中删除(UIDj,dj1),这样用户j在搜索文档时,云服务器便不能在授权用户列表中查找到对应的(UIDj,dj1),即可认定用户j为非法用户,此时便不需要执行后续预解密等操作,并向用户j发送提示信息,提示用户j没有权限获取对应的文档。可见,本方案通过该方式执行用户撤销操作时流程简单,不涉及对密码方案的调整,提高了搜索效率,降低撤销代价。
进一步,本方案中的第一用户具体通过如下方式生成加密文档及安全索引表,并将获得的加密文档及安全索引表发给云服务器存储。
1、第一用户对文档集中的每个文档分配对应的文档标识符及对称加密密钥,并通过对称加密密钥对相应的文档进行加密生成加密文档;
本方案对于文档集
Figure BDA0003716381380000061
中的每个文档Fi,数据拥有者均需要向其分配一个文档标识符FIDi,并生成一个对称加密密钥ki,并运行对称加密算法SKE(SecretKey Encryption),对文档Fi进行加密得到加密文档。
2、第一用户查找包含每个关键字的若干个关联文档的文档信息;该文档信息包括:关联文档的文档标识符、关联文档的对称加密密钥、每个关键字与关联文档的相关性得分;利用伪随机置换函数及对应的密钥对每个关键字进行加密,生成安全索引表中每项数据的加密关键字;利用椭圆曲线加密算法及公钥对每个关键字对应的若干个关联文档的文档信息进行加密,生成安全索引表中每项数据的加密的文档信息。
本方案在生成安全索引表时,首先需要对文档集建立“关键字-文档”的倒排索引表,然后对倒排索引表加密得到安全索引表。在建立倒排索引结构时,需要针对每个关键字wj,找出包含wj的t个文档
Figure BDA0003716381380000062
在本实施例中,将包含关键字wj的t个文档称为与关键字wj对应的关联文档,进而确定每个关联文档的文档信息IDj,将关键字wj与对应的关联文档的文档信息组合,建立M行的倒排索引表,其中第j行数据为:
Figure BDA0003716381380000063
每个关联文档的文档信息包含:关联文档的文档标识符、关联文档的对称加密密钥以及关键字与该关联文档之间的相关性得分。如:关键字wj的第一个关联文档为
Figure BDA0003716381380000064
则关联文档
Figure BDA0003716381380000065
的文档信息
Figure BDA0003716381380000066
为:
Figure BDA0003716381380000067
以此类推,可以获得与每个关键字wj对应的关联文档的文档信息。
在本实施例中,可利用TF×IDF算法(Term Frequency Inversedocumentfrequency,用于信息检索与数据挖掘的常用加权技术)计算关键字与各关联文档的相关性得分Score。考虑到对于单个关键字,不同文档的IDF为常值,本方案中的Score只取TF,如:
Figure BDA0003716381380000071
其中
Figure BDA0003716381380000072
为wj
Figure BDA0003716381380000073
中出现的频率。
本方案获得倒排索引表之后,需要对其进行加密,得到M行的安全索引表,其中第j行数据为:
Figure BDA0003716381380000074
在本方案中,具体采用伪随机置换函数f及其密钥加密每个关键字,得到fs(wj),然后采用椭圆曲线加密算法和公钥Po加密各文档信息,如文档信息密文为:
Figure BDA0003716381380000075
S102、接收第二用户根据搜索关键字生成的搜索陷门;
在本实施例中,该搜索陷门为第二用户利用伪随机置换函数及对应的密钥对搜索关键字加密生成。如:用户i需要查询关键字w时,计算的搜索陷门具体为:Tw=fs(w),并将其发送给云服务器,以便进行搜索。
S103、将搜索陷门与安全索引表中加密关键字进行对比,查找匹配的加密的目标文档信息;从授权用户列表中查找与第二用户对应的辅助密钥,并利用辅助密钥对加密的目标文档信息进行预解密,并将预解密结果发送至第二用户;
在本实施例中,云服务器根据搜索陷门进行搜索时,需要遍历安全索引表,将用户的搜索陷门与加密关键字进行比对,若遍历完后,未在安全索引表中发现与搜索陷门相同的加密关键字,则说明未查找到匹配的文档,搜索失败,则输出停止,并向第二用户发送未查找到匹配文档的提示信息;若在安全索引表中发现与搜索陷门相同的加密关键字,则说明匹配成功。如:若搜索陷门与加密关键字fs(wj)比对成功,则查找与该加密关键字fs(wj)对应的各加密的目标文档信息,并从授权用户列表中查找与第二用户对应的辅助密钥di1,利用其对各加密的目标文档信息密文进行预解密,得到预解密结果。需要说明的是,预解密过程与具体算法有关,若采用SM2加密算法,则密文形如C=C1||C2||C3,云服务器计算点P1=[di1]C1,并将P1和对应的t个预解密后的目标文档信息返回给用户i。
S104、接收第二用户发送的目标文档标识符;目标文档标识符为第二用户利用用户密钥对预解密结果进行解密后获取;
在本实施例中,第二用户接收到云服务器发送的预解密结果后,需要利用用户密钥对预解密结果进行解密得到解密文档标识符、与每个解密文档标识符对应的对称加密密钥、与每个解密文档标识符对应的相关性得分;对与每个解密文档标识符对应的相关性得分进行降序排列,将排序结果中前预定数量个解密文档标识符作为目标文档标识符。
其中,用户i接收到预解密结果后,利用用户密钥di2对预解密结果继续解密,得到的解密的文档信息包括:解密文档标识符、与每个解密文档标识符对应的对称加密密钥、与每个解密文档标识符对应的相关性得分。若采用SM2加密算法,则用户i计算点P2=P1+[di2]C1=(x2,y2),然后继续完成后续解密步骤,得到明文的文档信息。并且,在确定目标文档标识符时,用户i可将与每个解密文档标识符对应的相关性得分从大到小进行降序排序,并将前k个文档标识符作为目标文档标识符返回给云服务器。
S105、将与目标文档标识符对应的目标加密文档发送至第二用户,以便第二用户对目标加密文档进行解密,得到明文文档。
在本实施例中,云服务器接收到第二用户发送的目标文档标识符后,需要根据各文档标识符与加密文档之间的对应关系,将对应的目标加密文档发送给第二用户。第二用户接收到云服务器发送的目标加密文档后,利用与目标加密文档对应的对称加密密钥对目标加密文档进行解密生成明文文档,在解密时,具体需要运行对称加密算法SKE进行解密,得到明文文档集。
参见图3,本公开实施例提供的整体流程示意图。数据拥有者DO(第一用户)执行系统建立及密钥生成步骤,并对用户进行授权,然后通过安全通道向云服务器CS发送辅助密钥,通过安全通道向合法用户DU(第二用户)发送用户密钥。数据拥有者对所有文档分配标识符,并利用对称算法加密文档集,计算关键字和文档的相关性得分构建文档信息,建立倒排索引,加密关键字及文档信息生成安全索引表,并将加密文档和安全索引表发送给云服务器。合法用户在搜索时,计算搜索陷门并发送给云服务器,云服务器检索安全索引列表,找到对应的t个加密的文档信息密文,并预解密后将预解密结果发送给合法用户,合法用户对预解密结果继续解密,得到文档信息明文,排序并获取前k个文档标识符发送给云服务器,云服务器根据前k个文档标识符向合法用户返回对应的k个文档密文,合法用户利用对称算法解密得到文档的明文集。
本方案在对称可搜索加密(Searchable Symmetric Encryption,SSE)的基础上采用椭圆曲线加密算法,通过其对加密文档的对称加密密钥进行加密,这种采用椭圆曲线加密算法代替属性基加密来保护文档的加密密钥的方式,不涉及双线性对运算,提高系统的整体效率;本方案还将椭圆曲线加密算法的解密私钥切分成两部分,由用户和云服务器分别掌握,使得每个用户都拥有不同的用户密钥,从而灵活控制多个用户的解密权限,且每个用户都有自己的独立密钥,用户间互不影响;本方案的用户撤销代价小,只需要从授权用户列表中删除对应用户的标识信息及辅助密钥即可,不影响其他用户,也不影响已有密文数据;本方案还具有对搜索结果进行相关性排序的功能,从而让用户可以按照相关性自主选择若干结果输出,提高用户使用体验。
参见图4,本公开实施例提供的一种基于椭圆曲线密码的搜索装置结构示意图,该装置应用于云服务器,包括:
第一接收模块11,用于接收第一用户发送的加密文档及安全索引表;所述安全索引表的每项数据包括:加密关键字及关联的加密的文档信息;所述加密的文档信息通过椭圆曲线加密算法及公钥加密生成;所述椭圆曲线加密算法的私钥包括辅助密钥及用户密钥两部分;
第二接收模块12,用于接收第二用户根据搜索关键字生成的搜索陷门;
对比模块13,用于将所述搜索陷门与所述安全索引表中加密关键字进行对比,查找匹配的加密的目标文档信息;
预解密模块14,用于从授权用户列表中查找与所述第二用户对应的辅助密钥,并利用所述辅助密钥对所述加密的目标文档信息进行预解密;
第一发送模块15,用于将预解密结果发送至所述第二用户;
第三接收模块16,用于接收所述第二用户发送的目标文档标识符;所述目标文档标识符为所述第二用户利用用户密钥对所述预解密结果进行解密后获取;
第二发送模块17,用于将与所述目标文档标识符对应的目标加密文档发送至所述第二用户,以便所述第二用户对所述目标加密文档进行解密,得到明文文档。
在本公开实施例中,该搜索装置还包括:
删除模块,用于在撤销目标用户时,将与所述目标用户对应的标识信息及辅助密钥从所述授权用户列表中删除。
本公开实施例还提供了一种基于椭圆曲线密码的搜索系统,包括:
第一用户,用于向云服务器发送加密文档及安全索引表;所述安全索引表的每项数据包括:加密关键字及关联的加密的文档信息;所述加密的文档信息通过椭圆曲线加密算法及公钥加密生成;椭圆曲线加密算法的私钥包括辅助密钥及用户密钥两部分;
所述云服务器,用于接收所述第一用户发送的加密文档及安全索引表,接收第二用户根据搜索关键字生成的搜索陷门;将所述搜索陷门与所述安全索引表中加密关键字进行对比,查找匹配的加密的目标文档信息;从授权用户列表中查找与所述第二用户对应的辅助密钥,并利用所述辅助密钥对所述加密的目标文档信息进行预解密,将预解密结果发送至所述第二用户;接收所述第二用户发送的目标文档标识符,将与所述目标文档标识符对应的目标加密文档发送至所述第二用户;
第二用户,用于根据搜索关键字生成搜索陷门并发送给所述云服务器,接收所述云服务器发送的预解密结果,利用用户密钥对所述预解密结果进行解密获取目标文档标识符,并发送给所述云服务器;接收所述云服务器发送的目标加密文档,并解密得到明文文档。
在本公开实施例中,第一用户具体用于:生成系统参数、系统密钥、用户密钥及辅助密钥;其中,所述系统密钥包括:伪随机置换函数的密钥、椭圆曲线加密算法的公钥和私钥,所述椭圆曲线加密算法的私钥包括辅助密钥及用户密钥两部分;将所述伪随机置换函数的密钥以及所述用户密钥通过安全信道发送至所述第二用户,并将所述第二用户的标识信息及所述辅助密钥通过安全信道发送至所述云服务器,以便所述云服务器将所述第二用户的标识信息及所述辅助密钥存储至所述授权用户列表。
在本公开实施例中,云服务器还用于:在撤销目标用户时,将与所述目标用户对应的标识信息及辅助密钥从所述授权用户列表中删除。
在本公开实施例中,第一用户具体用于:对文档集中的每个文档分配对应的文档标识符及对称加密密钥,并通过对称加密密钥对相应的文档进行加密生成加密文档;查找包含每个关键字的若干个关联文档的文档信息;所述文档信息包括:关联文档的文档标识符、关联文档的对称加密密钥、每个关键字与关联文档的相关性得分;利用伪随机置换函数及对应的密钥对每个关键字进行加密,生成所述安全索引表中每项数据的加密关键字;利用椭圆曲线加密算法及公钥对每个关键字对应的若干个关联文档的文档信息进行加密,生成所述安全索引表中每项数据的加密的文档信息。
在本公开实施例中,所述搜索陷门为所述第二用户利用伪随机置换函数及对应的密钥对搜索关键字加密生成。
在本公开实施例中,第二用户还用于:接收预解密结果,并利用用户密钥对所述预解密结果进行解密得到解密文档标识符、与每个解密文档标识符对应的对称加密密钥、与每个解密文档标识符对应的相关性得分;对与每个解密文档标识符对应的相关性得分进行降序排列,将排序结果中前预定数量个解密文档标识符作为目标文档标识符。
在本公开实施例中,第二用户还用于:接收所述云服务器发送的目标加密文档,并利用与所述目标加密文档对应的对称加密密钥对所述目标加密文档进行解密,生成明文文档。
本公开实施例还公开了一种电子设备,该电子设备包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述方法实施例所述的基于椭圆曲线密码的搜索方法步骤。
具体来说,该电子设备在执行第一用户或第二用户执行的操作时,该电子设备具体可以为终端设备,如:手机、电脑等终端。参见图5,本公开实施例提供的一种终端设备20结构框图。如图5示,该终端设备20可以包括:处理器21,存储器22。该终端设备20还可以包括多媒体组件23,输入/输出(I/O)接口24,以及通信组件25中的一者或多者。
其中,处理器21用于控制该终端设备20的整体操作,以完成上述的第一用户或第二用户执行操作的全部或部分步骤。存储器20用于存储各种类型的数据以支持在该终端设备20的操作,这些数据例如可以包括用于在该终端设备20上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器22可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件23可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器22或通过通信组件25发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口24为处理器21和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件25用于该终端设备20与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件25可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,终端设备20可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述第一用户或第二用户执行的搜索方法。
具体来说,该电子设备在执行云服务器执行的操作时,该电子设备具体可以为服务器。参见图6,本公开实施例提供的一种服务器设备30结构框图。如图6示,服务器设备30包括处理器31,其数量可以为一个或多个,以及存储器32,用于存储可由处理器31执行的计算机程序。存储器32中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器31可以被配置为执行该计算机程序,以执行上述的云服务器所执行的搜索方法。
另外,服务器设备30还可以包括电源组件33和通信组件34,该电源组件33可以被配置为执行服务器设备30的电源管理,该通信组件34可以被配置为实现服务器设备30的通信,例如,有线或无线通信。此外,该服务器设备30还可以包括输入/输出(I/O)接口35。服务器设备30可以操作基于存储在存储器32的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的基于椭圆曲线密码的搜索方法步骤的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
关于上述实施例中的装置、系统、设备及存储,其执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (10)

1.一种基于椭圆曲线密码的搜索方法,其特征在于,所述搜索方法包括:
云服务器接收第一用户发送的加密文档及安全索引表;所述安全索引表的每项数据包括:加密关键字及关联的加密的文档信息;所述加密的文档信息通过椭圆曲线加密算法及公钥加密生成;所述椭圆曲线加密算法的私钥包括辅助密钥及用户密钥两部分;
接收第二用户根据搜索关键字生成的搜索陷门;
将所述搜索陷门与所述安全索引表中加密关键字进行对比,查找匹配的加密的目标文档信息;从授权用户列表中查找与所述第二用户对应的辅助密钥,并利用所述辅助密钥对所述加密的目标文档信息进行预解密,并将预解密结果发送至所述第二用户;
接收所述第二用户发送的目标文档标识符;所述目标文档标识符为所述第二用户利用用户密钥对所述预解密结果进行解密后获取;
将与所述目标文档标识符对应的目标加密文档发送至所述第二用户,以便所述第二用户对所述目标加密文档进行解密,得到明文文档。
2.根据权利要求1所述的搜索方法,其特征在于,所述云服务器接收第一用户发送的加密文档及安全索引表之前,还包括:
所述第一用户生成系统参数、系统密钥、用户密钥及辅助密钥;其中,所述系统密钥包括:伪随机置换函数的密钥、椭圆曲线加密算法的公钥和私钥;
所述第一用户将所述伪随机置换函数的密钥以及所述用户密钥通过安全信道发送至所述第二用户,并将所述第二用户的标识信息及所述辅助密钥通过安全信道发送至所述云服务器,以便所述云服务器将所述第二用户的标识信息及所述辅助密钥存储至所述授权用户列表。
3.根据权利要求2所述的搜索方法,其特征在于,还包括:
在撤销目标用户时,所述云服务器将与所述目标用户对应的标识信息及辅助密钥从所述授权用户列表中删除。
4.根据权利要求1所述的搜索方法,其特征在于,所述加密文档及所述安全索引表的生成方法包括:
所述第一用户对文档集中的每个文档分配对应的文档标识符及对称加密密钥,并通过对称加密密钥对相应的文档进行加密生成加密文档;
所述第一用户查找包含每个关键字的若干个关联文档的文档信息;所述文档信息包括:关联文档的文档标识符、关联文档的对称加密密钥、每个关键字与关联文档的相关性得分;
利用伪随机置换函数及对应的密钥对每个关键字进行加密,生成所述安全索引表中每项数据的加密关键字;利用椭圆曲线加密算法及公钥对每个关键字对应的若干个关联文档的文档信息进行加密,生成所述安全索引表中每项数据的加密的文档信息。
5.根据权利要求1所述的搜索方法,其特征在于,所述搜索陷门为所述第二用户利用伪随机置换函数及对应的密钥对搜索关键字加密生成。
6.根据权利要求1至5中任意一项所述的搜索方法,其特征在于,所述目标文档标识符的生成方法包括:
所述第二用户接收预解密结果,并利用用户密钥对所述预解密结果进行解密得到解密文档标识符、与每个解密文档标识符对应的对称加密密钥、与每个解密文档标识符对应的相关性得分;
对与每个解密文档标识符对应的相关性得分进行降序排列,将排序结果中前预定数量个解密文档标识符作为目标文档标识符。
7.根据权利要求6所述的搜索方法,其特征在于,所述明文文档的生成方法包括:
所述第二用户接收所述云服务器发送的目标加密文档,并利用与所述目标加密文档对应的对称加密密钥对所述目标加密文档进行解密,生成明文文档。
8.一种基于椭圆曲线密码的搜索装置,其特征在于,包括:
第一接收模块,用于接收第一用户发送的加密文档及安全索引表;所述安全索引表的每项数据包括:加密关键字及关联的加密的文档信息;所述加密的文档信息通过椭圆曲线加密算法及公钥加密生成;所述椭圆曲线加密算法的私钥包括辅助密钥及用户密钥两部分;
第二接收模块,用于接收第二用户根据搜索关键字生成的搜索陷门;
对比模块,用于将所述搜索陷门与所述安全索引表中加密关键字进行对比,查找匹配的加密的目标文档信息;
预解密模块,用于从授权用户列表中查找与所述第二用户对应的辅助密钥,并利用所述辅助密钥对所述加密的目标文档信息进行预解密;
第一发送模块,用于将预解密结果发送至所述第二用户;
第三接收模块,用于接收所述第二用户发送的目标文档标识符;所述目标文档标识符为所述第二用户利用用户密钥对所述预解密结果进行解密后获取;
第二发送模块,用于将与所述目标文档标识符对应的目标加密文档发送至所述第二用户,以便所述第二用户对所述目标加密文档进行解密,得到明文文档。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的基于椭圆曲线密码的搜索方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于椭圆曲线密码的搜索方法步骤。
CN202210737369.5A 2022-06-27 2022-06-27 基于椭圆曲线密码的搜索方法、装置、设备及存储介质 Pending CN115134084A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210737369.5A CN115134084A (zh) 2022-06-27 2022-06-27 基于椭圆曲线密码的搜索方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210737369.5A CN115134084A (zh) 2022-06-27 2022-06-27 基于椭圆曲线密码的搜索方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115134084A true CN115134084A (zh) 2022-09-30

Family

ID=83380612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210737369.5A Pending CN115134084A (zh) 2022-06-27 2022-06-27 基于椭圆曲线密码的搜索方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115134084A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11811924B1 (en) 2022-11-23 2023-11-07 SafeMoon US, LLC System and method of securing a server using elliptic curve cryptography

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11811924B1 (en) 2022-11-23 2023-11-07 SafeMoon US, LLC System and method of securing a server using elliptic curve cryptography
US11824979B1 (en) 2022-11-23 2023-11-21 SafeMoon US, LLC System and method of securing a server using elliptic curve cryptography
WO2024112340A1 (en) * 2022-11-23 2024-05-30 SafeMoon US, LLC System and method of securing a server using elliptic curve cryptography

Similar Documents

Publication Publication Date Title
EP2912800B1 (en) Methods and apparatus for data access control
CN114756886B (zh) 一种匿踪查询方法、装置和用于匿踪查询的装置
US8874929B2 (en) Cross domain discovery
CN103731432A (zh) 一种支持多用户的可搜索加密系统及方法
CN111177769A (zh) 一种隐私数据保护的名单查询方法及相关的名单查询系统
US20160112413A1 (en) Method for controlling security of cloud storage
KR101979267B1 (ko) 클라우드 저장 기반 암호화 시스템 및 방법
CN112835912B (zh) 一种基于区块链的数据存储方法、装置及存储介质
CN112989375A (zh) 一种分级优化加密无损隐私保护方法
CN103236934A (zh) 一种云存储安全控制的方法
Xia et al. Searchable Public-Key Encryption with Data Sharing in Dynamic Groups for Mobile Cloud Storage.
Sun et al. A dynamic and non-interactive boolean searchable symmetric encryption in multi-client setting
CN115134084A (zh) 基于椭圆曲线密码的搜索方法、装置、设备及存储介质
WO2010038763A1 (ja) 情報管理システム、端末装置、サーバ装置およびプログラム
Park et al. PKIS: practical keyword index search on cloud datacenter
KR101140576B1 (ko) 암호화 문서에 대한 다자간 검색 시스템 및 그 방법
KR102248756B1 (ko) 순방향 안정성을 갖는 탐색 가능한 암호화 시스템과 그 장치 및 방법
CN113132345A (zh) 具有可搜索功能的代理隐私集合求交方法
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法
Yan et al. Secure and efficient big data deduplication in fog computing
Yao et al. A secure hierarchical deduplication system in cloud storage
Song et al. An efficient and privacy-preserving multi-user multi-keyword search scheme without key sharing
CN114640458A (zh) 云边协同环境下细粒度的多用户安全可搜索加密方法
Raghavendra et al. DRSMS: Domain and range specific multi-keyword search over encrypted cloud data
CN107872312B (zh) 对称密钥动态生成方法、装置、设备及系统

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