本發(fā)明涉及云計(jì)算安全技術(shù)領(lǐng)域,特別是一種可搜索圖像加密算法。
背景技術(shù):
云計(jì)算代表了IT領(lǐng)域迅速向集約化、規(guī)?;c專業(yè)化道路發(fā)展的趨勢(shì),已成為產(chǎn)業(yè)界、學(xué)術(shù)界、政府等各界共同關(guān)注的焦點(diǎn)。云計(jì)算平臺(tái)具有高可靠性、更強(qiáng)的處理能力和更大的存儲(chǔ)空間、可平滑遷移、可彈性伸縮等特性,可以為一切上層應(yīng)用服務(wù)提供底層的支撐基礎(chǔ)架構(gòu),它將是解決大規(guī)模數(shù)據(jù)處理的重要工具。
云計(jì)算最基本的數(shù)據(jù)處理服務(wù)就包含了安全、高效的數(shù)據(jù)檢索等。在云計(jì)算環(huán)境下,資源受限的用戶可以通過付費(fèi)的方式購買云計(jì)算平臺(tái)提供的強(qiáng)大的計(jì)算資源來對(duì)自身無法處理的數(shù)據(jù)進(jìn)行遠(yuǎn)程處理,從而減輕用戶對(duì)資源的維護(hù)與管理的負(fù)擔(dān)。然而,在外包數(shù)據(jù)處理過程中,由于云服務(wù)器不是完全可信的,為了保證敏感信息的隱私,數(shù)據(jù)上傳之前必須對(duì)敏感信息進(jìn)行加密。數(shù)據(jù)加密雖然能解決一些安全問題,同時(shí)也帶來了一些新的問題。
在外包數(shù)據(jù)庫中,數(shù)據(jù)擁有者將加密后的密文信息存儲(chǔ)到服務(wù)器上,然而加密后的圖像對(duì)后期的檢索帶來了很多的困難。
這樣,傳統(tǒng)的明文信息檢索算法不再適用。在這些外包存儲(chǔ)的信息中,圖像信息所占的比例相對(duì)較多(圖像信息的存儲(chǔ)相對(duì)文本信息的存儲(chǔ)需要更大的存儲(chǔ)空間)。對(duì)于圖像檢索,方案有很多,但幾乎都是對(duì)明文圖片進(jìn)行搜索的。對(duì)密文圖像檢索的方案還相當(dāng)?shù)纳?。然而在現(xiàn)有方案中,大多數(shù)方案都是基于同態(tài)加密技術(shù)的,其效率很低,難以應(yīng)用到現(xiàn)實(shí)生活中。
圖像檢索應(yīng)用廣泛,特別是在醫(yī)療系統(tǒng)中。為了保護(hù)用戶信息的隱私性,存放在云服務(wù)器的圖像都需要轉(zhuǎn)換成密文形式。很多時(shí)候,醫(yī)生要研究相似病例的時(shí)候,就需要查詢相關(guān)的類似圖像。然而在查詢過程中,需要對(duì)圖像的信息進(jìn)行保密。因此,針對(duì)密文環(huán)境下的相似圖像的高效檢索算法的研究顯得十分重要。目前對(duì)密文圖像檢索的方法還相當(dāng)?shù)纳佟?/p>
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:針對(duì)上述存在的問題,提供了一種可搜索圖像加密算法。
本發(fā)明采用的技術(shù)方案如下:一種可搜索圖像加密算法,具體包括以下過程:步驟1、圖像擁有者執(zhí)行的概率算法來建立系統(tǒng)輸出公鑰PK和私鑰SK;步驟2、圖像擁有者提取圖像的特征向量,根據(jù)特征向量建立索引;步驟3、圖像擁有者加密圖像,并將加密后的圖像以及與圖像相關(guān)的索引信息發(fā)送至云服務(wù)器;步驟4、用戶向圖像擁有者發(fā)送查詢請(qǐng)求,得到授權(quán)的查詢信息;步驟5、云服務(wù)器根據(jù)索引分析查詢信息,將滿足查詢信息的檢索結(jié)果集發(fā)送給用戶;步驟6、用戶向圖像擁有者請(qǐng)求檢索結(jié)果集的解密,圖像擁有者將解密結(jié)果發(fā)送給用戶。
進(jìn)一步的,所述步驟1的具體過程為:步驟11、圖像擁有者生成限域g是限域的一個(gè)生成元;步驟12、圖像擁有者選取一個(gè)特征向量提取算法EA提取特征向量,選取一個(gè)局部敏感哈希函數(shù)LSH算法,選取一種圖像加密算法E以及相應(yīng)的解密算法De,選取一個(gè)抗碰撞的哈希函數(shù)H,并進(jìn)行初始化;步驟13、輸出私鑰sk和公鑰pk,所述公鑰的公開信息為
進(jìn)一步的,所述步驟2的具體過程為:步驟21、對(duì)于圖像mz圖像擁有者選擇特征向量提取算法提取每幅圖像的特征向量,獲得高維的特征向量{v″z};步驟22、圖像擁有者調(diào)用局部敏感哈希函數(shù)LSH算法對(duì)特征向量{v″z}作用,獲取低維特征向量vz=LSH(v″z);步驟23、圖像擁有者計(jì)算低維特征向量vz的向量長度lz;步驟24、圖像擁有者選擇一個(gè)隨機(jī)數(shù)隱藏低維特征向量vz為v′z=r1·vz;步驟25、將向量長度lz轉(zhuǎn)化為二進(jìn)制形式(bm-1,bm-2,…,b1,b0),其中m為大于1的自然數(shù),圖像擁有者選擇私鑰sk并產(chǎn)生dm=H(sk,(0,0κ,0))、di=H(sk,(1,di+1,bi)),其中i=m-1,…,0,κ是抗碰撞的哈希函數(shù)H作用后所得結(jié)果的長度,H為抗碰撞的哈希函數(shù),圖像擁有者輸出標(biāo)簽tokenz=(d0,d1,…,dm);步驟26、圖像擁有者隨機(jī)選擇并計(jì)算ci=H(di,T),其中i=m,…,0,獲取索引為I(mz)={T,{v′z},{ci}}。
進(jìn)一步的,所述特征向量提取算法采用EA函數(shù),輸入圖像mz,EA函數(shù)將輸出每幅圖像的特征向量{v″z}。
進(jìn)一步的,所述低維特征向量vz的維度低于50。
進(jìn)一步的,步驟3的具體過程為:圖像擁有者通過圖像加密算法E將圖像mz加密得到E(mz),計(jì)算圖像mz的相關(guān)信息密文為Dz={E(mz),I(mz)},并將相關(guān)信息密文發(fā)送至云服務(wù)器。
進(jìn)一步的,所述步驟4的具體過程為:步驟41、用戶選擇向量模長參數(shù)k1、比例參數(shù)k2和比例參數(shù)k3,其中k2、k3∈[0,1];步驟42、用戶調(diào)用EA函數(shù)對(duì)所需查詢的樣本圖像m作用,得到特征向量v;步驟43、選擇一個(gè)隨機(jī)數(shù)隱藏特征向量v為b=r2·v mod p,并計(jì)算特征向量v的長度l=|v|,將特征向量v的長度l轉(zhuǎn)化為二進(jìn)制形式(b′m-1,b′m-2,…,b′1,b′0);步驟44、用戶向圖像擁有者發(fā)送搜索請(qǐng)求,如果圖像擁有者同意請(qǐng)求,用戶將l發(fā)送給圖像擁有者,然后,圖像擁有者用自己的私鑰sk生成d′m=H(sk,(0,0κ,0)),di′=H(sk,(1,d′i+1,bi′)),其中i=m-1,…,0;步驟45、圖像擁有者輸出標(biāo)簽token′=(d′0,d′1,…,d′m)發(fā)送給用戶;步驟46、獲得查詢信息Q(v){k1,k2,k3,b,token′}。
進(jìn)一步的,所述步驟5的具體過程為:
步驟51、云服務(wù)器接受到用戶發(fā)送的查詢信息Q(v),所述查詢信息Q(v)將根據(jù)數(shù)據(jù)庫D={Dz}中的每個(gè)密文Dz的索引I(mz)={T,{v′z},{ci}}中的每個(gè)密文計(jì)算c′i=H(d′i,T),其中i=m,…,0;
步驟52、云服務(wù)器將倒序比較序列ci和c′i,直到第一對(duì)不同的ci和c′i出現(xiàn),此時(shí)序列號(hào)為j;
步驟53、令0≤j≤m-1,若
c′k=ck=H(dk,T)且cj=H(dj,T)≠c′j
成立,則低維特征向量vz的向量長度lz和特征向量v的長度l之間的差不會(huì)超過2j;
若c′k=H(dk,T)成立,則lz=l;
步驟54、當(dāng)2j≤k1,則云服務(wù)器計(jì)算
如果
云服務(wù)器將計(jì)數(shù)器ctz增加1,ctz的初始值為0;
步驟55、對(duì)于每幅圖像mz,云服務(wù)器計(jì)算其中nz表示圖像mz的特征向量的個(gè)數(shù),如果云服務(wù)器把E(mz)加入檢索結(jié)果集R中;
步驟56、云服務(wù)器將滿足搜索條件的檢索結(jié)果集R={E(mi)}發(fā)送給用戶。
與現(xiàn)有技術(shù)相比,采用上述技術(shù)方案的有益效果為:
(1)設(shè)計(jì)了圖像加密算法以及針對(duì)該類密文的檢索算法,實(shí)現(xiàn)將圖像擁有者信息以密文的方式儲(chǔ)存在云服務(wù)器上,增加了信息的隱私性,同時(shí)實(shí)現(xiàn)用戶在基于信息隱私的情況下查詢相關(guān)信息;
(2)對(duì)圖像的特征向量進(jìn)行了盲化隱藏,使得在外包搜索過程中不會(huì)泄漏特征向量的信息;
(3)對(duì)特征向量的大小進(jìn)行了加密,并且在向量大小進(jìn)行比較的時(shí)候不會(huì)泄漏相關(guān)信息;
(4)搜索過程中的部分參數(shù)是由用戶自行設(shè)置,用戶能根據(jù)自身需求對(duì)搜索范圍進(jìn)行調(diào)整。
具體實(shí)施方式
下面對(duì)本發(fā)明做進(jìn)一步描述。
為了更好的實(shí)現(xiàn)信息安全共享,本實(shí)施例提供了一種可搜索圖像加密算法,能在不泄漏圖像信息及其特征的前提下對(duì)密文圖像進(jìn)行檢索,并且用戶能自行調(diào)整搜索范圍。
一種可搜索圖像加密算法,具體包括以下過程:步驟1、圖像擁有者執(zhí)行的概率算法來建立系統(tǒng)輸出公鑰PK和私鑰SK;步驟2、圖像擁有者提取圖像的特征向量,根據(jù)特征向量建立索引;步驟3、圖像擁有者加密圖像,并將加密后的圖像以及與圖像相關(guān)的索引信息發(fā)送至云服務(wù)器;步驟4、用戶向圖像擁有者發(fā)送查詢請(qǐng)求,得到授權(quán)的查詢信息;步驟5、云服務(wù)器根據(jù)索引分析查詢信息,將滿足查詢信息的檢索結(jié)果集發(fā)送給用戶;步驟6、用戶向圖像擁有者請(qǐng)求檢索結(jié)果集的解密,圖像擁有者將解密結(jié)果發(fā)送給用戶。在上述過程中,圖像擁有者為了保護(hù)圖像的隱私信息,將圖像加密后存放到云服務(wù)器上,為了方便其他用戶對(duì)圖像進(jìn)行搜索,同時(shí)還建立索引信息上傳至服務(wù)器;用戶想查詢一些與圖像類似的圖像,他將圖像的相關(guān)信息進(jìn)行盲化,然后發(fā)送給云服務(wù)器,讓云服務(wù)器幫他搜索相關(guān)圖像;云服務(wù)器收到搜索請(qǐng)求后,對(duì)密文數(shù)據(jù)庫進(jìn)行檢索,將符合用戶檢索條件的密文圖像的檢索結(jié)果發(fā)送給用戶;用戶收到檢索結(jié)果后,請(qǐng)求圖像擁有者解密;最終,圖像擁有者將解密后的圖像發(fā)送給用戶。
所述步驟1的具體過程為:步驟11、圖像擁有者生成限域g是限域的一個(gè)生成元;步驟12、圖像擁有者選取一個(gè)特征向量提取算法EA提取特征向量,選取一個(gè)局部敏感哈希函數(shù)LSH算法,選取一種圖像加密算法E以及相應(yīng)的解密算法De,選取一個(gè)抗碰撞的哈希函數(shù)H,并進(jìn)行初始化;步驟13、輸出私鑰sk和公鑰pk,所述公鑰的公開信息為
所述步驟2的具體過程為:步驟21、對(duì)于圖像mz圖像擁有者選擇特征向量提取算法提取每幅圖像的特征向量,獲得高維的特征向量{v″z};步驟22、圖像擁有者調(diào)用局部敏感哈希函數(shù)LSH算法對(duì)特征向量{v″z}作用,獲取低維特征向量vz=LSH(v″z);步驟23、圖像擁有者計(jì)算低維特征向量vz的向量長度lz;步驟24、圖像擁有者選擇一個(gè)隨機(jī)數(shù)隱藏低維特征向量vz為v′z=r1·vz;步驟25、將向量長度lz轉(zhuǎn)化為二進(jìn)制形式(bm-1,bm-2,…,b1,b0),其中m為大于1的自然數(shù),圖像擁有者選擇私鑰sk并產(chǎn)生dm=H(sk,(0,0κ,0))、di=H(sk,(1,di+1,bi)),其中i=m-1,…,0,κ是抗碰撞的哈希函數(shù)H作用后所得結(jié)果的長度,H為抗碰撞的哈希函數(shù),圖像擁有者輸出標(biāo)簽tokenz=(d0,d1,…,dm);步驟26、圖像擁有者隨機(jī)選擇并計(jì)算ci=H(di,T),其中i=m,…,0,獲取索引為I(mz)={T,{v′z},{ci}}。
所述特征向量提取算法采用EA函數(shù),輸入圖像mz,EA函數(shù)將輸出每幅圖像的特征向量{v″z}。
所述低維特征向量vz的維度低于50。
步驟3的具體過程為:圖像擁有者通過圖像加密算法E將圖像mz加密得到E(mz),計(jì)算圖像mz的相關(guān)信息密文為Dz={E(mz),I(mz)},并將相關(guān)信息密文發(fā)送至云服務(wù)器。圖像擁有者的信息以密文的信息儲(chǔ)存在云服務(wù)器上。
所述步驟4的具體過程為:步驟41、用戶選擇向量模長參數(shù)k1、比例參數(shù)k2和比例參數(shù)k3,其中k2、k3∈[0,1];步驟42、用戶調(diào)用EA函數(shù)對(duì)所需查詢的樣本圖像m作用,得到特征向量v;步驟43、選擇一個(gè)隨機(jī)數(shù)隱藏特征向量v為b=r2·v mod p,并計(jì)算特征向量v的長度l=|v|,將特征向量v的長度l轉(zhuǎn)化為二進(jìn)制形式(b′m-1,b′m-x,…,b′1,b′0);步驟44、用戶向圖像擁有者發(fā)送搜索請(qǐng)求,如果圖像擁有者同意請(qǐng)求,用戶將l發(fā)送給圖像擁有者,然后圖像擁有者用自己的私鑰sk生成d′m=H(sk,(0,0κ,0)),d′i=H(sk,(1,d′i+1,b′i)),其中i=m-1,…,0;步驟45、圖像擁有者輸出標(biāo)簽token=(d′0,d′1,…,d′m)發(fā)送給用戶;步驟46、獲得查詢信息Q(v){k1,k2,k3,b,token′}。
所述步驟5的具體過程為:
步驟51、云服務(wù)器接受到用戶發(fā)送的查詢信息Q(v),所述查詢信息Q(v)將根據(jù)數(shù)據(jù)庫D={Dz}中的每個(gè)密文Dz的索引I(mz)={T,{v′z},{ci}}計(jì)算c′i=H(d′i,T),其中i=m,…,0;
步驟52、云服務(wù)器將倒序比較序列ci和c′i,直到第一對(duì)不同的ci和c′i出現(xiàn),此時(shí)序列號(hào)為j;
步驟53、令0≤j≤m-1,若
c′k=ck=H(dk,T)且cj=H(dj,T)≠c′j
成立,則低維特征向量vi的向量長度li和特征向量v的長度l之間的差不會(huì)超過2j;
在數(shù)據(jù)庫中的信息I(mz)={T,{v′z},{ci}},其中ci=H(di,T),dm=H(sk,(0,0κ,0)),di=H(sk,(1,di+1,bi));在用戶上傳信息中的標(biāo)簽token′=(d′0,d′1,…,d′m),其中d′m=H(sk,(0,0κ,0)),d′i=H(sk,(1,d′i+1,b′1))服務(wù)器計(jì)算c′i=H(d′i,T),并對(duì){ci}與{c′i}進(jìn)行比較;
如果li=l,則有bk=b′k;
如果li≠l,假設(shè)j<k≤m-1,有ck=c′k,但cj≠c′j,這樣j就是第一個(gè)不相等數(shù)值出現(xiàn)的腳標(biāo)。j<k≤m-1時(shí),有c′k=H(d′k,T)=ck=H(dk,T),則dk=d′k。而對(duì)于j,有dj≠d′j,dj+1=d′j+1;
由于di=H(sk,(1,di+1,bi)),d′i=H(sk,(1,d′i+1,b′i)),如果dj≠d′j,則說明j為第一次出現(xiàn)不相等情況,bj≠b′j;
因?yàn)閘z轉(zhuǎn)換為二進(jìn)制(bm-1,bm-2,…,b1,b0),l轉(zhuǎn)換為二進(jìn)制(b′m-1,b′m-2,…,b′1,b′0),因此他們之間的差就不會(huì)超過2j;
若c′k=H(dk,T)成立,則lz=l;
步驟54、當(dāng)2j≤k1,則云服務(wù)器計(jì)算
如果
云服務(wù)器將計(jì)數(shù)器ctz增加1,ctz的初始值為0;
步驟55、對(duì)于每幅圖像mz,云服務(wù)器計(jì)算其中nz表示圖像mz的特征向量的個(gè)數(shù),如果云服務(wù)器把E(mz)加入檢索結(jié)果集R中;
步驟56、云服務(wù)器將滿足搜索條件的檢索結(jié)果集R={E(mi)}發(fā)送給用戶。
本發(fā)明并不局限于前述的具體實(shí)施方式。本發(fā)明擴(kuò)展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。如果本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神所做的非實(shí)質(zhì)性改變或改進(jìn),都應(yīng)該屬于本發(fā)明權(quán)利要求保護(hù)的范圍。