張佳永
(蘇州市職業大學,江蘇蘇州,215000)
隨著工業4.0技術的發展,圖像識別和圖像加密技術越來越多的應用于現代的工業應用場景。
人工智能(AI)、大數據、3D成像和機器人過程自動化等領域在過去的幾年內取得了空前的發展。越來越多的工業、民用設備與圖像識別,機器視覺領域息息相關。在圖像識別領域中,圖像加密處理是我們必不可少的重要組成部分。現有的圖像加密方式有很多種,如AES算法加密本,混沌序列圖像加密技術等,本文設計驗證了一種基于MATLAB的維納濾波加密解決方案,具有加密方式簡單,加密恢復度高的特點,可以適用于簡單的圖片加密場景。
隨著信息時代的接近,第四次科技革命將人工智能、大數據等新興技術帶入我們的生活,互聯網滲透到我們生活的方方面面。大到各種國家政策,小到各種娛樂新聞。作為一個信息中心,互聯網給我們的生活帶來了各種便利,但是隨之而來的信息安全問題確往往被人們忽視。當今社會隨著人們生活品質的提高,許多人有著自拍的習慣,喜歡把圖片上傳到網絡,但是往往安全意識缺乏,很容易被他人盜用,甚至用作不法用途。
信息社會的進步迫切需要通過技術手段加強個人隱私的保護,圖像加密技術很好的滿足了人們的需求,在不破壞圖片的前提下,基本保存了圖片的原始信息,以備不時之需,就算不法分子通過非法手段獲取圖片,也無法還原真實圖片,最大限度的保護了我們的個人隱私。
圖片加密研究可以應用于多種情況。可以用于我們息息相關的日常生活領域,有時候需要保存一些資料。也可以與我們工作相關的領域,比如客戶信息,競爭對手公司的產品信息,招投標文件等公司需要保密的信息。甚至在軍事方面,一些機密資料的保存,武器信息的保管,都需要用到圖像加密技術。
這也對我們的圖像加密工作提出了越來越高的要求,既要保證加密的安全,也會涉及到加密操作的可行性,解密工作的復雜性等工作。如何在保證加密質量的同時,又能很好的運用于相關的涉及領域,也是加密研究的重點和難點。
硬件加密工具包括加密U盤、加密狗、加密芯片等。許多硬件加密工具內部往往事先安裝了加密軟件,比如bitlocker就可以在U盤、移動硬盤內部提前安裝。這些都是我們生活中可以遇到的加密手段,真正的純硬件加密相對比較復雜,往往有著其內部復雜的電子、機械設計,在這里不做詳述。
圖片最簡單的加密方式就是修改圖片的后綴名,比如改成.txt文件,這樣的話打開就會是亂碼的形式。或者在windows系統中設置隱藏文件夾,這也是一種加密方法。
輔助軟件加密可以通過WinRAR軟件,給我們想要加密的圖片文檔壓縮并給予密碼,其實也是一種算法加密,但是使用的是winrar的內部算法。此外輔助加密軟件還有bitlocker、Veracrypt、360密盤等等,很好的保護了我們的硬盤。
軟件加密的核心是軟件加密算法,主流的加密算法有基于自適應和混沌理論的圖像加密方法、基于混合混沌和獨立分量的加密方法、采用映射加密、AES算法加密、傅里葉變換加密、ECC算法加密等。每一種加密方法都有著其特點。比如AES算法應用于我們的wifi密碼加密。RSA算法則使用公鑰和私鑰,加大了密碼破解的難度,廣泛應用于各種電子商務系統。算法加密研究可以說永無止境,就像人們對于知識的探索,是一個百家爭鳴,百花齊放的領域。圖像加密是軟件加密研究中的一個子類,它涉及算法加密,與之相對應的研究領域是算法解密領域,兩者相互依存,互相影響。
維納濾波由數學家維納提出,是一種線性濾波理論,維納濾波發源于二戰時期,用來解決對空設計時的炮火的目標瞄準工作。數字信號處理中從被污染的信號中過濾出原始信號被稱為濾波,維納濾波的作用在于過濾掉噪聲信號,同時盡可能保證原始信號波形不失真。維納濾波的前提是假設線性濾波器的輸入為有用信號和噪聲的加權和且兩者都是廣義平穩過程。維納濾波最初的設計作用是在觀測到的信號中將原始信號X(t)和噪聲信號n(t)分離。用數學公式可以表達為觀測信號s(t)=x(t)+n(t)。
維納濾波使用的前提是噪聲為加性,噪聲和信號相互獨立。這種使用前提決定了維納濾波適用場景,并不適用于乘性噪聲。假設s(t)經過維納濾波后輸出信號為s~(t)。維納濾波的作用就是使得輸出信號s~(t)盡可能接近原始信號x(t)。數學表達式為兩者的均方差E{[s~(t)-x(t)]2}最小化。
維納濾波從過去的觀測數據、當前的觀測數據推斷出信號當前值,由此可見維納濾波器是一種估計濾波器、線性濾波器。在下面的實驗中,維納濾波的線性濾波特點正好可以用來解決我們的運動模糊線性失真問題。維納濾波器估計濾波器的特點也使得解密圖像只能基本接近于原始圖像,但是不能完全還原真實圖像。
MATLAB在圖像處理領域廣泛運用,具有一席之地。系統整體嚴謹、功能強大、內部算法函數豐富、豐富等優勢,自帶工具箱內集成工具豐富。包括眾多經典圖像處理方法。編程語言簡潔明了優勢明顯,自帶的仿真功能更是其一大亮點,讓我們在實驗室中只需要一臺電腦就可以輕松處理工程任務,廣泛應用于數據統計、航天工業、汽車儀表、金融分析等領域。
本文使用MATLAB作為加密、解密軟件工具。
首先我們要對原始圖片進行運動模糊處理,在MATLAB中圖片運動模糊通過fspecial和imfilter函數完成。Fspecial獲得運動模糊參數,這里使用兩個加密變量LEN和THETA,在函數處理時分別表示偏移位置、逆時針偏移角度,最后得出PSF作為中間密匙。這里的motion既代表運動模糊處理。代碼如下:

最后通過imfilter函數完成對圖像的運動模糊處理。具體代碼如下。

原始圖片如圖(1)所示。

圖1
運動模糊加密后如圖2所示,可以看到文字信息都已經無法顯示,這樣就隱藏了我們的真實想要保存的圖片內容。

圖2
MATLAB中的維納濾波可以通過deconvwnr函數完成,輸入密匙和原始圖片,就可以得到解密后的函數,具體代碼如下。先用iread函數讀取目標解密圖片,然后輸入密匙LEN、THETA得到中間密匙PSF,最后帶入維納濾波函數deconvwnr得到最終解密圖片并顯示,代碼如下。

將解密后的圖片用picture顯示后如圖3所示。

圖3
采用MATLAB中的畫圖函數對相關圖片進行了顯示,其中原始圖像為左1,加密后圖像為左2,解密圖像為右1。實驗結果如圖4所示,經過實驗結果觀測,原始圖像為3264×2448像素點,解密圖像素數量保持不變。該方法較好的對原有圖像的關鍵信息進行了模糊處理,可以起到隱藏加密信息的作用。適合保存銀行卡密碼、客戶信息、秘密地圖、等使用者希望保存但又不想被他人竊取的重要信息。使得我們的信息安全更加富有保障。

圖4
加密系統采用二維密匙,分別為LEN長度密匙,Thera角度密匙,這兩個密匙組合在一起構成我們的密匙,只有當維納濾波的參數為相應的LEN或者Thera時,才能夠正確的解密我們的原始圖像。二維密匙可以有很多種組合,這在需要加密物品不是很多的情況下,我們可以保證一物一密,使得安全系數更高。我們也可以將密匙變換成其他數字和角度。這樣即使信息被不法分子竊取,在不知道我們密匙和加密方法的情況下,不發分子很難通過其他方式破解我們的真實信息。我們也可以通過二次加密,讓我們的密碼更難被破解。
假設1當其他人竊取了我們的二維密匙,為了使得我們的加密更加安全,我們可以采用二次加密的方法。比如原始密匙為(x,y),其中x=20,Y =15。二次加密后的密匙為(0.5*X,3*Y),即二次加密后密匙為(10,45),這樣單純使用二次加密的結果將無法還原我們的真實數據,只有用戶知道我們二次加密的方法,才能還原出我們的原始密碼,可以針對不同用戶,設置不同的二次加密方法,這大大增強了我們密匙的安全性,做到一密一戶。
假設2當他人知道我們的加密方式的情況下。這種情況十分危險,他人可以采用窮舉法,借助計算機將我們的二維密匙暴力破解。所以此種加密方法對于加密方式的保密也十分重要,也存在改進和提高的空間。
實驗結果證明這種采用MATLAB的加密方式可以達到我們的預期效果,也存在優化和二次加密的空間,是一種較為便捷的加密方式,適用民用生活和普通級別工業領域,具有一定的實用意義。