发明名称 基于指定服务器的支持多密钥加密的公钥可搜索加密方法
摘要 本发明请求保护一种基于指定服务器的支持多密钥加密的公钥可搜索加密方法,可以实现指定服务器检索的功能,并使用不同的文件密钥对不同文件进行加密,具体是一种基于dPEKS(指定服务器的支持关键字检索的公钥加密方法)进行改进的公钥可搜索加密方法。本发明针对每一个不同的文件产生各自的,独立的文件加密密钥,并使用这些密钥对用户文件进行加密。并且在文件查询时,只有指定的相关服务器才能进行相应的密文检索并返回检索结果。本发明能够很好的解决特殊文件对高级别安全性能的需求,并且当所要查询的关键字涉及到多个由不同密钥进行加密的文件时,仍仅需发送一个查询请求,大大提高了检索的效率。
申请公布号 CN104468121A 申请公布日期 2015.03.25
申请号 CN201410707289.0 申请日期 2014.11.27
申请人 重庆邮电大学 发明人 周由胜;郭函;罗文俊;刘宴兵
分类号 H04L9/32(2006.01)I;H04L9/30(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L9/32(2006.01)I
代理机构 重庆市恒信知识产权代理有限公司 50102 代理人 刘小红
主权项 一种基于指定服务器的支持多密钥加密的公钥可搜索加密方法,其特征在于,包括以下步骤:101、初始化算法:生成全局的公共参数,G,G<sub>T</sub>,e,H<sub>1</sub>(),H<sub>2</sub>(),g,m,n。其中G,G<sub>T</sub>是两个阶数为p的循环群,阶数p为素数,e:G×G→G<sub>T</sub>是一个双线性映射,根据安全参数λ随机选择一个生成元g∈G和两个随机数m,n∈G,选择两个哈希函数H<sub>1</sub>:{0,1}<sup>*</sup>→G,H<sub>2</sub>:G<sub>T</sub>→{0,1}<sup>λ</sup>;102、随机选择一个值α∈Z<sub>p</sub>,Z<sub>p</sub>是{0,1,...,p‑1}的整数集合,作为服务器的私钥sk<sub>s</sub>=α,然后计算生成服务器的公钥pk<sub>s</sub>=(pk<sub>s,1</sub>,pk<sub>s,2</sub>)=(g<sup>α</sup>,m<sup>1/α</sup>);103、生成用户的公钥和私钥,随机选择一个值β∈Z<sub>p</sub>作为用户的私钥sk<sub>u</sub>=β,然后计算生用户的公钥pk<sub>u</sub>=(pk<sub>u,1</sub>,pk<sub>u,2</sub>)=(g<sup>β</sup>,n<sup>β</sup>);104、生成文件的加密密钥,即随机选择一个值k<sub>j</sub>∈Z<sub>p</sub>作为文件的加密密钥k<sub>j</sub>;105、生成关键字密文,输入用户公钥pk<sub>u</sub>,指定服务器的公钥pk<sub>s</sub>,随机选择一个值r∈Z<sub>p</sub>,产生相对应的密文C=[A,r,B],其中<img file="FDA0000618346650000011.GIF" wi="238" he="78" /><maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>B</mi><mo>=</mo><msub><mi>H</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>e</mi><msup><mrow><mo>(</mo><msub><mi>pk</mi><mrow><mi>s</mi><mo>,</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>H</mi><mn>1</mn></msub><msup><mrow><mo>(</mo><mi>w</mi><mo>)</mo></mrow><mi>r</mi></msup><mo>)</mo></mrow><msub><mi>k</mi><mi>j</mi></msub></msup><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000618346650000012.GIF" wi="569" he="89" /></maths>106、生成查询关键字陷门,输入用户私钥sk<sub>u</sub>,待查询的关键字w,计算生成关键字陷门<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>T</mi><mi>w</mi></msub><mo>=</mo><msub><mi>H</mi><mn>1</mn></msub><msup><mrow><mo>(</mo><mi>w</mi><mo>)</mo></mrow><mrow><mn>1</mn><mo>/</mo><msub><mi>sk</mi><mi>u</mi></msub></mrow></msup><mo>;</mo></mrow>]]></math><img file="FDA0000618346650000013.GIF" wi="367" he="95" /></maths>107、生成相应Δ信息及T′<sub>w</sub>:输入用户公钥pk<sub>u</sub>及文件加密密钥k<sub>j</sub>,计算生成<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>&Delta;</mi><mo>=</mo><msubsup><mi>pk</mi><mrow><mi>u</mi><mo>,</mo><mn>1</mn></mrow><msub><mi>k</mi><mi>j</mi></msub></msubsup><mo>,</mo></mrow>]]></math><img file="FDA0000618346650000014.GIF" wi="222" he="89" /></maths>并计算得到<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>T</mi><mi>w</mi><mo>&prime;</mo></msubsup><mo>=</mo><mi>e</mi><mrow><mo>(</mo><msubsup><mi>pk</mi><mrow><mi>u</mi><mo>,</mo><mn>1</mn></mrow><msub><mi>k</mi><mi>j</mi></msub></msubsup><mo>,</mo><msub><mi>H</mi><mn>1</mn></msub><msup><mrow><mo>(</mo><mi>w</mi><mo>)</mo></mrow><mrow><mn>1</mn><mo>/</mo><msub><mi>sk</mi><mi>u</mi></msub></mrow></msup><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000618346650000015.GIF" wi="504" he="89" /></maths>108、输入指定服务器的私钥sk<sub>s</sub>、T′<sub>w</sub>及待检索关键的密文C=[A,r,B],计算并判断等式<img file="FDA0000618346650000016.GIF" wi="332" he="82" />是否成立,如果成立,则返回与关键字w相关的文件,否则,返回错误。
地址 400065 重庆市南岸区黄桷垭崇文路2号