CN107070900B - 基于混淆的可搜索重加密方法 - Google Patents
基于混淆的可搜索重加密方法 Download PDFInfo
- Publication number
- CN107070900B CN107070900B CN201710176633.1A CN201710176633A CN107070900B CN 107070900 B CN107070900 B CN 107070900B CN 201710176633 A CN201710176633 A CN 201710176633A CN 107070900 B CN107070900 B CN 107070900B
- Authority
- CN
- China
- Prior art keywords
- user
- search
- encryption
- indicate
- keyword
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0478—Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了基于混淆的可搜索重加密方法,具体实现步骤包括:1、生成公钥和私钥;2、随机化处理关键字;3、生成原始密文;4、重加密密文;5、计算陷门值;6、生成关键字匹配条件;7、判断是否满足关键字匹配条件;8、混淆重加密;9、用户解密;10、退出密码系统。本发明使用主随机化值和次随机化值来匹配关键字匹配条件,使得本发明可以短时间判断关键字匹配条件。在重加密过程中不使用双线性对与半可信的第三方参与。本发明提高了重加密密文的效率,减少了资源占用率。
Description
技术领域
本发明属于通信技术领域,更进一步涉及网络安全技术领域中的一种基于混淆的可搜索重加密方法。本发明是以重加密为基础,提出的一种实现基于混淆的可搜索重加密方法,即可以根据关键字搜索结果重加密数据。本发明可用于云存储当中,对加密过的数据根据关键字的搜索结果对密文进行重加密。
背景技术
重加密在云存储应用中占有重要地位,不仅保持数据机密性,解决了加密数据共享的问题。可用于加密过的电子邮件的转发、分布式文件系统、数字版权管理(DRM)等场景。为了选择性的对密文重加密,需要可搜索加密技术作为支持,得到条件代理重加密方法。现有的条件代理重加密方法大多都是采用双线性对来实现的,或者需要半可信的第三方参与。由于双线性对的计算量相当大,并不利于现实中的应用。
Cheng R等人在其发表的论文“Secure obfuscation of conditional re-encryption with keyword search.”(Intelligent Networking and CollaborativeSystems(INCoS),2013 5th International Conference on.2013:30-37,公开日期2013.09.11)中提出一种基于混淆的条件代理重加密方法。该方法的主要步骤是:(1)输入安全参数λ,生成用户A和用户B的公私钥对,将私钥分别发送给用户。(2)加密1:用用户A的公钥对明文加密生成第一层密文、对关键字加密生成陷门。(3)加密2:对第一层密文用用户A的私钥解密生成明文,再用用户B的公钥对明文加密,生成第二层密文。(4)混淆步骤(3)的算法:用两个随机数和双线性对对用户A的密钥和关键字进行加密,用加密过的密钥对第一层密文重加密,生成重加密密文。(5)解密:用户B用陷门值判断关键字是否匹配,如果匹配,则密文可以正确解密;如果不匹配,则密文不可以正确解密。该方法存在的不足之处是:该方法利用双线性对生成关键字匹配条件,由于双线性对的计算开销很大,使得计算关键字匹配条件的时间很长,严重影响了重加密过程的效率。
河海大学在其申请的专利文献“一种基于证书代理重加密方法及系统”(申请号201310572508.4,申请日期2013.11.15,公开日期2014.03.19)中提出了一种基于证书代理重加密方法及系统。该方法的主要步骤是:(1)证书中心根据设定的安全参数生成系统主密钥和系统公开参数。根据用户的身份信息和系统公开参数生成用户公私钥对,再生成用户证书。(2)根据系统公开参数、待加密的明文以及接收者的身份信息和公钥,生成原始密文。(3)根据系统公开参数、发送者的身份信息、私钥和证书、以及接收者的身份信息和公钥,生成重加密密钥。(4)根据系统公开参数、原始密文以及代理重加密密钥,生成重加密密文。再根据系统公开参数、待解密的密文私钥和证书,恢复明文。该方法存在的不足之处是:该方法是需要半可信的第三方用证书和用户私钥来生成重加密密钥,使得半可信的第三方一直在线浪费资源,生成证书的过程影响了重加密的效率。
发明内容
本发明的目的在于克服上述现有技术对数据属主上传到云服务器上的明文进行重加密,使得云服务器处理数据的时间太长;用来加密明文的公式与陷门匹配条件包含双线性对,使得计算效率大大降低;利用重加密密钥对原始密文重加密,使得需要有半可信的第三方参与,使得半可信的第三方一直在线浪费资源的问题,提供一种基于混淆的可搜索重加密方法。
实现本发明的主要思想是:首先对选取的关键字做随机化处理,对明文加密生成原始密文,然后对原始密文进行重加密,再将主随机化值与次随机化值进行匹配,若匹配成功,云服务器混淆重加密得到第二层密文,最后用户利用自己的私钥解密第二层密文得到明文。本发明采用主随机化与次随机化匹配,使得计算效率大幅提升;不使用双线性对,使得采用本发明提高了重加密密文的效率,减少了资源占用率。
本发明的具体实现步骤包括如下:
(1)生成公钥和私钥:
(1a)任意选取一个大素数p,其中p>2λ,λ表示由云服务器所确定的安全参数,λ<264;
(1b)云服务器以大素数p为阶,构造一个加法循环群和一个非零乘法群;
(1c)云服务器从非零乘法群中任意选择一个数作为用户的私钥;
(1d)按照下式,计算用户的公钥:
P=S(λ)
其中,P表示用户的公钥,S(·)表示初始化操作;
(1e)云服务器公开用户的公钥,将用户的私钥发布给用户;
(2)随机化处理:
(2a)数据属主对拟加密的明文选取关键字;
(2b)按照下式,数据属主对选取的关键字分别做两次随机化处理,得到主随机化值与次随机化值:
s1=r1r2 H(w)(modp)
其中,s1表示主随机化值,r1,r2分别表示用伪随机生成器生成的两个随机数,H(·)表示哈希函数,w表示选取的关键字,mod表示求模操作,p表示任意选取的一个大素数,s2表示次随机化值,-1表示求逆操作;
(3)生成原始密文:
(3a)数据属主用公钥对明文加密,得到原始密文;
(3b)数据属主将原始密文、主随机化值和次随机化值组合在一起构成第一层密文,发送给云服务器;
(4)重加密密文:
(4a)用户发出拟对原始密文重加密的请求;
(4b)数据属主用自己的私钥对原始密文解密,得到与原明文内容相同的明文,并将该明文发送给云服务器;
(4c)数据属主利用用户的公钥对明文加密,得到初始第二层密文,并将该初始第二层密文发送给云服务器;
(4d)云服务器读取数据属主的私钥和用户的公钥;
(5)计算陷门值:
(5a)用户选择拟搜索的关键字;
(5b)按照下式,用户计算拟搜索的关键字的陷门值:
σ=H(w*)
其中,σ表示拟搜索的关键字的陷门值,H(·)表示哈希函数,w*表示用户拟搜索的关键字;
(5c)用户将拟搜索的关键字的陷门值发送给云服务器;
(6)按照下式,生成拟搜索的关键字的匹配条件:
s1=s2 σ
其中,s1表示主随机化值,s2表示次随机化值,σ表示接收到拟搜索的关键字的陷门值;
(7)判断接收的陷门值是否满足拟搜索关键字的匹配条件,若是,则执行步骤(8),否则,执行步骤(10);
(8)混淆重加密:
(8a)云服务器利用重加密参数的隐藏公式,隐藏数据属主的私钥;
(8b)云服务器用重加密参数对原始密文重加密,得到搜索后的第二层密文,将该搜索后的第二层密文发送给用户;
(9)用户接收到搜索后的第二层密文后,用自己的私钥解密;
(10)退出密码系统。
本发明与现有技术相比具有如下优点:
第一,由于本发明使用主随机化值和次随机化值来匹配关键字匹配条件,克服了现有技术中利用双线性对生成关键字匹配条件,由于双线性对的计算开销很大,使得计算关键字匹配条件的时间很长,严重影响了重加密过程的效率的缺陷,使得本发明具有云服务器可以短时间判断关键字匹配条件的优点。
第二,由于本发明利用生成重加密参数的隐藏公式,隐藏数据属主的私钥,克服了现有技术需要半可信的第三方用证书和用户私钥来生成重加密密钥,使得生成证书的过程影响了重加密的效率,半可信的第三方一直在线浪费资源的缺陷,使得本发明具有减少资源占有率和高效率重加密密文的优点。
附图说明
附图1为本发明的流程图。
具体实施方式
下面结合附图1对本发明做进一步的描述。
步骤1,生成公钥和私钥。
任意选取一个大素数p,其中p>2λ,λ表示由云服务器所确定的安全参数,λ<264。云服务器以大素数p为阶,构造一个加法循环群和一个非零乘法群。云服务器从非零乘法群中任意选择一个数作为用户的私钥。
按照下式,计算用户的公钥:
P=S(λ)
其中,P表示用户的公钥,S(·)表示初始化操作,λ表示云服务器所确定的安全参数。
云服务器将用户的公钥,将用户的私钥发布给用户。
步骤2,数据属主对要加密的明文选取关键字。
按照下式,数据属主对选取的关键字分别做两次随机化处理,得到主随机化值与次随机化值:
s1=r1r2 H(w)(modp)
其中,s1表示主随机化值,r1,r2分别表示用伪随机生成器生成的两个随机数,H(·)表示哈希函数,w表示选取的关键字,mod表示求模运算,p表示任意选取的一个大素数,s2表示次随机化值,-1表示求逆运算。
步骤3,生成原始密文。
数据属主用公钥对明文加密,得到原始密文。所述生成原始密文的公式如下:
C1=(m×gr,(gx)r)
其中,C1表示生成的原始密文,m表示明文,×表示乘法操作,g表示非零乘法群的生成元,r表示用伪随机生成器生成的随机数,gx表示数据属主的公钥。
数据属主将原始密文、主随机化值和次随机化值组合在一起构成第一层密文,发送给云服务器。
步骤4,重加密密文。
用户发出拟将原始密文重加密的请求。
数据属主用自己的私钥对原始密文解密,得到与原明文内容相同的明文,并将该明文发送给云服务器。
数据属主利用用户的公钥对明文加密,得到初始第二层密文,并将该初始第二层密文发送给云服务器。所述得到初始第二层密文的公式如下:
其中,c表示初始第二层密文,m表示明文,×表示乘法操作,r3,r4,r5分别表示用伪随机生成器生成的三个随机数,g表示非零乘法群的生成元,gy表示用户的公钥,h表示从循环群中随机选取的一个元素,G(·)表示伪随机生成函数。
云服务器读取以下参数:数据属主的私钥和用户的公钥。
步骤5,计算陷门值
用户选择拟搜索的关键字。
按照下式,用户计算拟搜索的关键字的陷门值:
σ=H(w*)
其中,σ表示拟搜索的关键字的陷门值,H(·)表示哈希函数,w*表示用户拟搜索的关键字。
用户将拟搜索的关键字的陷门值发送给云服务器。
步骤6,按照下式,生成拟搜索的关键字的匹配条件:
s1=s2 σ
其中,s1表示主随机化值,s2表示次随机化值,σ表示接收到拟搜索的关键字的陷门值。
步骤7,判断接收的陷门值是否满足拟搜索关键字的匹配条件,若是,则执行步骤8,否则,执行步骤10。
步骤8,云服务器利用生成重加密参数的隐藏公式,隐藏数据属主的私钥。
所述的生成重加密参数的隐藏公式如下:
其中,z表示重加密参数,v表示伪随机生成器生成的随机数,x表示数据属主的私钥。
云服务器用重加密参数对原始密文重加密,得到搜索后的第二层密文,云服务器将该搜索后的第二层密文发送给用户。
所述的得到搜索后的第二层密文的公式如下:
其中,C2表示搜索后的第二层密文,r6表示用伪随机生成器生成的随机数。
步骤9,用户接收到搜索后的第二层密文后,用自己的私钥解密。
步骤10,退出密码系统。
Claims (2)
1.一种基于混淆的可搜索重加密方法,具体步骤包括如下:
(1)生成公钥和私钥:
(1a)任意选取一个大素数p,其中p>2λ,λ表示由云服务器所确定的安全参数,λ<264;
(1b)云服务器以大素数p为阶,构造一个加法循环群和一个非零乘法群;
(1c)云服务器从非零乘法群中任意选择一个数作为用户的私钥;
(1d)按照下式,计算用户的公钥:
P=S(λ)
其中,P表示用户的公钥,S(·)表示初始化操作;
(1e)云服务器公开用户的公钥,将用户的私钥发布给用户;
(2)随机化处理:
(2a)数据属主对拟加密的明文选取关键字;
(2b)按照下式,数据属主对选取的关键字分别做两次随机化处理,得到主随机化值与次随机化值:
s1=r1r2 H(w)(mod p)
其中,s1表示主随机化值,r1,r2分别表示用伪随机生成器生成的两个随机数,H(·)表示哈希函数,w表示选取的关键字,mod表示求模操作,p表示任意选取的一个大素数,s2表示次随机化值,-1表示求逆操作;
(3)生成原始密文:
(3a)数据属主用公钥对明文加密,得到原始密文;
(3b)数据属主将原始密文、主随机化值和次随机化值组合在一起构成第一层密文,发送给云服务器;
(4)重加密密文:
(4a)用户发出拟对原始密文重加密的请求;
(4b)数据属主用自己的私钥对原始密文解密,得到与原明文内容相同的明文,并将该明文发送给云服务器;
(4c)数据属主利用用户的公钥对明文加密,得到初始第二层密文,并将该初始第二层密文发送给云服务器;
所述得到初始第二层密文的公式如下:
其中,c表示初始第二层密文,m表示明文,×表示乘法操作,r3,r4,r5分别表示用伪随机生成器生成的三个随机数,g表示非零乘法群的生成元,gy表示用户的公钥,h表示从循环群中随机选取的一个元素,G(·)表示伪随机生成函数;
(4d)云服务器读取数据属主的私钥和用户的公钥;
(5)计算陷门值:
(5a)用户选择拟搜索的关键字;
(5b)按照下式,用户计算拟搜索的关键字的陷门值:
σ=H(w*)
其中,σ表示拟搜索的关键字的陷门值,H(·)表示哈希函数,w*表示用户拟搜索的关键字;
(5c)用户将拟搜索的关键字的陷门值发送给云服务器;
(6)按照下式,生成拟搜索的关键字的匹配条件:
s1=s2 σ
其中,s1表示主随机化值,s2表示次随机化值,σ表示接收到拟搜索的关键字的陷门值;
(7)判断接收的陷门值是否满足拟搜索关键字的匹配条件,若是,则执行步骤(8),否则,执行步骤(10);
(8)混淆重加密:
(8a)云服务器利用重加密参数的隐藏公式,隐藏数据属主的私钥;
(8b)云服务器用重加密参数对原始密文重加密,得到搜索后的第二层密文,将该搜索后的第二层密文发送给用户;
所述得到搜索后的第二层密文的公式如下:
其中,C2表示搜索后的第二层密文,r6表示用伪随机生成器生成的一个随机数;
(9)用户接收到搜索后的第二层密文后,用自己的私钥解密;
(10)退出密码系统。
2.根据权利要求1所述的基于混淆的可搜索重加密方法,其特征在于:步骤(8a)中所述的重加密参数的隐藏公式如下:
其中,z表示重加密参数,h表示从循环群中随机选取的一个元素,gy表示用户的公钥,v表示伪随机生成器生成的随机数,G(·)表示伪随机生成函数,x表示数据属主的私钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710176633.1A CN107070900B (zh) | 2017-03-23 | 2017-03-23 | 基于混淆的可搜索重加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710176633.1A CN107070900B (zh) | 2017-03-23 | 2017-03-23 | 基于混淆的可搜索重加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107070900A CN107070900A (zh) | 2017-08-18 |
CN107070900B true CN107070900B (zh) | 2019-10-11 |
Family
ID=59620292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710176633.1A Active CN107070900B (zh) | 2017-03-23 | 2017-03-23 | 基于混淆的可搜索重加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107070900B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846422A (zh) * | 2017-12-22 | 2018-03-27 | 福建星网智慧软件有限公司 | 一种网关的配置文件加密压缩和解密解压缩的方法 |
CN109889332A (zh) * | 2019-01-21 | 2019-06-14 | 电子科技大学 | 基于证书的等式测试加密方法 |
CN110543778A (zh) * | 2019-09-03 | 2019-12-06 | 广州市金其利信息科技有限公司 | 一种字符数据线性随机加密和解密算法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104022866A (zh) * | 2014-05-22 | 2014-09-03 | 西安理工大学 | 云存储中多用户密文关键词可搜索的加密方法 |
CN105049196A (zh) * | 2015-07-13 | 2015-11-11 | 西安理工大学 | 云存储中指定位置的多个关键词可搜索的加密方法 |
CN105743888A (zh) * | 2016-01-22 | 2016-07-06 | 河南理工大学 | 一种基于关键字搜索的代理重加密方案 |
-
2017
- 2017-03-23 CN CN201710176633.1A patent/CN107070900B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104022866A (zh) * | 2014-05-22 | 2014-09-03 | 西安理工大学 | 云存储中多用户密文关键词可搜索的加密方法 |
CN105049196A (zh) * | 2015-07-13 | 2015-11-11 | 西安理工大学 | 云存储中指定位置的多个关键词可搜索的加密方法 |
CN105743888A (zh) * | 2016-01-22 | 2016-07-06 | 河南理工大学 | 一种基于关键字搜索的代理重加密方案 |
Also Published As
Publication number | Publication date |
---|---|
CN107070900A (zh) | 2017-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246096B (zh) | 适用于云存储的多功能细粒度访问控制方法 | |
US7634085B1 (en) | Identity-based-encryption system with partial attribute matching | |
US20110145576A1 (en) | Secure method of data transmission and encryption and decryption system allowing such transmission | |
JP2011130120A (ja) | 量子公開鍵暗号システム、鍵生成装置、暗号化装置、復号装置、鍵生成方法、暗号化方法、及び復号方法 | |
JP2006108903A (ja) | 暗号化データ配布方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム | |
CN107196926A (zh) | 一种云外包隐私集合比较方法与装置 | |
CN105763528B (zh) | 一种混合机制下多重接收者匿名的加密装置 | |
CN104158880A (zh) | 一种用户端云数据共享解决方法 | |
WO2018043573A1 (ja) | 鍵交換方法、鍵交換システム | |
CN112000985B (zh) | 具有指定条件关键字搜索功能的代理重加密方法和系统 | |
CN107070900B (zh) | 基于混淆的可搜索重加密方法 | |
CN111052673A (zh) | 匿名广播方法、密钥交换方法、匿名广播系统、密钥交换系统、通信装置、程序 | |
WO2007142170A1 (ja) | 不正者失効システム、暗号化装置、暗号化方法およびプログラム | |
CN104168320A (zh) | 一种用户数据分享的方法和系统 | |
Rastogi et al. | Cloud computing security and homomorphic encryption | |
CN114095171A (zh) | 一种基于身份的可穿刺代理重加密方法 | |
Ordonez et al. | Modified El Gamal algorithm for multiple senders and single receiver encryption | |
CN112737783B (zh) | 一种基于sm2椭圆曲线的解密方法及设备 | |
CN111865578A (zh) | 一种基于sm2的多接收方公钥加密方法 | |
CN109495478B (zh) | 一种基于区块链的分布式安全通信方法及系统 | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
CN115941288A (zh) | 一种不使用配对的自主路径代理重加密方法 | |
Shanthi et al. | Efficient secure system of data in cloud using steganography based cryptosystem with FSN | |
Backes et al. | Fully secure inner-product proxy re-encryption with constant size ciphertext | |
US11451518B2 (en) | Communication device, server device, concealed communication system, methods for the same, and program |
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 |