• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于國密SM9 的可搜索加密方案

      2022-07-14 13:17:08張超彭長根丁紅發(fā)許德權(quán)
      計算機工程 2022年7期
      關(guān)鍵詞:敵手密文加密

      張超,彭長根,3,丁紅發(fā),許德權(quán)

      (1.貴州大學(xué)計算機科學(xué)與技術(shù)學(xué)院 公共大數(shù)據(jù)國家重點實驗室,貴陽 550025;2.貴州大學(xué) 密碼學(xué)與數(shù)據(jù)安全研究所,貴陽 550025;3.貴州大學(xué) 貴州省大數(shù)據(jù)產(chǎn)業(yè)應(yīng)用發(fā)展研究院,貴陽 550025;4.貴州財經(jīng)大學(xué) 信息學(xué)院,貴陽 550025)

      0 概述

      云存儲技術(shù)的快速發(fā)展使得人們存儲、管理大量數(shù)據(jù)更加便捷,但是數(shù)據(jù)面臨泄露風(fēng)險。為保護云服務(wù)器中的數(shù)據(jù)隱私,云存儲技術(shù)通常對原始數(shù)據(jù)進行加密,把加密后的密文數(shù)據(jù)上傳至云服務(wù)器,但是會給使用數(shù)據(jù)的用戶帶來不便。例如,當(dāng)用戶需要檢索數(shù)據(jù)時,需要將全部密文數(shù)據(jù)下載到本地,在本地解密之后再執(zhí)行檢索操作。為更好地解決云數(shù)據(jù)的安全問題,可搜索加密(Searchable Encryption,SE)技術(shù)應(yīng)運而生,并得到研究人員的廣泛關(guān)注。SE 技術(shù)允許云服務(wù)器在密文場景下進行安全檢索,并將滿足檢索條件的密文數(shù)據(jù)返回給用戶,最后由用戶在本地將檢索結(jié)果解密,從而獲得自己需要的明文數(shù)據(jù)。

      本文結(jié)合SM9 算法構(gòu)造基于身份的可搜索加密方案。根據(jù)非對稱雙線性對的特性,同時結(jié)合SM9加密算法的密鑰形式,設(shè)計相應(yīng)的索引生成算法、陷門生成算法和服務(wù)器檢索匹配算法?;诳勺C明安全理論,驗證該方案在隨機諭言模型下滿足密文不可區(qū)分性和陷門不可區(qū)分性。

      1 相關(guān)工作

      文獻[1]首次提出對稱可搜索加密(Symmetric Searchable Encryption,SSE)的概念,解決在密文環(huán)境下的搜索難題,實現(xiàn)了在對稱密碼體制下密文的搜索。文獻[2]基于布隆過濾器(Bloom Filter,BF)[3]設(shè)計滿足安全索引的SSE 方案,將檢索的時間復(fù)雜度改進為與文檔的數(shù)目呈線性關(guān)系。SSE 的計算效率較高,適用于大部分第三方存儲。文獻[4]提出公鑰可搜索加密(Public-key Encryption with Keyword Search,PEKS)方案,并基于文獻[5]利用雙線性對設(shè)計一個具體構(gòu)造,適用于復(fù)雜的加密環(huán)境。PEKS 不用在發(fā)送者與接收者之間建立安全信道,因其實用性較強,而得到快速發(fā)展,其中基于身份加密的可搜索加密減少了建立和維護公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)的開銷,因此成為該領(lǐng)域的研究熱點。

      文獻[6]提出帶關(guān)鍵字搜索的基于身份加密(Identity-Based Encryption with Keyword Search,IBEKS)方案,并給出一般化的轉(zhuǎn)換方法,將任意的選擇明文攻擊模式下不可區(qū)分安全且匿名的IBE 方案轉(zhuǎn)換為選擇明文攻擊模式下不可區(qū)分安全的PEKS 方案。文獻[7]提出一種基于身份的關(guān)鍵字搜索加密方案,不需要安全通道,但要求服務(wù)器是可信的。文獻[8]提出帶關(guān)鍵字搜索的閾值公鑰加密(Threshold Public-key Encryption with Keyword Search,TPEKS)和帶分布式私鑰生成器的基于身份匿名加密。文獻[9]提出模糊關(guān)鍵詞檢索,可以防范內(nèi)部敵手和外部敵手的關(guān)鍵詞猜測攻擊。文獻[10]提出指定服務(wù)器的帶關(guān)鍵字搜索的基于身份加密方案,該方案不需要額外的安全信道。文獻[11]對可搜索加密進行探討和總結(jié)。文獻[12]提出一種具有隱藏結(jié)構(gòu)的可搜索公鑰密文(Searchable Public-key Ciphertexts with Hidden Structure,SPCHS),提高了關(guān)鍵字搜索效率。文獻[13]對加密數(shù)據(jù)的關(guān)鍵字搜索技術(shù)進行研究,并對他們的效率和安全性進行分析。文獻[14]提出基于公鑰并且?guī)矸蒡炞C功能的PEAKS 方案。文獻[15]結(jié)合格理論提出一種基于身份的可搜索加密方案,可以抵抗量子計算機的攻擊。文獻[16]設(shè)計基于身份的關(guān)鍵詞可搜索加密的廣播加密方案,以防范內(nèi)部敵手的攻擊。文獻[17]提出基于身份的指定服務(wù)器用于加密郵件的可搜索認證加密方案。文獻[18]提出支持代理重加密的基于身份可搜索加密方案,支持搜索權(quán)限的高效共享。文獻[19]提出基于身份的動態(tài)可搜索加密方案,可以刪除指定身份的文件。文獻[20]提出在電子郵件系統(tǒng)中指定服務(wù)器的關(guān)鍵字搜索加密方案。文獻[21]提出一種基于生物識別身份的多關(guān)鍵字搜索(Biometric Identity-Based Multi-Keyword Search,BIBMKS)機制。文獻[22]提出身份認證權(quán)威輔助的基于身份可搜索加密,在保持效率和安全性的同時,減少存儲空間的開銷。

      上述方案為達到一定的安全級別,多是基于安全參數(shù)較大的對稱雙線性對,且在方案中多次使用雙線性對運算,導(dǎo)致方案的計算效率降低。因此,通過優(yōu)化方案設(shè)計,提高可搜索加密方案的檢索效率和安全性成為研究熱點。

      從國家信息安全方面考慮,發(fā)展我國自己的加密算法勢在必行。2016 年,基于身份的SM9 密碼算法為國家商用密碼行業(yè)標(biāo)準(GM/T 0044—2016),并于2018 年11 月被納入國際標(biāo)準。SM9 密碼算法的密鑰長度為256 bit,采用運算速度快、安全性能高的R-ate 雙線性對[23],可以有效減少Miller 算法循環(huán)次數(shù),提高計算效率。近年來,SM9 密碼算法作為基于身份的密碼算法,受到越來越多的關(guān)注。

      SM9 密碼算法使用安全參數(shù)較小的非對稱雙線性對,用戶的公私鑰分別在兩個循環(huán)群中產(chǎn)生,而現(xiàn)有的可搜索加密方案大多通過安全參數(shù)較大的對稱雙線性對來實現(xiàn),計算效率相對較低[24]。由于用戶密鑰的形式不同,因此現(xiàn)有的可搜索加密方案并不能很好地與SM9 密碼算法相結(jié)合。

      SM9 密碼算法在郵件系統(tǒng)、數(shù)據(jù)安全傳輸協(xié)議、物聯(lián)網(wǎng)安全平臺等場景中都有重要的應(yīng)用,但由于缺少適應(yīng)性強的可搜索加密方案,用戶難以對這些加密數(shù)據(jù)進行檢索,導(dǎo)致這些系統(tǒng)中的加密數(shù)據(jù)可用性較低。此外,通過為每個用戶提供一對額外的密鑰,以實現(xiàn)可搜索加密,但繁瑣的操作流程會給用戶的使用帶來不便。為解決該問題,結(jié)合以上對SM9 密碼算法的分析,本文設(shè)計基于SM9 密碼算法的可搜索加密(SM9-based Searchable Encryption,SM9SE)方案。方案中用戶的公私鑰對分別在不同的子群中生成,其形式與SM9 密碼算法的密鑰對一致,因此用戶可以用同一對密鑰完成數(shù)據(jù)的加解密和密文檢索操作,并且使用系統(tǒng)參數(shù)相對較小的非對稱雙線性對運算,從而提高計算效率。

      2 基礎(chǔ)知識

      2.1 雙線性對

      假設(shè)n為正整數(shù),(G1,+)和(G2,+)是兩個n階加法循環(huán)群,其零元分別記作O1和O2。又設(shè)(GT,g)為n階乘法循環(huán)群,其單位元記為1T。假設(shè)在群G1,G2,GT上計算離散對數(shù)是困難的。

      2.2 基于雙線性對的困難性問題及假設(shè)

      DBDH 假設(shè):對于任何一個概率多項式時間敵手A,解決DBDH 問題的概率都是可忽略的,即Pr[0 ←A(Y)|β=0]-Pr[0 ←A(Y)|β=1]是可忽略的。

      3 方案構(gòu)造與安全模型

      3.1 方案構(gòu)造

      本文方案使用的橢圓曲線及曲線參數(shù)與SM9 加密算法中所使用的參數(shù)一致。

      本文SM9SE 方案由系統(tǒng)參數(shù)初始化算法、密鑰生成算法、索引生成算法、陷門生成算法和檢索匹配算法構(gòu)成。

      1)系統(tǒng)參數(shù)初始化算法SysSetup(λ),輸入安全參數(shù)λ以生成一個基于循環(huán)群上的雙線性對映射(G1?G2)→GT,其中群G1、G2和GT的階為大素數(shù)q。PKG 隨機選擇整數(shù)s?[1,q-1]作為系統(tǒng)主密鑰保密存儲,然后計算系統(tǒng)公鑰Ppub=sP1,P1為循環(huán)群G1的生成元,P2為循環(huán)群G2的生成元。此外,PKG 選擇三個哈希函數(shù)。系統(tǒng)主密鑰對為(s,Ppub),系統(tǒng)公共參數(shù)為

      2)密鑰生成算法UserKeyGen(ID,s),對于用戶A的唯一身份標(biāo)識IDA,以及系統(tǒng)主私鑰s,PKG 在有限域FN上計算t1=H1(IDA)+s。若t1=0 則重新計算系統(tǒng)主密鑰并更新已有用戶的私鑰,否則計算t2=s×

      用戶私鑰dA=[t2]P2,用戶公鑰的計算方法為QA=[H1(IDA)]P1+Ppub=[t1]P1。

      3)索引生成算法BuildIndex(IDR,w),對于接收者R 的唯一身份標(biāo)識IDR以及關(guān)鍵字w。該算法隨機選擇r?[1,q-1],計算并生成關(guān)鍵字對應(yīng)的密文索引I=(I1,I2,I3),并將其發(fā)送給服務(wù)器。其中

      4)陷門生成算法Trapdoor(w′,dR),文件接收者R運行該算法以生成檢索陷門,輸入要搜索的關(guān)鍵字w′和其私鑰dR。該算法選擇隨機數(shù)t?[1,q-1],然后計算陷門信息T=(T1,T2),并將其發(fā)送給服務(wù)器,其中T1=[t]Ppub,T2=[H2(w′)-t]?dR,并且H2(w′)-t≠0,否則重新選取t。

      5)檢索匹配算法Test(I,T),由服務(wù)器執(zhí)行,給定安全密文索引I=(I1,I2,I3)和陷門T=(T1,T2),服務(wù)器執(zhí)行該算法來判斷接收到的陷門信息與其存儲的關(guān)鍵詞密文索引信息是否能正確匹配。如果匹配,則返回密文文件,若則匹配成功。

      3.2 安全模型

      本節(jié)通過以下兩個游戲來刻畫本文方案在面對內(nèi)部敵手的離線關(guān)鍵詞猜測攻擊(Keyword Guessing Attack,KGA)時的語義安全。由于內(nèi)部敵手所獲取的信息大于等于任意外部敵手所能獲取的信息,因此不再考慮外部敵手。這兩個游戲均由敵手A 和挑戰(zhàn)者B 交互完成。游戲1 是密文不可區(qū)分性游戲,游戲2 是陷門不可區(qū)分性游戲。

      3.2.1 密文不可區(qū)分性游戲

      在密文不可區(qū)分性游戲中,假設(shè)半誠實服務(wù)器就是敵手A,它會誠實執(zhí)行用戶預(yù)設(shè)的操作,但是會嘗試獲取用戶數(shù)據(jù)的信息。密文不可區(qū)分性旨在防止敵手分辨出某個給定的密文是從兩個選定的關(guān)鍵詞(由敵手自己選定)中的哪一個加密而來,即密文不可區(qū)分性可以保證服務(wù)器在沒有獲得用戶授權(quán)的情況下無法私自對密文進行檢索操作。

      1)初始化。挑戰(zhàn)者B 生成系統(tǒng)的公共參數(shù)Params 和主私鑰s,以及各個用戶的私鑰,然后將系統(tǒng)的公共參數(shù)Params 發(fā)送給敵手A。

      2)詢問階段1。敵手A 可以適應(yīng)性地向如下的隨機諭言機進行多項式時間次的詢問,以獲得用戶的私鑰、密文索引和陷門密文信息。其中,“適應(yīng)性”是指敵手A 每次的詢問都會根據(jù)當(dāng)前已知的信息來決定應(yīng)該詢問的信息。挑戰(zhàn)者B 運行隨機諭言機,并按如下規(guī)則返回詢問結(jié)果:(1)Hash 諭言機OH,對于給定的輸入值,給敵手A 返回其哈希值;(2)密鑰諭言機OE,對于指定的用戶,給敵手A 返回該用戶的密鑰;(3)索引諭言機OC,給定關(guān)鍵詞及接收方ID,給敵手A 返回其對應(yīng)的密文索引;(4)陷門諭言機OT,給定一個關(guān)鍵詞,計算并給敵手A 返回其對應(yīng)的陷門。

      3)挑戰(zhàn)。敵手A 向挑戰(zhàn)者B 聲明一個發(fā)送者的身份標(biāo)識ID*,并將其作為挑戰(zhàn),然后選擇兩個長度相等的挑戰(zhàn)關(guān)鍵字(w0,w1)。挑戰(zhàn)者B 隨機選擇β?{0,1},根據(jù)選擇結(jié)果,運行索引生成算法BuildIndex(IDR,wβ),生成密文索引Iβ,并將其發(fā)送給敵手A。

      4)詢問階段2。敵手A 繼續(xù)向各個隨機諭言機進行詢問,該階段的詢問與詢問階段1 相同。

      5)猜測。敵手A 輸出一個字節(jié)β′?{0,1}作為對關(guān)鍵字wβ的猜測,假如β=β′,則敵手A 贏得游戲。前提是敵手沒有詢問過ID*對應(yīng)的私鑰,也沒有詢問過與身份ID*對應(yīng)的關(guān)鍵字w0和w1的陷門密文信息及索引密文信息。

      敵手A 在該游戲中的優(yōu)勢定義為:

      3.2.2 陷門不可區(qū)分性游戲

      與游戲1 相似,游戲2 仍然假設(shè)半誠實服務(wù)器是敵手A。陷門不可區(qū)分性旨在防止敵手A 從一個給定的陷門信息中獲取其對應(yīng)關(guān)鍵詞的信息。陷門不可區(qū)分性保證即使是服務(wù)器本身,也無法生成針對某接收者的有效密文。

      1)初始化。與游戲1 的初始化相同。

      2)詢問階段1。與游戲1 的詢間階段1 相同。

      3)挑戰(zhàn)。敵手A 向挑戰(zhàn)者B 聲明一個發(fā)送者的身份標(biāo)識ID*作為挑戰(zhàn),并選擇兩個長度相等的挑戰(zhàn)關(guān)鍵字(w0,w1),挑戰(zhàn)者B 隨機選擇β?(0,1),并根據(jù)選擇結(jié)果,運行陷門生成算法Trapdoor(wβ,dR),生成陷門Tβ,并將其發(fā)送給敵手A。

      4)詢問階段2。與游戲1 中的詢問階段2 相同。

      5)猜測。敵手A 輸出一個字節(jié)β′?(0,1),作為對關(guān)鍵字wβ的猜測,假如β=β′,則敵手A 贏得游戲。限制條件與游戲1 相同。

      敵手A 在該游戲中的優(yōu)勢定義為:

      4 方案分析與證明

      4.1 正確性分析

      本文根據(jù)雙線性對的性質(zhì)來驗證本文方案的正確性。

      定義2假設(shè)在本文方案中所有密文索引和陷門都是按照正確的步驟生成,且在傳輸過程中未遭到惡意攻擊,數(shù)據(jù)沒有被篡改。方案正確性是指當(dāng)用戶向服務(wù)器發(fā)送包含關(guān)鍵詞w′的檢索陷門時,服務(wù)器運行檢索匹配算法,以正確匹配到包含該關(guān)鍵詞的密文索引,從而返回包含該關(guān)鍵詞的密文文件。

      假設(shè)用戶ID′的公私鑰對為用戶ID′為關(guān)鍵詞w′生成的陷門[H2(w′)-t′]?d′)。當(dāng)服務(wù)器運行檢索匹配算法并逐個對比密文索引,由雙線性對的性質(zhì)可知:

      則服務(wù)器可以正確匹配到密文索引,正確性成立。

      4.2 安全性證明

      本文SM9SE 方案在隨機諭言模型下滿足適應(yīng)性密文不可區(qū)分性以及適應(yīng)性陷門不可區(qū)分性。具體證明過程如下:

      證明若挑戰(zhàn)者B 解決一個DBDH 實例元組Y=(G1,G2,GT,q,P1,[x]P1,[y]P1,P2,[y]P2,[z]P2,Z),則挑戰(zhàn)者B 按如下過程與敵手A 進行密文不可區(qū)分性游戲。

      2)詢問階段1。敵手A 適應(yīng)性地詢問由挑戰(zhàn)者B模擬的隨機諭言機,假設(shè)敵手A 不會對同一個隨機諭言機進行相同詢問,并且在向H1詢問ID 值之前不會對ID 做任何計算。隨機諭言機主要有以下6 個:

      4)詢問階段2。與詢問階段1 相同。

      證明當(dāng)敵手A2和挑戰(zhàn)者B 進行密文不可區(qū)分性游戲時,在挑戰(zhàn)階段,敵手A2可將挑戰(zhàn)者B 返回的挑戰(zhàn)密文發(fā)送給敵手A1,若敵手A1猜測的結(jié)果為敵手A2挑選的關(guān)鍵詞之一,則敵手A2向挑戰(zhàn)者B 輸出對應(yīng)的結(jié)果作為猜測,否則隨機輸出猜測結(jié)果。可知敵手A2的優(yōu)勢為:

      該證明與定理1 矛盾。因此,如果DBDH 假設(shè)成立,則不存在敵手能以不可忽略的優(yōu)勢對SM9SE方案發(fā)起離線關(guān)鍵詞猜測攻擊。

      5 仿真實驗與分析

      5.1 效率分析

      本文將SM9SE 方案與其他現(xiàn)有的基于身份可搜索加密方案進行對比分析。本文在同一標(biāo)準下將EdIBEKS方案[10]、PEAKS方案[14]以及dIBAEKS 方案[17]進行效率分析?;谖墨I[25]中的定義,表1定義了若干不同符號及其換算方法。

      表1 符號定義與換算Table 1 Symbol definition and conversion

      EdIBEKS方案、PEAKS 方案以及dIBAEKS 方案所有的運算都建立在對稱雙線性對上,使用的曲線為嵌入度2,以1 024 bit 的大素數(shù)p為階的超奇異橢圓曲線E(Fp):y2=x3+x。本文方案的運算建立在非對稱雙線性對上,使用的曲線為嵌入度12,階為256 bit 的大素數(shù)p的BN 曲線E:y2=x3+5。以上選擇參數(shù)能夠確保所有方案都可以實現(xiàn)與2 048 bit 的RSA 密鑰相當(dāng)?shù)陌踩墑e。表2 表示不同方案的安全性假設(shè)、安全級別及其參數(shù)大小,以及本文方案與其他基于身份可搜索加密方案中用戶執(zhí)行一次索引生成算法、陷門生成算法和服務(wù)器執(zhí)行一次檢索匹配算法所需要執(zhí)行的操作,其中忽略了方案中都存在的哈希函數(shù)運算。當(dāng)計算橢圓曲線上的雙線性對時,曲線的嵌入次數(shù)越多,計算越復(fù)雜,因此安全性也更高。相比其他方案采用嵌入度為2 的超奇異橢圓曲線,本文方案采用嵌入度為12 的BN 曲線,因此本文方案的安全性優(yōu)于其他方案。由于BN 曲線的雙線性對具有友好性[26],在BN 曲線上計算雙線性對更加高效。從表2 可以看出,本文SM9SE 方案在保證計算效率的前提下,采用更小的安全參數(shù)實現(xiàn)與其他方案同等的安全級別,并且在索引生成算法上的效率優(yōu)于其他三個方案,在陷門生成算法上的效率優(yōu)于PEAKS 方案和dIBAEKS 方案,與EdIBEKS方案持平,都需要一次雙線性對運算。由于本文方案采用參數(shù)更小的BN 曲線,因此計算效率會更高,檢索匹配算法的效率優(yōu)于EdIBEKS 方案和dIBAEKS 方案,與PEAKS 方案持平,都需要兩次雙線性對運算和一次橢圓曲線標(biāo)量點乘法運算。由于本文方案采用參數(shù)更小的BN 曲線,因此計算效率會更高。因此,本文方案的總體性能優(yōu)于其他方案。

      表2 不同方案的計算效率與安全性對比Table 2 Computational efficiency and security comparison among different schemes

      5.2 仿真結(jié)果分析

      本文對EdIBEKS、PEAKS、dIBAEKS 和SM9SE方案進行仿真實驗,在2.40 GHz 的4 核64 位Intel?CoreTMi5-10200H 處理 器、8 GB 內(nèi)存(RAM)、Windows 10 操作系統(tǒng)的實驗環(huán)境進行實驗,以myeclipse 10 作為實驗平臺、Java 作為實驗編程語言,對各方案的索引生成算法、陷門生成算法和匹配檢索算法進行模擬運行。本文首先使用不同長度的關(guān)鍵詞對各個方案進行模擬運行,以分析關(guān)鍵詞長度對各方案效率的影響,然后分別抽取Enron 郵件數(shù)據(jù)集中的部分數(shù)據(jù)和Kaggle 郵件數(shù)據(jù)集中的部分數(shù)據(jù)作為測試輸入,使用不同數(shù)量的關(guān)鍵詞進行對比實驗。關(guān)鍵詞長度對各方案的算法運行時間的影響如圖1 所示。

      圖1 關(guān)鍵詞長度對各方案中算法運行時間的影響Fig.1 Influence of keyword length on the running time of algorithms in each schemes

      從圖1 可以看出,關(guān)鍵詞長度對各算法運行效率的影響較?。P(guān)鍵詞長度影響哈希函數(shù)運行時間,但哈希運算速度極快),略受各算法所選擇的隨機數(shù)影響,但總體運行時間較為平穩(wěn)。

      圖2 表示各個方案中索引生成算法的運行時間,其中橫坐標(biāo)是關(guān)鍵詞的個數(shù),縱坐標(biāo)為建立索引所需要的時間。從圖2 可以看出,SM9SE 方案在索引生成算法上的運行效率優(yōu)于其他三種方案。SM9SE 方案生成一個密文索引的平均時間在8 ms左右,而其他方案的密文索引時間則在35~68 ms 之間。因此,本文方案在索引生成算法上的效率相比其他三種方案提高了77%以上。

      圖2 索引生成算法的運行時間對比Fig.2 Comparison of running time of index generation algorithms

      圖3 表示在各個方案中陷門生成算法的運行時間對比,其中橫坐標(biāo)是關(guān)鍵詞的個數(shù),縱坐標(biāo)為生成檢索陷門所需要的時間。從圖3 可以看出,SM9SE 方案在陷門生成算法上的運行效率也優(yōu)于其他三種方案。其他三種方案生成一個陷門的運行時間平均為30~53 ms 之間,而SM9SE 方案生成一個陷門的平均時間在25 ms 左右,效率提高了16.67%以上。

      圖3 陷門生成算法的運行時間對比Fig.3 Comparison of running time of trapdoor generation algorithms

      圖4 表示在各個方案中檢索匹配算法所運行的時間,其中橫坐標(biāo)是密文索引的個數(shù),縱坐標(biāo)為所有密文索引的運行時間。從圖4 可以看出:SM9SE 方案單次檢索匹配算法的平均運行時間為18 ms 左右;dIBAEKS 方案的單次檢索匹配算法的平均運行時間為53 ms 左右;PEAKS 方案和EdIBEKS 方案的單次檢索匹配算法的平均運行時間在25~45 ms 之間。因此,SM9SE 方案的檢索匹配算法運行效率相對其他三種方案提高了28%以上。

      圖4 檢索匹配算法的運行時間對比Fig.4 Comparison of running time of retrieval matching algorithms

      圖5表示在不同方案中各個算法的平均運行時間。從圖5 可以看出,本文方案執(zhí)行一次索引生成算法、陷門生成算法和檢索匹配算法的全過程所需要的平均時間總和為52 ms,其他三種方案則在105~168 ms之間。相比其他三種方案,本文方案的總體效率提高了50.4%以上。

      圖5 各個算法的平均運行時間對比Fig.5 Comparison of average running time of each algorithms

      6 結(jié)束語

      針對現(xiàn)有基于身份的可搜索加密方案計算效率低、與SM9 密碼算法難以結(jié)合等問題,本文提出一種基于SM9 密碼算法的可搜索加密方案。根據(jù)非對稱雙線性對的性質(zhì),結(jié)合SM9 加密算法的密鑰形式,設(shè)計索引生成算法、陷門生成算法和服務(wù)器檢索匹配算法,并驗證方案的正確性和安全性。該方案在隨機諭言模型下滿足適應(yīng)性密文不可區(qū)分性和適應(yīng)性陷門不可區(qū)分性。仿真結(jié)果表明,相比EdIBEKS、PEAKS、dIBAEKS 方案,本文方案具有較高的計算效率,能夠?qū)崿F(xiàn)可搜索加密與國家商用密碼算法SM9 的結(jié)合,并擴展了SM9 密碼算法的應(yīng)用。下一步將在本文方案中增加指定身份檢索、身份驗證等更靈活的功能,使其適用于較復(fù)雜的應(yīng)用場景。此外,還將在安全索引中嵌入數(shù)據(jù)發(fā)送者的私鑰,并在陷門中嵌入發(fā)送者的公鑰,通過設(shè)計相應(yīng)的匹配算法實現(xiàn)精確檢索目標(biāo)文件的功能。

      猜你喜歡
      敵手密文加密
      一種針對格基后量子密碼的能量側(cè)信道分析框架
      一種支持動態(tài)更新的可排名密文搜索方案
      基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯恢復(fù)
      一種基于熵的混沌加密小波變換水印算法
      不帶著怒氣做任何事
      認證加密的研究進展
      云存儲中支持詞頻和用戶喜好的密文模糊檢索
      基于ECC加密的電子商務(wù)系統(tǒng)
      基于格的公鑰加密與證書基加密
      不帶著怒氣作戰(zhàn)
      万山特区| 开封市| 元江| 江门市| 内丘县| 三穗县| 塘沽区| 英吉沙县| 汕头市| 清镇市| 新巴尔虎左旗| 靖江市| 新巴尔虎右旗| 江川县| 通渭县| 华容县| 临邑县| 七台河市| 新密市| 辽源市| 晋州市| 汶川县| 巴马| 工布江达县| 广平县| 运城市| 万全县| 平武县| 汽车| 安图县| 璧山县| 邯郸县| 延川县| 新源县| 麟游县| 麻栗坡县| 洱源县| 仲巴县| 盐山县| 二手房| 荆门市|