CN108011713B - 一种云存储中基于同态加密的密文检索方法 - Google Patents

一种云存储中基于同态加密的密文检索方法 Download PDF

Info

Publication number
CN108011713B
CN108011713B CN201711138161.7A CN201711138161A CN108011713B CN 108011713 B CN108011713 B CN 108011713B CN 201711138161 A CN201711138161 A CN 201711138161A CN 108011713 B CN108011713 B CN 108011713B
Authority
CN
China
Prior art keywords
user
node
tree
query
document
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
CN201711138161.7A
Other languages
English (en)
Other versions
CN108011713A (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.)
Jiangsu Province Xintong Intelligent Traffic Science & Technology Development Co ltd
Nanjing University of Posts and Telecommunications
Original Assignee
Jiangsu Province Xintong Intelligent Traffic Science & Technology Development Co ltd
Nanjing University of Posts and Telecommunications
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 Jiangsu Province Xintong Intelligent Traffic Science & Technology Development Co ltd, Nanjing University of Posts and Telecommunications filed Critical Jiangsu Province Xintong Intelligent Traffic Science & Technology Development Co ltd
Priority to CN201711138161.7A priority Critical patent/CN108011713B/zh
Publication of CN108011713A publication Critical patent/CN108011713A/zh
Application granted granted Critical
Publication of CN108011713B publication Critical patent/CN108011713B/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/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/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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]
    • H04L9/0833Key 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] involving conference or group key
    • H04L9/0836Key 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] involving conference or group key using tree structure or hierarchical structure
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种云存储中基于同态加密的密文检索方法。随着云计算技术的迅速发展,许多用户和个人会选择将本地的数据存储在云端,这样做可以很大的节省本地存储空间,但是面对“诚实且好奇”的云服务器,用户会失去对数据的控制,并且在云服务器上对于庞大的数据量如何有效的检索成了一个迫切需要解决的问题。本发明针对这一问题提出了一种基于同态加密的密文检索方法,在计算过程中不会向云服务器和其他攻击者透露任何信息,保障了数据的安全性,同时使用树形结构来存储密文,使得密文检索效率提高,可动态添加和删除用户。

Description

一种云存储中基于同态加密的密文检索方法
技术领域
本发明提出了一种基于同态加密的密文检索方法,主要用于解决云计算中数据加密检索以及检索效果问题,属于云计算和应用密码学的交叉技术领域。
背景技术
随着云计算技术的发展,互联网上的数据呈现出一个爆炸性的增长。许多公司和个人选择将他们的数据存放在云服务器上。但是同时诚实且好奇的云服务器无时不刻不在窥探用户的数据,因此,公司和个人在将数据存入云服务器之前需要先进行加密处理,从而保证数据的隐私性和安全性。
加密技术虽然能保障数据的隐私性和安全性,但在检索所需数据的时候往往需要将所有密文全部从云端下载到客户端,解密之后才能检索相关数据,当数据量大到一定程度的时候,如果用户仅仅需要部分数据,则下载全部数据就会浪费很多空间资源和带宽资源。因此,为了减少资源的浪费,“可搜索加密技术”应运而生。
可搜索加密技术作为一种新的密码学技术,能够在对数据提供加密功能的同时,也能对加密后的大量数据实施目标检索功能。这样就避免了在面对大量的数据集时需要把所有数据下载到客户端的情形,从实际上解决了空间资源和带宽资源浪费的问题。
现有的检索方法中,大部分均使用关键词检索方式。关键词索引方式在客户端做数据的预处理,生成关键词索引,将数据和索引加密之后放入云端,这种方法虽然现实可行,但是搜索效率还有待进一步提升。
发明内容
一、重要术语及约束
加密算法:加密算法是用来对云端数据进行保密的一种方法,一般可以分为对称加密算法和非对称加密算法以及其他类型的加密算法。本发明专利所提及的加密算法为非对称加密算法,同态加密算法的具体设计与实现方式并非本专利所要保护的内容,它仅作为本方案实现的一种技术手段。
R-树:目前针对于可搜索加密的树形结构有很多(例如哈希树、B树),在R-树中,每个节点是用矩形来表示的。本发明专利所提及用于存储数据的树不针对上述情况进行具体区分,R-树的原理及实现并非本专利所要保护的内容,它仅作为本方案的一种技术手段。
节点分裂操作:在生成R-树的过程中,非根非叶节点中包含子节点的数量有上下限,最少m个,最多M个,当一个非叶节点插入记录大于M个时,则需将当前非叶节点分裂成两个节点来存储记录。
二、方案设计
为了解决以上问题,本发明提出了一种新型的云存储中基于同态加密的密文检索方法。该发明方法实现了动态的添加和删除用户,同时使用树形结构存储加密数据,使得检索效率大大提高,能将检索时间控制在线性时间。
为此,本发明采用的技术方案包括以下步骤:
步骤一、系统初始化:数据拥有者初始化系统参数,生成密钥和用户表,并将用户表发送给云服务器。
步骤二、添加用户:数据拥有者将新用户的身份信息发送给云端服务器列表,并且将私钥发送给新用户,用来加密查询向量和解密文档。
步骤三、生成搜索树(R-树):数据拥有者将所有文档生成一棵树,所有的文档都放在叶子节点,非叶节点用来存储搜索信息,并且同时生成一个指示器覆盖所有的父亲-孩子之间的关系。
步骤四、加密:数据拥有者对文档和树进行加密。首先用公钥加密每一个叶子节点(即每一个文档),然后加密非叶节点,最终生成一棵加密树,最后将加密后的文档和树一起发送给云端服务器。
步骤五、生成查询令牌:用户使用私钥和明文查询向量生成加密后的查询向量,用来查询目标文档。
步骤六、文档检索:用户使用查询向量向云端发起检索请求,服务器分两步完成检索过程,第一步,首先查询用户表中是否有该用户,如果没有,则拒绝提供检索,否则,服务器首先检索到包含该查询指令的最深非叶节点,然后检索到最深非叶节点的叶节点,解密叶节点作为临时的最近邻居,由临时最近邻居生成临时的查询多维空间,然后在客户端加密多维空间并发送给服务器。第二步,服务器由查询多维空间来确定哪些点在多维空间内,并最终返回查询结果给用户。
步骤七、文档解密:用户使用解密密钥对接收到的密文进行解密,得到明文。
步骤八、删除用户:数据拥有者将用户信息从用户列表中直接删除。
具体的,步骤一中系统初始化的具体过程为:
S11、数据拥有者随机选取系统参数k,
Figure GDA0002663294300000031
是一个多项式时间算法,以1k为输入,输出(n,p,q),其中n=p×q,p和q为安全大素数。
S12、生成公钥PK,用于加密文档和树。
S13、生成私钥SK,用于解密文档。
S14、生成用户表,用于添加和删除用户,并将用户表发送到云端服务器。
步骤二中添加用户的具体过程为:
S21、数据拥有者将新用户Ui发送给服务器,并将Ui添加进用户表,其中i从1开始计数,表示新用户的个数。
S22、数据拥有者将私钥SK和n发送给新用户。
步骤三中生成搜索树(R-树)的具体过程为:
S31、从根节点开始,选择孩子节点插入文档。
S32、当节点数超过M时(M为节点中单元个数的上限),需要进行节点分裂操作,直到将所有的文档插入进树中。
S33、在树中,每一个节点和查询令牌用
Figure GDA0002663294300000041
来表示,其中w表示维度,T表示每个维度的长度。
步骤四中加密的具体过程为:
S41、首先对文档进行加密,读取明文字符,将明文字符转换为二进制来表示,生成二进制消息PT。
S42、将PT分为若干长度为a的消息分组(a的长度应该小于p),即PT=pt1pt2…pts,pti(i=1,2,…,s)为PT中某一个长度为a的分组;
S43、任取R∈Z*,计算cti=(pti+p×R)mod n,得出密文CT=ct1ct2…cts,i从1开始取值到s。用户接收到密文,并且将密文分组CT=ct1ct2…cts,,cti(i=1,2,…,s)为CT中某一个长度为a的分组;
S44、对于树的加密,假设每一个节点维度为w,在多维空间中,每个叶子节点表示为Li=(li,1,li,2…li,w),每个非叶节点表示为NLj,也是一个多维空间,我们用{*}来表示加密后的格式,即Li加密后的格式为{Li},依此类推。
S45、数据拥有者将加密后的R-树以及文档发送给服务器。
步骤五中生成查询令牌的具体过程为:
S51、用户依据服务器提供的私钥SK和n,生成查询向量Q=(q1,q2…qw).
S52、加密查询向量,加密后结果为{Q}=({q1},{q2}…{qw})
步骤六中文件检索的具体过程为:
S61、从根节点开始,找出包含查询向量的最深非叶节点。即判断{Q}是否在多维空间内。
S62、找到在当前非叶节点内离查询节点{Q}最近的叶子节点,将这个叶子节点设置为临时最近节点TL=(tl1,tl2…tlw)。tl1,tl2…tlw为节点向量TL根据节点维度w划分后的相应子向量;
S63、计算查询节点和叶子节点的欧式距离
Figure GDA0002663294300000051
以点{Q}为中心,2d为边长生成一个临时多维空间。
S64、从根节点重新检索,若该临时多维空间与非叶节点之间有重合,则继续检索非叶节点的孩子节点,否则,舍弃该非叶节点。
S65、检索到临时多维空间内的所有叶节点,返还文档给用户。
步骤七中文件解密的具体过程为:
S71、用户接收到密文,并且将密文分组CT=ct1ct2…cts
S72、使用私钥SK进行解密运算pti=ctimod n,i从1开始取值到s。得到明文消息PT=pt1pt2…pts
S73、将二进制数字转化为明文字符从而得到明文文件。
步骤八中删除用户的具体过程为:
S81、数据拥有者向云端服务器发送命令删除用户ui,服务器直接在用户表中删除这个用户。
有益效果
1、本发明利用同态加密可以进行密文计算的特性,设计出一种基于同态加密的密文检索方法,可以对密文直接进行检索,不会向服务器透露出任何信息。
2、本发明采用R-树设计出一种云存储方案,在多维空间中,用多维向量来表示节点位置,在检索时只需找出距离查询向量的最近的点或者最近的k个点,即可检索出目标文件,检索效率较高。3、实现了用户的动态管理,服务器中存放一个用户表,用于添加和删除用户,只有在用户表中的用户,云服务器才对其提供检索服务,并且在添加和删除用户的时候,不需要对全部用户重新分配密钥。
附图说明
图1为用户表;
图2为文档在树中存储方式;
图3为总流程图。
具体实施方式
下面结合具体实施方式对本发明进行详细说明。
假设Alice想要将她的文件数据集D=(D1D2…Dn)加密后存入云服务器,供用户搜索。用户Bob想要检索其中的文件。方法包括八个多项式时间的算法,按照以下步骤具体实施。
步骤一,系统初始化
Alice初始化系统参数,生成密钥和用户表,并将用户表发送给云服务器。
具体过程如下:
S11、Alice随机选取系统参数k,以1k为输入,输出(n=0101 1011,P=0111,q=1101)
S12、生成公钥PK=0001,用于加密文档和树。
S13、生成私钥SK=1101,用于解密文档。
S14、生成用户表,用于添加和删除用户,Alice将用户表发送到云端服务器。
步骤二,添加用户
Alice将Bob的身份信息发送给云端服务器列表,并且将私钥发送给Bob,用来生成查询令牌和解密文档。
具体过程如下:
S21、Alice将Bob的信息发送给服务器。
S22、Alice将私钥SK和n发送给Bob。
步骤三,生成搜索树(R-树)
Alice将D=(D1D2…Dn)生成一棵树,所有的文档都放在叶子节点,非叶节点用来存储搜索信息,并且同时生成一个指示器覆盖所有的父亲-孩子之间的关系。
具体过程如下:
S31、从根节点开始,选择孩子节点插入文档。
S32、当节点数超过M时(M为节点中单元个数的上限),需要进行节点分裂操作,直到将所有的文档插入进树中。
S33、在树中,每一个节点和查询令牌用
Figure GDA0002663294300000073
来表示,其中w表示维度,T表示每个维度的长度。
步骤四,加密过程
Alice对文档和树进行加密。首先用公钥加密每一个叶子节点(即每一个文档),然后加密非叶节点,最终生成一个加密树,最后将加密后的文档和树一起发送给云端服务器。
具体过程如下:
S41、首先对文档进行加密,读取明文字符(例如“你好世界”),将明文字符转换为二进制来表示,生成二进制消息PT=0100 1111 0110 0000 0101 1001 0111 1101 01001110 0001 0110 0111 0101 0100 1100
S42、任取R=00011011,计算cti=(pti+p×R)mod n,得出密文CT=1011 000101101101 0111 1100 00010000 1110 00010100 1011 00010101 1000 1101 1110 1100 101100010011。
S44、对于树的加密,假设每一个节点维度w=2,即每个叶子节点表示为Li=(li,1,li,2),每个非叶节点表示为
Figure GDA0002663294300000071
此时多维空间为一个矩形,每个点表示为
Figure GDA0002663294300000072
我们用{*}来表示加密后的格式,即Li加密后的格式为{Li},依此类推。
S45、Alice将加密后的R-树以及文档发送给服务器。
步骤五,生成查询令牌
Bob使用私钥和明文查询令牌生成加密后的查询令牌,用来查询目标文档。
具体过程如下:
S51、Bob依据服务器提供的私钥和n,假设生成查询节点Q=(q1,q2)=(12,12),如图2所示。
S52、加密查询节点,加密后结果为{Q}=(0001 0011,0001 0011)。
步骤六,文档检索
Bob使用查询令牌向云端发起检索请求,服务器分两步完成检索过程,第一步,首先查询用户表中是否有Bob,如果没有,则拒绝提供检索,否则,服务器首先检索到包含该查询指令的最深非叶节点,然后检索到最深非叶节点的叶节点,解密叶节点作为临时的最近邻居,由临时最近邻居生成临时的查询矩形,然后在客户端加密矩形并发送给服务器。第二步,服务器由查询矩形来确定哪些点在矩形内,并最终返回查询结果给Bob。此处假设Bob在用户列表中。
如图2所示,具体过程如下:
S61、从根节点开始,找出包含查询向量的最深非叶节点即矩形a,随即判断{Q}是否在矩形内。判断{Q}是否在矩形内的方法如下:假设加密后矩形{R}=({Rlu},{Rrl}),每个加密后节点表示为
Figure GDA0002663294300000081
Figure GDA0002663294300000082
因此,只要计算
Figure GDA0002663294300000083
并且{r1 rl}-{q1}≥0,
Figure GDA0002663294300000084
即点{Q}一定在矩形内。在此例中,从根节点开始检索,即根节点坐标{Rlu}=(0000,0010 1111),{Rrl}=(00101111,0000),依据上述方法计算并判断点{Q}在根节点内,然后遍历其子节点,若点{Q}依然在其子节点内,则继续遍历其子节点的子节点,否则,舍弃其子节点,直至最后找出矩形a。
S62、找到在当前非叶节点内离查询节点Q=(12,12)最近的叶子节点,将这个叶子节点设置为临时最近节点,即点TL=(12,15)。
S63、计算叶子节点和查询节点之间的欧式距离d=3,以点Q为中心,6为边长生成一个临时矩形(如图2加粗部分),每个节点表示为{TRrl}=(00010110,00010000),{TRlu}=(0001 0000,0001 0110)。树中的非叶节点表示为
Figure GDA0002663294300000091
为一个矩形,矩形中的点表示为
Figure GDA0002663294300000092
Figure GDA0002663294300000093
S64、从根节点重新检索,若该临时矩形与非叶节点之间有重合,则继续检索非叶节点的孩子节点,否则,舍弃该非叶节点。判断非叶节点和临时矩形是否重合的方法如下:若
Figure GDA0002663294300000094
或者
Figure GDA0002663294300000095
或者
Figure GDA0002663294300000096
或者
Figure GDA0002663294300000097
满足其一即判定为不重合,否则,则认为重合。在此例中,依据上述方法判断临时矩形与根节点有重合,则继续遍历其子节点,若临时矩形依然和其子节点有重合,则继续遍历其子节点的子节点,否则,舍弃其子节点,直至最后判断出临时矩形和非叶节点a,b有重合。
S65、将a,b中所有叶节点依据步骤S61的方法判断是否在临时矩形内,检索到临时矩形内的所有点,返还结果给Bob。
步骤七,文档解密
Bob使用解密密钥对接收到的密文进行解密,得到明文。
具体过程如下:
S71、Bob接收到密文,并且将密文分组CT=1011 00010110 1101 0111 110000010000 1110 00010100 1011 00010101 1000 1101 1110 1100 1011 00010011。
S72、Bob使用私钥SK进行解密运算pti=ctimod n。得到明文消息PT=0100 11110110 0000 0101 1001 0111 1101 0100 1110 0001 0110 0111 0101 0100 1100。
S73、将二进制数字转化为明文字符为“你好世界”。即解密成功。
步骤八、删除用户
Alice将Bob的信息从用户列表中直接删除。
具体过程如下:
S81、Alice向云端服务器发送命令删除用户Bob,服务器直接在用户表中删除Bob及其相关信息。

Claims (3)

1.一种云存储中基于同态加密的密文检索方法,包括以下步骤:
步骤一、系统初始化:数据拥有者初始化系统参数,生成密钥和用户表,并将用户表发送给云服务器;
步骤二、添加用户:数据拥有者将新用户的身份信息发送给云端服务器列表,并且将私钥发送给新用户,用来加密查询向量和解密文档;
步骤三、生成搜索树即R-树:数据拥有者将所有文档生成一棵树,所有的文档都放在叶子节点,非叶节点用来存储搜索信息,并且同时生成一个指示器覆盖所有的父亲-孩子之间的关系;
步骤四、文件加密:数据拥有者对文档和树进行加密;首先用公钥加密每一个叶子节点即每一个文档,然后加密非叶节点,最终生成一棵加密树,最后将加密后的文档和树一起发送给云端服务器;
步骤五、生成查询令牌:用户使用私钥和明文查询向量生成加密后的查询向量,用来查询目标文档;
步骤六、文档检索:用户使用查询向量向云端发起检索请求,服务器分两步完成检索过程,第一步,首先查询用户表中是否有该用户,如果没有,则拒绝提供检索,否则,服务器首先检索到包含该查询指令的最深非叶节点,然后检索到最深非叶节点的叶节点,解密叶节点作为临时的最近邻居,由临时最近邻居生成临时的查询多维空间,然后在客户端加密多维空间并发送给服务器;第二步,服务器由查询矩形来确定哪些点在多维空间内,并最终返回查询结果给用户;
步骤七、文档解密;用户使用解密密钥对接收到的密文进行解密,得到明文;
步骤八、删除用户;数据拥有者将用户信息从用户列表中直接删除;
步骤一系统初始化的具体过程为:
S11、数据拥有者随机选取系统参数k,
Figure FDA0002663294290000011
是一个多项式时间算法,以1k为输入,输出(n,p,q),其中n=p×q,p和q为安全大素数;
S12、生成公钥PK,用于加密文档和树;
S13、生成私钥SK,用于解密文档;
S14、生成用户表,用于添加和删除用户,并将用户表发送到云端服务器;
步骤二添加用户的具体过程为:
S21、数据拥有者将新用户Ui发送给服务器,并将Ui添加进用户表,其中i从1开始计数,表示新用户的个数;
S22、数据拥有者将私钥SK和n发送给新用户;
所述步骤五生成查询令牌的具体过程为:
S51、用户依据服务器提供的私钥SK和n,生成查询向量Q=(q1,q2…qw),
w为节点的维度,qi(i=1,2,…,w)为节点向量Q根据w划分后的相应子向量;
S52、加密查询向量,加密后结果为{Q}=({q1},{q2}…{qw});
步骤七文档解密的具体过程为:
S71、用户接收到密文,并且将密文分组CT=ct1ct2…cts
S72、使用私钥SK进行解密运算pti=ctimod n,得到明文消息PT=pt1pt2…pts
S73、将二进制数字转化为明文字符从而得到明文文件;
步骤八删除用户的具体过程为:
S81、数据拥有者想云端服务器发送命令删除用户ui,服务器直接在用户表中删除这个用户;
其特征是,步骤三生成搜索树即R-树的具体过程为:
S31、从根节点开始,选择孩子节点插入文档;
S32、当节点数超过M时,M为节点中单元个数的上限,需要进行节点分裂操作;直到将所有的文档插入进树中;
S33、在树中,每一个节点和查询令牌用
Figure FDA0002663294290000031
来表示,其中w表示维度,T表示每个维度的长度。
2.根据权利要求1所述的方法,其特征是,步骤四文件加密的具体过程为:
S41、首先对文档进行加密,读取明文字符,将明文字符转换为二进制来表示,生成二进制消息PT;
S42、将PT分为若干长度为a的消息分组共s个,a的长度应该小于p,即PT=pt1pt2…pts,pti为PT中某一个长度为a的分组,i=1,2,…,s;
S43、任取R∈Z*,计算cti=(pti+p×R)mod n,得出密文CT=ct1ct2…cts,i从1开始取值到s;用户接收到密文,并且将密文分组CT=ct1ct2…cts,cti为CT中某一个长度为a的分组,i=1,2,…,s;
S44、对于树的加密,假设每一个节点维度为w,在多维空间中,每个叶子节点表示为Li=(li,1,li,2…li,w),每个非叶节点表示为NLj,也是一个多维空间,用{*}来表示加密后的格式,即Li加密后的格式为{Li},依此类推;
S45、数据拥有者将加密后的R-树以及文档发送给服务器。
3.根据权利要求1所述的方法,其特征是,文件检索的具体过程为:
S61、从根节点开始,找出包含查询向量的最深非叶节点,即判断{Q}是否在多维空间内;
S62、找到在当前非叶节点内离查询节点{Q}最近的叶子节点,将这个叶子节点设置为临时最近节点TL=(tl1,tl2…tlw),tl1,tl2…tlw为节点向量TL根据节点维度w划分后的相应子向量;
S63、计算查询节点和叶子节点的欧式距离
Figure FDA0002663294290000032
以点{Q}为中心,2d为边长生成一个临时多维空间;
S64、从根节点重新检索,若该临时多维空间与非叶节点之间有重合,则继续检索非叶节点的孩子节点,否则,舍弃该非叶节点;
S65、检索到临时多维空间内的所有节点,返还文档给用户。
CN201711138161.7A 2017-11-16 2017-11-16 一种云存储中基于同态加密的密文检索方法 Active CN108011713B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711138161.7A CN108011713B (zh) 2017-11-16 2017-11-16 一种云存储中基于同态加密的密文检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711138161.7A CN108011713B (zh) 2017-11-16 2017-11-16 一种云存储中基于同态加密的密文检索方法

Publications (2)

Publication Number Publication Date
CN108011713A CN108011713A (zh) 2018-05-08
CN108011713B true CN108011713B (zh) 2020-11-20

Family

ID=62052543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711138161.7A Active CN108011713B (zh) 2017-11-16 2017-11-16 一种云存储中基于同态加密的密文检索方法

Country Status (1)

Country Link
CN (1) CN108011713B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344637B (zh) * 2018-10-24 2021-08-24 北京理工大学 一种可搜索和保护隐私的数据共享云辅助电子医疗系统
CN109818729B (zh) * 2019-01-28 2021-10-29 东北大学 基于Paillier同态加密的隐私保护平均距离查询方法
CN109889522B (zh) * 2019-02-25 2022-02-11 重庆邮电大学 一种基于区块链的物联网信息安全保护方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023051A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户多个关键词可搜索的加密方法
CN104022866A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户密文关键词可搜索的加密方法
CN104780161A (zh) * 2015-03-23 2015-07-15 南京邮电大学 一种云存储中支持多用户的可搜索加密方法
CN105024802A (zh) * 2015-07-13 2015-11-04 西安理工大学 云存储中基于双线性对的多用户多关键词可搜索加密方法
CN105049196A (zh) * 2015-07-13 2015-11-11 西安理工大学 云存储中指定位置的多个关键词可搜索的加密方法
CN106407822A (zh) * 2016-09-14 2017-02-15 华南理工大学 一种关键词、多关键词可搜索加密方法和系统
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法
CN106874379A (zh) * 2017-01-05 2017-06-20 中国科学院软件研究所 一种面向密文云存储的多维区间检索方法与系统
CN107231370A (zh) * 2017-06-23 2017-10-03 成都鼎智汇科技有限公司 一种基于云计算的数据监控方法
CN107231369A (zh) * 2017-06-23 2017-10-03 成都鼎智汇科技有限公司 一种基于云计算的高效数据处理方法
CN107257342A (zh) * 2017-06-23 2017-10-17 成都鼎智汇科技有限公司 一种基于云计算的数据安全处理方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023051A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户多个关键词可搜索的加密方法
CN104022866A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户密文关键词可搜索的加密方法
CN104780161A (zh) * 2015-03-23 2015-07-15 南京邮电大学 一种云存储中支持多用户的可搜索加密方法
CN105024802A (zh) * 2015-07-13 2015-11-04 西安理工大学 云存储中基于双线性对的多用户多关键词可搜索加密方法
CN105049196A (zh) * 2015-07-13 2015-11-11 西安理工大学 云存储中指定位置的多个关键词可搜索的加密方法
CN106407822A (zh) * 2016-09-14 2017-02-15 华南理工大学 一种关键词、多关键词可搜索加密方法和系统
CN106874379A (zh) * 2017-01-05 2017-06-20 中国科学院软件研究所 一种面向密文云存储的多维区间检索方法与系统
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法
CN107231370A (zh) * 2017-06-23 2017-10-03 成都鼎智汇科技有限公司 一种基于云计算的数据监控方法
CN107231369A (zh) * 2017-06-23 2017-10-03 成都鼎智汇科技有限公司 一种基于云计算的高效数据处理方法
CN107257342A (zh) * 2017-06-23 2017-10-17 成都鼎智汇科技有限公司 一种基于云计算的数据安全处理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"加密数据上的计算密码学技术研究综述";董秋香等;《计算机应用研究》;20160119;第33卷(第9期);第2561-2572页 *
"基于全同态加密算法的密文检索模型的设计与实现";魏润琪;《中国优秀硕士学位论文全文数据库信息科技辑》;20141115;第I138-33页 *

Also Published As

Publication number Publication date
CN108011713A (zh) 2018-05-08

Similar Documents

Publication Publication Date Title
CN108494768B (zh) 一种支持访问控制的密文搜索方法及系统
Huang et al. Achieving big data privacy via hybrid cloud
CN112270006A (zh) 电商平台中隐藏搜索模式和访问模式的可搜索加密方法
CN112800445B (zh) 一种用于密文数据的前后向安全和可验证的布尔查询方法
CN109543061B (zh) 一种支持多密钥的加密图像检索方法
CN109361644B (zh) 一种支持快速搜索和解密的模糊属性基加密方法
WO2017166054A1 (zh) 一种量子同态对称可搜索加密的方法及系统
CN108011713B (zh) 一种云存储中基于同态加密的密文检索方法
Bringer et al. Embedding edit distance to enable private keyword search
CN114640458B (zh) 云边协同环境下细粒度的多用户安全可搜索加密方法
CN115459967A (zh) 一种基于可搜索加密的密文数据库查询方法及系统
CN107294701B (zh) 具有高效密钥管理的多维密文区间查询装置及查询方法
Rauthan et al. Homomorphic encryption approach for exploration of sensitive information retrieval
CN115495792B (zh) 一种具有隐私保护的模糊关键词可搜索加密方法和系统
KR101232385B1 (ko) 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템
CN109672525B (zh) 一种具有前向索引的可搜索公钥加密方法及系统
KR100951034B1 (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
Abdulsada et al. Secure image retrieval over untrusted cloud servers
WO2019178792A1 (zh) 一种支持访问控制的密文搜索方法及系统
Kamble et al. A study on fuzzy keywords search techniques and incorporating certificateless cryptography
Al-Sakran et al. Efficient Cryptographic Technique for Securing and Accessing Outsourced Data
Baliga et al. Securing textual and image data on cloud using searchable encryption
CN115017389A (zh) 一种基于基树的空间数据范围查询方法及装置
Kumari et al. Privacy preserving similarity based text retrieval through blind storage
Hou et al. Public-key searchable encryption from lattices

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
CB02 Change of applicant information

Address after: 210023, 66 new model street, Gulou District, Jiangsu, Nanjing

Applicant after: NANJING University OF POSTS AND TELECOMMUNICATIONS

Applicant after: JIANGSU PROVINCE XINTONG INTELLIGENT TRAFFIC SCIENCE & TECHNOLOGY DEVELOPMENT Co.,Ltd.

Address before: 210023 Jiangsu city of Nanjing province Nanjing City Yuen Road Ya Dong New District No. 9

Applicant before: NANJING University OF POSTS AND TELECOMMUNICATIONS

Applicant before: JIANGSU PROVINCE XINTONG INTELLIGENT TRAFFIC SCIENCE & TECHNOLOGY DEVELOPMENT Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 210023, No. 66, new exemplary Road, Nanjing, Jiangsu

Patentee after: NANJING University OF POSTS AND TELECOMMUNICATIONS

Patentee after: JIANGSU PROVINCE XINTONG INTELLIGENT TRAFFIC SCIENCE & TECHNOLOGY DEVELOPMENT Co.,Ltd.

Address before: 210023, 66 new model street, Gulou District, Jiangsu, Nanjing

Patentee before: NANJING University OF POSTS AND TELECOMMUNICATIONS

Patentee before: JIANGSU PROVINCE XINTONG INTELLIGENT TRAFFIC SCIENCE & TECHNOLOGY DEVELOPMENT Co.,Ltd.

CP02 Change in the address of a patent holder