一種量子同態(tài)對(duì)稱可搜索加密的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明適用于數(shù)據(jù)加密檢索,提供了一種量子同態(tài)對(duì)稱可搜索加密的方法,包括:A,隨機(jī)產(chǎn)生若干私鑰;B,根據(jù)私鑰和關(guān)鍵詞對(duì)明文數(shù)據(jù)進(jìn)行加密后存放在云服務(wù)器;C,根據(jù)待整理的密文,確定出身份標(biāo)識(shí)符對(duì)應(yīng)的密文,通過化簡操作將擁有相同身份標(biāo)識(shí)符的密文整理得到索引表;D,根據(jù)私鑰的相反偏移量對(duì)檢索關(guān)鍵字加密后,根據(jù)加密后的檢索關(guān)鍵字和身份標(biāo)識(shí)符在索引表中查找到同一用戶的密文并返回;E,根據(jù)私鑰對(duì)檢索結(jié)果進(jìn)行解密,得到解密結(jié)果。本發(fā)明利用私鑰和關(guān)鍵詞對(duì)明文信息進(jìn)行加密,將生成的密文存儲(chǔ)在云服務(wù)器中,利用量子同態(tài)加密算法的特性,數(shù)據(jù)使用者可以檢索包含關(guān)鍵字Key的密文,在沒有私鑰的情況下將不會(huì)泄露任何有關(guān)明文的信息。
【專利說明】
一種量子同態(tài)對(duì)稱可搜索加密的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于云計(jì)算和信息安全領(lǐng)域,尤其涉及一種量子同態(tài)對(duì)稱可搜索加密的方 法及系統(tǒng)。
【背景技術(shù)】
[0002] 可搜索加密允許對(duì)密文數(shù)據(jù)不解密而檢索,能保障存儲(chǔ)在云服務(wù)器上的數(shù)據(jù)及檢 索關(guān)鍵詞的安全,非常適合于解決云計(jì)算中的隱私保護(hù)問題??伤阉骷用苤屑用芘c解密過 程所采用的密鑰相同,考慮到用戶檢索自己上傳到服務(wù)器上加密數(shù)據(jù)的需要,因此對(duì)對(duì)稱 可搜索加密進(jìn)行研究,能最大化計(jì)算效率。量子信息具有不可克隆的特性,任何非法用戶試 圖偽造密文的行為均會(huì)被合法用戶獲悉,并且具有絕對(duì)的安全性,采用量子同態(tài)構(gòu)造可搜 索加密能進(jìn)一步提高安全性。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明所要解決的技術(shù)問題在于提供一種量子同態(tài)對(duì)稱可搜索加密的方法及系 統(tǒng),旨在提高采用量子同態(tài)構(gòu)造可檢索加密時(shí)的安全性。
[0004] 本發(fā)明是這樣實(shí)現(xiàn)的,一種量子同態(tài)對(duì)稱可搜索加密的方法,包括以下步驟:
[0005] 步驟A,隨機(jī)產(chǎn)生若干私鑰;所述若干私鑰可被數(shù)據(jù)擁有者和數(shù)據(jù)使用者共享;
[0006] 步驟B,數(shù)據(jù)擁有者根據(jù)所述私鑰和預(yù)設(shè)的關(guān)鍵詞對(duì)明文數(shù)據(jù)進(jìn)行加密,然后將產(chǎn) 生的密文存放在云服務(wù)器中;所述密文包含有數(shù)據(jù)擁有者的身份標(biāo)識(shí)符;
[0007] 步驟C,數(shù)據(jù)擁有者在待整理的密文中,確定出所述身份標(biāo)識(shí)符對(duì)應(yīng)的密文,然后 通過化簡操作將擁有相同身份標(biāo)識(shí)符的密文整理在一起,根據(jù)整理結(jié)果得到索引表;
[0008] 步驟D,數(shù)據(jù)使用者以所述關(guān)鍵詞為檢索關(guān)鍵字,根據(jù)所述私鑰的相反偏移量對(duì)所 述檢索關(guān)鍵字加密,然后根據(jù)加密后的檢索關(guān)鍵字和所述身份標(biāo)識(shí)符在所述索引表中查找 到同一用戶的密文,將查找到的密文作為檢索結(jié)果并返回;
[0009] 步驟E,數(shù)據(jù)使用者根據(jù)所述私鑰對(duì)所述檢索結(jié)果進(jìn)行解密,得到解密結(jié)果。
[0010] 進(jìn)一步地,所述步驟B中,以Kj表示所述私鑰,Mj表示所述關(guān)鍵詞,記Kj與Mj的維數(shù) 均為n,Pq表示所述密文,則:
[0011]
[0012] 其中:
,矩陣Y中 的i表示復(fù)數(shù)中的虛數(shù)單位;My表示所述關(guān)鍵詞%的第i個(gè)分量,01U表示所述私鑰&的第i 個(gè)分量。
[0013] 進(jìn)一步地,以f」所示所述私鑰的相反偏移量,以所述關(guān)鍵詞為檢索關(guān)鍵字,以Key」 表示所述檢索關(guān)鍵字,以ID表示所述身份標(biāo)識(shí)符,以Ρ?!贡硎舅雒芪?,則;
[0014] 所述步驟D具體包括:
[0015] 步驟D1,生成所述私鑰的相反偏移量f」,根據(jù)所述私鑰的相反偏移量f」對(duì)所述檢 索關(guān)鍵字Keyj進(jìn)行加密,記f j與Key」的維數(shù)均為η,則:
[0016]
[0017] 其中:若 Keyi,j= |〇>,貝ijEncryptdj, Keyi,j)=Ry(0) · RyH'i.j);否則,Encrypt (-Κ^,Κθγ?^)=Κγ(3?/2) · RyC-B^.j)
?中0e [0,231),矩陣¥中的1表示復(fù)數(shù)中的虛數(shù)單位;1^^表示1^」的第1個(gè) 分量;θ/ i,j表不f j的第i個(gè)分量;
[0018] 步驟D2,根據(jù)所述身份標(biāo)識(shí)符在所述索引表中查找到同一用戶的密文,然后根據(jù) 加密后的檢索關(guān)鍵字利用量子同態(tài)特征來檢索查找到的密文,即:
[0019]
[0020]
[0021]
[0022]步驟D3,檢索步驟D2中查找到的密文中是否包含有檢索關(guān)鍵字Key」的密文pcj,若 檢索到包含檢索關(guān)鍵字的關(guān)鍵字Ken的密文P?!梗瑒t將檢索到的密文作為檢索結(jié)果并返回所 述檢索結(jié)果;BP:
[0023] _表示檢索到包含關(guān)鍵字Key」的密文,并將密 文%返回。
[0024] 進(jìn)一步地,在步驟E中,以Q表示所述檢索結(jié)果,M'」表示所述解密結(jié)果,記f」與Cj 的維數(shù)均為n,則:
[0025] ……'各1'7~ …
[0026] 其中
:其中[0,2j0,矩 陣Υ中的i表示復(fù)數(shù)中的虛數(shù)單位;Μ7 i,j表示消息,j的第i個(gè)分量。
[0027] 本發(fā)明還提供了一種量子同態(tài)對(duì)稱可搜索加密的系統(tǒng),包括:
[0028]私鑰產(chǎn)生單元,用于隨機(jī)產(chǎn)生若干私鑰;所述若干私鑰可被數(shù)據(jù)擁有者和數(shù)據(jù)使 用者共享;
[0029]加密存放單元,用于數(shù)據(jù)擁有者根據(jù)所述私鑰和預(yù)設(shè)的關(guān)鍵詞對(duì)明文數(shù)據(jù)進(jìn)行加 密,然后將產(chǎn)生的密文存放在云服務(wù)器中;所述密文包含有數(shù)據(jù)擁有者的身份標(biāo)識(shí)符;
[0030] 操作整理單元,用于數(shù)據(jù)擁有者在待整理的密文中,確定出所述身份標(biāo)識(shí)符對(duì)應(yīng) 的密文,然后通過化簡操作將擁有相同身份標(biāo)識(shí)符的密文整理在一起,根據(jù)整理結(jié)果得到 索引表;
[0031] 加密檢索單元,用于數(shù)據(jù)使用者以所述關(guān)鍵詞為檢索關(guān)鍵字,根據(jù)所述私鑰的相 反偏移量對(duì)所述檢索關(guān)鍵字加密,然后根據(jù)加密后的檢索關(guān)鍵字和所述身份標(biāo)識(shí)符在所述 索引表中查找到同一用戶的密文,將查找到的密文作為檢索結(jié)果并返回;
[0032] 密文解密單元,用于數(shù)據(jù)使用者根據(jù)所述私鑰對(duì)所述檢索結(jié)果進(jìn)行解密,得到解 密、結(jié)果。
[0033] 進(jìn)一步地,所述加密存放單元中,以Kj表示所述私鑰,Mj表示所述關(guān)鍵詞,記Kj與Mj 的維數(shù)均為η,Ρ。」表示所述密文,則:
[0034]
[0035] 其中
;0£[0,231),矩陣丫中 的i表示復(fù)數(shù)中的虛數(shù)單位;M1U表示所述關(guān)鍵詞W的第i個(gè)分量,01U表示所述私鑰&的第i 個(gè)分量。
[0036] 進(jìn)一步地,以f」所示所述私鑰的相反偏移量,以所述關(guān)鍵詞為檢索關(guān)鍵字,以Keyj 表示所述檢索關(guān)鍵字,以ID表示所述身份標(biāo)識(shí)符,以Ρ。」表示所述密文,則;
[0037]所述加密檢索單元具體用于:
[0038] 首先,生成所述私鑰的相反偏移量f」,根據(jù)所述私鑰的相反偏移量f」對(duì)所述檢索 關(guān)鍵字Key」進(jìn)行加密,記f j與Key」的維數(shù)均為η,則:
[0039]
[0040] 其中:若 Keyi,j= |〇>,則Encryptdjjeyi,j)=Ry(0) · j);否則,Encrypt (_K'j,Keyi,j)=Ry(Jr/2) · Ry(_9 i,j);
\ ;其中Θ e [0,2jt),矩陣Y中的i表示復(fù)數(shù)中的虛數(shù)單位;Keyi, j表示Keyj的第i個(gè) / 分量;θ/ i,j表不f j的第i個(gè)分量;
[0041] 其次,根據(jù)所述身份標(biāo)識(shí)符在所述索引表中查找到同一用戶的密文,然后根據(jù)加 密后的檢索關(guān)鍵字利用量子同態(tài)特征來檢索查找到的密文,即:
[0045] 最后,檢索查找到的密文中是否包含有檢索關(guān)鍵字Key」的密文P?!梗魴z索到包含 檢索關(guān)鍵字的關(guān)鍵字Ken的密文P?!?,則將檢索到的密文作為檢索結(jié)果并返回所述檢索結(jié) 果;即:
[0046] _
則表示檢索到包含關(guān)鍵字Key」的密文4,并將 密文心返回。
[0047] 進(jìn)一步地,在所述密文解密單元中,以表示所述檢索結(jié)果,if」表示所述解密結(jié) 果,記K、與Cj的維數(shù)均為n,則:
[0048 *·'*0·.; "-^*'*1.7 ^ ·_? - - n_ij 7
[0049] 其中
其中0e [0,2j0,矩 陣Y中的i表示復(fù)數(shù)中的虛數(shù)單位;M' i,j表示消息,j的第i個(gè)分量。
[0050] 本發(fā)明與現(xiàn)有技術(shù)相比,有益效果在于:本發(fā)明利用私鑰和關(guān)鍵詞對(duì)明文信息進(jìn) 行加密,將加密生成的密文存儲(chǔ)在云服務(wù)器中,進(jìn)一步地,利用量子同態(tài)加密算法的特性, 數(shù)據(jù)使用者可以檢索包含關(guān)鍵字Key的-密文,由于云服務(wù)器只擁有-密文4及加密的關(guān)鍵 字λ_:f_],在沒有私鑰的情況下將不會(huì)泄露任何有關(guān)明文的信息,其中〇< j <m;而 Song等采用的方法則首先利用偽隨機(jī)序列和檢查序列技術(shù)來生成流密碼T,再將T與明文Μ 作異或運(yùn)算生成密文C,檢索時(shí)通過加密的關(guān)鍵詞W與密文C異或運(yùn)算的結(jié)果來判斷是否存 在包含指定關(guān)鍵詞的密文。由于采用對(duì)稱的一次一密量子同態(tài)加密算法,所提的量子同態(tài) 可搜索加密算法效率要高于Song等提出的方案,并且量子信息的不可克隆性能夠保證方案 的絕對(duì)安全。
【附圖說明】
[0051] 圖1是本發(fā)明實(shí)施例提供的一種量子同態(tài)對(duì)稱可搜索加密的方法的流程圖。
[0052] 圖2是本發(fā)明實(shí)施例提供的一種量子同態(tài)對(duì)稱可搜索加密的系統(tǒng)的結(jié)構(gòu)示意圖。
[0053] 圖3是本發(fā)明實(shí)施例提供的一種量子同態(tài)對(duì)稱可搜索加密的系統(tǒng)的使用示意圖。
【具體實(shí)施方式】
[0054] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0055] 量子同態(tài)加密算法具有對(duì)密文直接進(jìn)行運(yùn)算而不需要解密的優(yōu)點(diǎn),并且能夠保證 加密算法的絕對(duì)安全。定義
矩陣Y中的i表示復(fù)數(shù)中的虛數(shù)單位?;诹孔油瑧B(tài)加密算法,如圖1所示,為本發(fā)明實(shí)施 例提供的一種高效的量子同態(tài)對(duì)稱可搜索加密的方法,包括以下步驟:
[0056] S1,隨機(jī)產(chǎn)生若干私鑰;所述若干私鑰可被數(shù)據(jù)擁有者和數(shù)據(jù)使用者共享。在本步 驟中,隨機(jī)產(chǎn)生若干私鑰,默認(rèn)產(chǎn)生的私鑰安全有效地被數(shù)據(jù)擁有者和數(shù)據(jù)使用者所共享。
[0057] S2,數(shù)據(jù)擁有者根據(jù)所述私鑰和預(yù)設(shè)的關(guān)鍵詞對(duì)明文數(shù)據(jù)進(jìn)行加密,然后將產(chǎn)生 的密文存放在云服務(wù)器中;所述密文包含有數(shù)據(jù)擁有者的身份標(biāo)識(shí)符。用戶的身份標(biāo)識(shí)符 相當(dāng)于用戶的唯一的身份證號(hào)一樣,在用戶被生成的時(shí)候便被賦予了一個(gè)唯一的與用戶相 對(duì)應(yīng)的身份標(biāo)識(shí)符,在本步驟中,數(shù)據(jù)擁有者利用私鑰和預(yù)設(shè)的關(guān)鍵詞對(duì)明文數(shù)據(jù)進(jìn)行后 加密,關(guān)鍵詞對(duì)應(yīng)相關(guān)的數(shù)據(jù),將加密后生成的密文存放至云服務(wù)器中,數(shù)據(jù)使用者在后續(xù) 的使用中可以直接訪問云服務(wù)器而獲得密文。因?yàn)樵趯?shí)際應(yīng)用中,明文數(shù)據(jù)往往包含很多 內(nèi)容,為了方便數(shù)據(jù)使用者后續(xù)檢索使用,數(shù)據(jù)擁有者在進(jìn)行加密的時(shí)候,一般會(huì)按照常用 的關(guān)鍵詞或者根據(jù)實(shí)際需要使用相關(guān)的關(guān)鍵詞對(duì)明文數(shù)據(jù)進(jìn)行加密,一個(gè)關(guān)鍵詞可以對(duì)應(yīng) 一段對(duì)應(yīng)的明文數(shù)據(jù)或者數(shù)段明文數(shù)據(jù),或者多個(gè)關(guān)鍵詞對(duì)應(yīng)一段或多段明文數(shù)據(jù)。數(shù)據(jù) 擁有者可以根據(jù)實(shí)際情況設(shè)置關(guān)鍵詞及對(duì)應(yīng)的明文數(shù)據(jù)。
[0058] S3,數(shù)據(jù)擁有者在待整理的密文中,確定出所述身份標(biāo)識(shí)符對(duì)應(yīng)的密文,然后通過 化簡操作將擁有相同身份標(biāo)識(shí)符的密文整理在一起,根據(jù)整理結(jié)果得到索引表。在本步驟 中,執(zhí)行映射操作(Map操作)列舉出所述身份標(biāo)識(shí)符對(duì)應(yīng)的密文,然后通過化簡操作 (Reduce操作)將擁有相同身份標(biāo)識(shí)符的密文整理在一起,根據(jù)整理結(jié)果得到索引表。
[0059] 在上述步驟中,數(shù)據(jù)擁有者利用私鑰和關(guān)鍵詞將明文數(shù)據(jù)進(jìn)行加密后,將生成的 密文存儲(chǔ)在云服務(wù)器中,同時(shí)生成索引表。利用量子同態(tài)加密算法的特征,數(shù)據(jù)使用者在后 續(xù)使用中可以通過索引表,方便快捷的檢索包含關(guān)鍵詞的密文。
[0060] 為進(jìn)一步的保證在云服務(wù)器中對(duì)密文檢索的安全性,以所述關(guān)鍵詞為檢索關(guān)鍵 字,所述方法還包括:
[0061] S4,數(shù)據(jù)使用者根據(jù)所述私鑰的相反偏移量對(duì)所述檢索關(guān)鍵字加密,然后根據(jù)加 密后的檢索關(guān)鍵字和所述身份標(biāo)識(shí)符在所述索引表中查找到同一用戶的密文,將查找到的 密文作為檢索結(jié)果并返回。在本步驟中,數(shù)據(jù)使用者利用所述私鑰的相反偏移量對(duì)檢索關(guān) 鍵字進(jìn)行加密,將檢索關(guān)鍵字加密后進(jìn)行密文檢索,以保證信息的安全性。
[0062] S5,數(shù)據(jù)使用者根據(jù)所述私鑰對(duì)所述檢索結(jié)果進(jìn)行解密,得到解密結(jié)果。
[0063]具體的,在步驟S1中,以I表示所述私鑰,則隨機(jī)產(chǎn)生的所述私鑰^e0lu,{〇彡 <231,〇紀(jì)<1!,〇幻<111};其中,11代表所述私鑰1的維數(shù), 111表示私鑰1^的個(gè)數(shù),01,謙示所述 私鑰Kj的第i個(gè)分量。
[0064] 在步驟S2中爲(wèi)表示所述關(guān)鍵詞,記的維數(shù)均為n,pcj表示所述密文,則:
[0065] ^ ^ ' *-·./ ,
^yj. ,y- - " -j.'
[0066] 其中
,矩陣Y中 的i表示復(fù)數(shù)中的虛數(shù)單位;M1U表示所述關(guān)鍵詞W的第i個(gè)分量,01U表示所述私鑰&的第i 個(gè)分量。
[0067]在步驟S3中,給定待整理的密文,執(zhí)行映射(Map)操作列舉出身份標(biāo)識(shí)符ID對(duì)應(yīng)的 密文PID,然后在通過化簡(Reduce)操作將擁有相同身份標(biāo)識(shí)符ID的密文PID整理在一起,根 據(jù)整理結(jié)果構(gòu)建索引表index。
[0068]具體的,步驟S4包括:
[0069] S41,生成所述私鑰的相反偏移量f」,根據(jù)所述私鑰的相反偏移量f」對(duì)所述檢索 關(guān)鍵字Key」進(jìn)行加密,記f j與Key」的維數(shù)均為η,則:
[0070]
[0071] 其中:若1^71,」=|〇〉肩歷11(^口1:(-1(、,1^1,」)=1^(〇).1^(-0/;^);否則』11(^口七 (-Κ^,Κθγ?^)=Κγ(3?/2) · RyC-B^.j)
?中0£[0,231),矩陣¥中的1表示復(fù)數(shù)中的虛數(shù)單位;1^^表示1^」的第1個(gè) V '
' } 分量;θ/ i,j表不f j的第i個(gè)分量;
[0072] S42,根據(jù)所述身份標(biāo)識(shí)符在所述索引表中查找到同一用戶的密文,然后根據(jù)加密 后的檢索關(guān)鍵字利用量子同態(tài)特征來檢索查找到的密文,即:
[0073]
[0074]
[0075]
[0076] S43,檢索步驟S42中查找到的密文中是否包含有檢索關(guān)鍵字Key」的密文Ρ?!?,若檢 索到包含檢索關(guān)鍵字的關(guān)鍵字Key」的密文P?!梗瑒t將檢索到的密文作為檢索結(jié)果并返回所述 檢索結(jié)果;即:
[0077]若<
,則表示檢索到包含關(guān)鍵字Key」的密文/V并將密 文^返回。
[0078] 在步驟S5中,以Q表示所述檢索結(jié)果,Μ、表示所述解密結(jié)果,記K、與Q的維數(shù)均 為η則:
[0079]
[0080] 其中0^[0,231),矩陣¥中的1表示復(fù)數(shù)中的虛數(shù)單位^1,請(qǐng)示消息心的第1個(gè)分量。
[0081] 如圖2所示,本發(fā)明還提供了一種量子同態(tài)對(duì)稱可搜索加密的系統(tǒng),包括:
[0082] 私鑰產(chǎn)生單元1,用于隨機(jī)產(chǎn)生若干私鑰;所述若干私鑰可被數(shù)據(jù)擁有者和數(shù)據(jù)使 用者共享;
[0083] 加密存放單元2,用于數(shù)據(jù)擁有者根據(jù)所述私鑰和預(yù)設(shè)的關(guān)鍵詞對(duì)明文數(shù)據(jù)進(jìn)行 加密,然后將產(chǎn)生的密文存放在云服務(wù)器中;所述密文包含有數(shù)據(jù)擁有者的身份標(biāo)識(shí)符;
[0084] 操作整理單元3,用于數(shù)據(jù)擁有者在待整理的密文中,確定出所述身份標(biāo)識(shí)符對(duì)應(yīng) 的密文,然后通過化簡操作將擁有相同身份標(biāo)識(shí)符的密文整理在一起,根據(jù)整理結(jié)果得到 索引表;
[0085] 加密檢索單元4,用于數(shù)據(jù)使用者以所述關(guān)鍵詞為檢索關(guān)鍵字,根據(jù)所述私鑰的相 反偏移量對(duì)所述檢索關(guān)鍵字加密,然后根據(jù)加密后的檢索關(guān)鍵字和所述身份標(biāo)識(shí)符在所述 索引表中查找到同一用戶的密文,將查找到的密文作為檢索結(jié)果并返回;
[0086] 密文解密單元5,用于數(shù)據(jù)使用者根據(jù)所述私鑰對(duì)所述檢索結(jié)果進(jìn)行解密,得到解 密、結(jié)果。
[0087] 進(jìn)一步地,加密存放單元2中,以Kj表示所述私鑰,Mj表示所述關(guān)鍵詞,記Kj與Mj的 維數(shù)均為η,Pq表示所述密文,則:
[0088]
[0089] 其中
,矩陣Y中 的i表示復(fù)數(shù)中的虛數(shù)單位;My表示所述關(guān)鍵詞%的第i個(gè)分量,01U表示所述私鑰&的第i 個(gè)分量。進(jìn)一步地,以K、所示所述私鑰的相反偏移量,以所述關(guān)鍵詞為檢索關(guān)鍵字,以Key」 表示所述檢索關(guān)鍵字,以ID表示所述身份標(biāo)識(shí)符,以Ρ?!贡硎舅雒芪?,則;
[0090] 加密檢索單元4具體用于:
[0091 ]首先,生成所述私鑰的相反偏移量f」,根據(jù)所述私鑰的相反偏移量f」對(duì)所述檢索 關(guān)鍵字Key」進(jìn)行加密,記f j與Key」的維數(shù)均為η,則:
[0092]
[0093] 其中:若 Keyi,j= |〇>,則 Encryptd j,Keyi,.i)=Ry(0) ·否則,Encrypt (-Κ^,Κθγ?^)=Κγ(3?/2) · RyC-B^.j)
1. 〇中0£[0,231),矩陣¥中的1表示復(fù)數(shù)中的虛數(shù)單位;1^^表示1^」的第1個(gè) :v
./. 分量;θ/ i,j表不f j的第i個(gè)分量;
[0094] 其次,根據(jù)所述身份標(biāo)識(shí)符在所述索引表中查找到同一用戶的密文,然后根據(jù)加 密后的檢索關(guān)鍵字利用量子同態(tài)特征來檢索查找到的密文,即:
[0095]
L0099」最后,檢索查找到的密文中是否包含有檢索關(guān)鍵字Ken的密文P?!?,若檢索到包含 檢索關(guān)鍵字的關(guān)鍵字Ken的密文P。」,則將檢索到的密文作為檢索結(jié)果并返回所述檢索結(jié) 果;即:
[0100]若 則表示檢索到包含關(guān)鍵字Key」的密文/?,并將密 文心返回。
[0101 ]進(jìn)一步地,在密文解密單元5中,以Cj表示所述檢索結(jié)果,j表示所述解密結(jié)果,記 f j與Cj的維數(shù)均為n,則:
[0102]
[0103] 其中0^[0,231),矩陣¥中的1表示復(fù)數(shù)中的虛數(shù)單位^1,請(qǐng)示消息心的第1個(gè)分量。
[0104] 如圖3所示,為本發(fā)明的一具體使用例:
[0105] 數(shù)據(jù)擁有者利用私鑰和關(guān)鍵詞對(duì)明文數(shù)據(jù)進(jìn)行加密,將加密生成的密文存儲(chǔ)在云 服務(wù)器中,然后根據(jù)具備身份標(biāo)識(shí)符的密文建立索引表。數(shù)據(jù)使用者根據(jù)檢索關(guān)鍵字,利用 所述私鑰的相反偏移量進(jìn)行加密后對(duì)云服務(wù)器中的密文進(jìn)行檢索。然后數(shù)據(jù)使用者利用私 鑰對(duì)檢索到的密文進(jìn)行解密,獲得明文數(shù)據(jù)。
[0106]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種量子同態(tài)對(duì)稱可搜索加密的方法,其特征在于,所述方法包括以下步驟: 步驟A,隨機(jī)產(chǎn)生若干私鑰;所述若干私鑰可被數(shù)據(jù)擁有者和數(shù)據(jù)使用者共享; 步驟B,數(shù)據(jù)擁有者根據(jù)所述私鑰和預(yù)設(shè)的關(guān)鍵詞對(duì)明文數(shù)據(jù)進(jìn)行加密,然后將產(chǎn)生的 密文存放在云服務(wù)器中;所述密文包含有數(shù)據(jù)擁有者的身份標(biāo)識(shí)符; 步驟C,數(shù)據(jù)擁有者在待整理的密文中,確定出所述身份標(biāo)識(shí)符對(duì)應(yīng)的密文,然后通過 化簡操作將擁有相同身份標(biāo)識(shí)符的密文整理在一起,根據(jù)整理結(jié)果得到索引表; 步驟D,數(shù)據(jù)使用者以所述關(guān)鍵詞為檢索關(guān)鍵字,根據(jù)所述私鑰的相反偏移量對(duì)所述檢 索關(guān)鍵字加密,然后根據(jù)加密后的檢索關(guān)鍵字和所述身份標(biāo)識(shí)符在所述索引表中查找到同 一用戶的密文,將查找到的密文作為檢索結(jié)果并返回; 步驟E,數(shù)據(jù)使用者根據(jù)所述私鑰對(duì)所述檢索結(jié)果進(jìn)行解密,得到解密結(jié)果。2. 如權(quán)利要求1所述的方法,其特征在于,所述步驟B中,以Kj表示所述私鑰,表示所述 關(guān)鍵詞,記Kj與的維數(shù)均為η,P cg表示所述密文,則:,矩陣Y中的i表 示復(fù)數(shù)中的虛數(shù)單位;表示所述關(guān)鍵詞Mj的第i個(gè)分量,表示所述私鑰Kj的第i個(gè)分 量。3. 如權(quán)利要求1所述的方法,其特征在于,以K。所示所述私鑰的相反偏移量,以所述關(guān) 鍵詞為檢索關(guān)鍵字,以Keyj表示所述檢索關(guān)鍵字,以ID表示所述身份標(biāo)識(shí)符,以P?!贡硎舅?密文,則; 所述步驟D具體包括: 步驟Dl,生成所述私鑰的相反偏移量f」,根據(jù)所述私鑰的相反偏移量f」對(duì)所述檢索關(guān) 鍵字Keyj進(jìn)行加密,記f j與Keyj的維數(shù)均為η,則:其中:若 Keyi,j= |〇〉,則 Encrypt!;-!^ j,Keyi,j)=Ry(0) · i,j);否貝 lJ,Encrypt(_Kj,Keyi,j)=Ry(Jr/2) · Ry(_9 i,j); 其中[0,231),矩陣Y中的i表示復(fù)數(shù)中的虛數(shù)單位;Keyi, j表示Keyj的第i個(gè)分量;θ'id表 示的第i個(gè)分量; 步驟D2,根據(jù)所述身份標(biāo)識(shí)符在所述索引表中查找到同一用戶的密文,然后根據(jù)加密 后的檢索關(guān)鍵字利用量子同態(tài)特征來檢索查找到的密文,即:步驟D3,檢索步驟D2中查找到的密文中是否包含有檢索關(guān)鍵字Keyj的密文Pcj,若檢索 到包含檢索關(guān)鍵字的關(guān)鍵字Keyj的密文Ρ。」,則將檢索到的密文作為檢索結(jié)果并返回所述檢 索結(jié)果;即:I則表示檢索到包含關(guān)鍵字Keyj的密文匕〃并將密文心: 返回。4. 如權(quán)利要求1所述的方法,其特征在于,在步驟E中,以Cj表示所述檢索結(jié)果,M'」表示 所述解密結(jié)果,記f」與C j的維數(shù)均為η,則::其中0e[〇,2Ji),矩陣Y中 的i表示復(fù)數(shù)中的虛數(shù)單位;M7 i,j表示消息,j的第i個(gè)分量。5. -種量子同態(tài)對(duì)稱可搜索加密的系統(tǒng),其特征在于,所述系統(tǒng)包括: 私鑰產(chǎn)生單元,用于隨機(jī)產(chǎn)生若干私鑰;所述若干私鑰可被數(shù)據(jù)擁有者和數(shù)據(jù)使用者 共孚; 加密存放單元,用于數(shù)據(jù)擁有者根據(jù)所述私鑰和預(yù)設(shè)的關(guān)鍵詞對(duì)明文數(shù)據(jù)進(jìn)行加密, 然后將產(chǎn)生的密文存放在云服務(wù)器中;所述密文包含有數(shù)據(jù)擁有者的身份標(biāo)識(shí)符; 操作整理單元,用于數(shù)據(jù)擁有者在待整理的密文中,確定出所述身份標(biāo)識(shí)符對(duì)應(yīng)的密 文,然后通過化簡操作將擁有相同身份標(biāo)識(shí)符的密文整理在一起,根據(jù)整理結(jié)果得到索引 表; 加密檢索單元,用于數(shù)據(jù)使用者以所述關(guān)鍵詞為檢索關(guān)鍵字,根據(jù)所述私鑰的相反偏 移量對(duì)所述檢索關(guān)鍵字加密,然后根據(jù)加密后的檢索關(guān)鍵字和所述身份標(biāo)識(shí)符在所述索引 表中查找到同一用戶的密文,將查找到的密文作為檢索結(jié)果并返回; 密文解密單元,用于數(shù)據(jù)使用者根據(jù)所述私鑰對(duì)所述檢索結(jié)果進(jìn)行解密,得到解密結(jié) 果。6. 如權(quán)利要求5所述的系統(tǒng),其特征在于,所述加密存放單元中,以Kj表示所述私鑰, 表示所述關(guān)鍵詞,記Kj與的維數(shù)均為η,Ρ?!贡硎舅雒芪?,則: 示復(fù)數(shù)中的虛數(shù)單位;表示所述關(guān)鍵詞Mj的第i個(gè)分量,表示所述私鑰Kj的第i個(gè)分量。7. 如權(quán)利要求5所述的系統(tǒng),其特征在于,以K。所示所述私鑰的相反偏移量,以所述關(guān) 鍵詞為檢索關(guān)鍵字,以Keyj表示所述檢索關(guān)鍵字,以ID表示所述身份標(biāo)識(shí)符,以P。」表示所述 密文,則; 所述加密檢索單元具體用于: 首先,生成所述私鑰的相反偏移量f」,根據(jù)所述私鑰的相反偏移量f」對(duì)所述檢索關(guān)鍵 字Keyj進(jìn)行加密,記f j與Keyj的維數(shù)均為η,則:其中:若Keyi,」=10〉,則Encrypt!;-!^」,Keyi,j) =Ry(O) · i,j);否則,Encrypt(-K'j,Keyi,j)=Ry(V2) · Ry(-0,i,j);中0e [〇,2π),矩陣Y中的i表示復(fù)數(shù)中的虛數(shù)單位;Keyi, j表示Keyj的第i個(gè)分量;θ' i,j表示 f j的第i個(gè)分量; 其次,根據(jù)所述身份標(biāo)識(shí)符在所述索引表中查找到同一用戶的密文,然后根據(jù)加密后 的檢索關(guān)鍵字利用量子同態(tài)特征來檢索查找到的密文,即:最后,檢索查找到的密文中是否包含有檢索關(guān)鍵字Keyj的密文Pcj,若檢索到包含檢索 關(guān)鍵字的關(guān)鍵字Keyj的密文Ρ?!?,則將檢索到的密文作為檢索結(jié)果并返回所述檢索結(jié)果;BP:,則表示檢索到包含關(guān)鍵字Ke5^的密文夂?并將密文 &返回。8. 如權(quán)利要求5所述的系統(tǒng),其特征在于,在所述密文解密單元中,以Cj表示所述檢索結(jié) 果,M ^表示所述解密結(jié)果,記與的維數(shù)均為η,則:的i表示復(fù)數(shù)中的虛數(shù)單位;M' i, j表示消息M' j的第i個(gè)分量。
【文檔編號(hào)】H04L29/06GK105933281SQ201610188883
【公開日】2016年9月7日
【申請(qǐng)日】2016年3月29日
【發(fā)明人】張鵬, 孫小強(qiáng), 劉宏偉, 喻建平
【申請(qǐng)人】深圳大學(xué)