本發(fā)明涉及云計算環(huán)境中圖像信息的安全技術(shù)領(lǐng)域。
背景技術(shù):
云存儲環(huán)境中,圖像所有者為了保證圖像信息的安全和自己的隱私,通常情況下選擇先將圖像加密后再上傳至云服務(wù)器,而服務(wù)器在不知道圖像信息的情況下,需要對圖像信息進行隱藏,接收方收到的是隱藏后包含嵌入信息的密文圖像,能夠提取信息并恢復(fù)原圖,所以在密文圖像信息隱藏需要進一步研究;并且這項研究在云計算環(huán)境下,對于信息的存儲和傳輸安全有很高的價值。
在現(xiàn)有技術(shù)中,有利用圖像像素之間的相關(guān)性,通過修改和壓縮LSB來實現(xiàn)信息嵌入,奇異值分解(SVD),能夠很好的表現(xiàn)出圖像內(nèi)的代數(shù)特性,在圖像處理中,特別是水印方面有很好的運用意義,比如有方法將奇異值分解結(jié)合離散小波變換,提出一種彩色圖像自適應(yīng)算法,對水印的透明性和魯棒性有很好的協(xié)調(diào)性;同時奇異值分解的精度比較高,本方法將其應(yīng)用到加密圖像的信息隱藏中,發(fā)明了一種云環(huán)境下,基于奇異值分解的圖像密文圖像信息隱藏方法。
技術(shù)實現(xiàn)要素:
本發(fā)明提出了加密圖像在云環(huán)境下的信息隱藏算法,本算法基于奇異值分解,云端執(zhí)行對密文圖像某些比特面的奇異值分解,并保存灰度字典,然后將數(shù)據(jù)嵌入到原來的比特面中來實現(xiàn)信息的隱藏。
本發(fā)明所采用的技術(shù)方案是:針對云環(huán)境下加密圖像的信息隱藏算法,過程如下:該方法分為密文圖像生成、圖像隱藏兩部分內(nèi)容,具體如下:圖像擁有者利用加密密鑰key1對圖像加密,密鑰自己保留,密文圖像上傳到云端信息隱藏模塊后密文圖像首先被分解為多層LSB層和MSB層,其中MSB層保留,LSB層進行奇異值分解,在分解后的矩陣中利用嵌入密鑰key2進行信息嵌入,然后在與MSB層合并形成嵌入信息后的密文圖像,實現(xiàn)信息的隱藏,然后這些包含了嵌入信息的密文圖像可以發(fā)送到接收者,再按照方案進行解密還原出原始圖像。
本發(fā)明的有益效果是:在云傳輸和云存儲環(huán)境下,在滿足隱藏信息視覺不可見性的要求下,本發(fā)明在高嵌入率下依然能保持還原圖像的低信噪比,嵌入量可以靈活調(diào)整,對于沒有或者部分持有加密密鑰和嵌入密鑰的瀏覽者,是無法恢復(fù)原始圖像信息的,也就是圖像所有者在不需要暴露加密密鑰的情況下,進行后續(xù)運算,充分保障了信息的隱私安全。
附圖說明
圖1表示信息隱藏流程圖
圖2表示圖像還原流程圖
具體實施方式
以下,結(jié)合附圖對本發(fā)明進行詳細說明。
一、密文圖像生成
設(shè)圖像F,其大小為m×n,F(xiàn)的像素點為F(i,j)在F的灰度圖像中,Bi,j有8個比特,分別為Bi,j,0、Bi,j,1、...、Bi,j,7,將其表示為:
其中k表示8個比特的位置信息,k=0,1,…,7
(1)、對圖像進行加密處理,使用加密密鑰key1產(chǎn)生長為m×n×8的偽隨機序列S:
0≤i≤m-1;0≤j≤n-1;
(2)、將圖像F的原始比特位和偽隨機序列進行異或運算:
將Ci,j,k轉(zhuǎn)換為十進制數(shù),得到加密后的密文圖像MF:
通過信道將密文圖像發(fā)送到云端服務(wù)器信息隱藏模塊,圖像所有者保留密鑰key1,由于云端沒有密鑰,所以無法得到原始圖像,隱私得到保障。
二、圖像隱藏
云端信息隱藏模塊在接收到密文圖像后,開始對圖像進行隱藏處理。
(1)、圖像分層
首先,將密文圖像按照最高和最低比特位分為三層(或者兩層,依據(jù)恢復(fù)圖像的信噪比要求選擇)LSB層和MSB層;MSB層暫時保留,不做處理;LSB層進行奇異值分解。
(2)、奇異值分解
將三層LSB層分為m×n大小的圖像塊(本方法為4×4大小),將每一塊Gi的三層LSB層轉(zhuǎn)化為十進制數(shù)中的0~7,得到一個4×4整數(shù)矩陣Pi,對矩陣進行奇異值分解:
得到Ui和矩陣,將他們作為原始密文矩陣Pi的恢復(fù)字典存儲在云端,由于云端沒有密文圖像的密鑰key1,所以不用進行加密。
由于奇異值矩陣Ei是對角矩陣,其中元素并不全為整數(shù),但是通過軟件分解出的酉矩陣精度達到0.001,取整后變化十分微小,所以對Ei取整;取整后得到E′i矩陣相對于圖像密文矩陣Pi,有很多的元素為0,這些元素所在位置就可以嵌入信息。按分塊的順序?qū)⑺械幕謴?fù)字典存放在云端,而把所有奇異值發(fā)送給信息隱藏模塊;雖然這些奇異值是用來恢復(fù)密文圖像的,但是信息隱藏模塊沒有密鑰key1,所以奇異值也不用進行加密處理。云系統(tǒng)接收到這些奇異值后,對于每一個4×4的圖像塊,只有4個值被保留,相當(dāng)于原來圖像信息被壓縮,產(chǎn)生很多值為0的空位,這些空位進行嵌入容量=4×4矩陣的比特位數(shù)減4個奇異值所占用的比特位數(shù)。
由于本方案是直接對密文的比特位進行處理,所以對于所有像素值為[0,255]的灰度圖像,固定分塊大小和比特層數(shù)之后,嵌入信息的長度都是一樣的。
(3)、信息嵌入
將奇異值轉(zhuǎn)換為二進制的比特序列,與需要嵌入的信息合并,得到三層LSB層,使用密鑰key2對每一層的比特面進行置亂處理,得到新的三層LSB層,然后與首次分層的MSB層合并得到包含嵌入信息的圖像G′i,將圖像塊合并得到新的密文圖像M′F,存儲或者發(fā)送給接收者。
通過以上過程,實現(xiàn)了云環(huán)境下,密文圖像信息的隱藏,圖像擁有者隱私得到保障。此種隱藏方法是半無損甚至是無損的,護膚后的圖像信噪比較其他方法更低。
(4)、信息恢復(fù)
接收者或者其他第三方想獲得圖像的方法是同時擁有密文密鑰key1和嵌入密鑰key2才能準(zhǔn)確的復(fù)原圖像,復(fù)原過程可見附圖2,首先將密文圖像M′F分塊,對應(yīng)當(dāng)前塊G′i,得到三層LSB層,根據(jù)嵌入密鑰key2,提取出三層LSB層的奇異值所對應(yīng)的字節(jié)和嵌入的字節(jié)信息,將這些字節(jié)信息轉(zhuǎn)化為整數(shù)奇異值矩陣E′i,發(fā)送至云端,云端將E′i與存儲的Ui和矩陣作為奇異值分解
得到對應(yīng)當(dāng)前密文塊G′i的十進制數(shù)矩陣P′i,然后恢復(fù)為G′i的三層LSB層,重復(fù)處理每一塊,然后將這些信息發(fā)送到接收方,接收方利用key1與MSB層結(jié)合完全恢復(fù)圖像,得到原始圖像。
整個過程,除了圖像擁有者和合法接收者擁有密鑰key1和key2,可以恢復(fù)原始圖像外,第三方?jīng)]有完整的密鑰信息,不能完全恢復(fù)原始圖像,圖像擁有者隱私信息安全得到保障。