?

淺談圖像加密系統的設計

2021-01-13 10:32孟令國
消費電子 2021年12期
關鍵詞:泄露數字圖像安全

孟令國

【關鍵詞】數字圖像;安全;泄露;篡改;Rijndael 算法

(一)研究背景及意義

21世紀的今天“Digitizing”、“Informatization”不斷發展,并逐漸深入到人們的生活中。數字圖像的普及應運而生,它以快速、便捷等優勢深受人們的喜愛,也是人們溝通交流不可或缺的一部分。運用頻率的提升人們,也關心其安全性[1]。

圖像數據的可靠安全處理是當前研究的重要方向之一,它具有保證圖像信息的安全、拓展加密技術的研究領域等意義。

(二)技術算法

1、Rijndael算法的詳細描述

(1)算法簡介

Rijndael算法是美國政府取代早期的數據加密標準而使用的標準加密算法。它是基于置換和代替的,主要優勢便是允許數據區塊以及密鑰的長度獨立變化。

2、偽隨機數

(1)動力系統生成偽隨機數序列

偽隨機數是密碼學中最重要的一項技術,它是密碼系統安全性的重要保障?;煦缧蛄斜闶莻坞S機數的產物[2]?;煦缧蛄挟a生公式:

(2) 二進制混沌偽隨機序列

表達式: = f( )

非周期、不收斂、非線性是改隨機數列的特點,選取初始值,通過反復迭代產生混沌序列 ,在通過f( )產生二進制混沌偽隨機序列做密鑰。

(一)數字圖像置亂

隨著電腦、智能手機的普及,越來越多的人選擇在線互動,隨之而生的便是圖像的安全性和有效性得不到全面保障,因為圖像信息的泄露導致巨大損失的事情比比皆是。

通過結合圖像加密和圖像隱藏生成了兩種解決方案:圖像置亂處理;信息隱藏和偽裝。圖像置亂變換是通過改變像素的位置或顏色而形成的一種保護技術。

圖像置亂方法主要有三種[3]:

1、基于Arnold變換的置亂方法;

2、用分形圖形的方法填充空間曲線;

3、運用數學知識和奇異現象。

(二)基于Rijndael的圖像置亂算法分析

數字矩陣是人們常用的方法之一,矩陣的數值即為灰度值。本結采用的是基于Rijndael的圖像置亂算法。

該算法主要由三部分組成:

(1)通過偽隨機數發生器實現灰度值的變換

(2)S-盒變換

(3)行位移和列混合

1、基于Rijndael算法的圖像置亂算法描述

step1:取出前4行的種子密鑰,按字節與待加密圖像子塊中的像素異或得到新的像素。

Step2:利用查表進行S-盒變換;

step3:行置換,將矩陣中的行按照不同的偏移量進行左循環移位。

step4:列混亂,將矩陣中每個列上的像素看作為GF(28)上的3次多項式的系數,進行運算,計算出新的像素值

step5:按順序取出像素灰度值

step6:回到step1,進行多次閉環加密。

2、置亂算法算例

本小結通過Aradar圖像為例,說明Rijnael算法的有效性[4]。

step1:通過偽隨機數得到新的像素;

step2:利用查表進行S-盒變換,得到新的像素灰度值;

step3:行置換,行進行移位;

step4:在列置換中,計算出新的像素灰度值;

step5:像素灰度值與輪密鑰異或;

step6:回到step3,實現閉環加密。

最后得到置亂后的圖像置亂算法算例如圖1所示:

(三)實驗結果分析

通過以上比較我們不難得出這樣的結論:輪變換部分是整個算法中耗時最多的。這也是算法優化的重點,而S-盒運算和列混合運算有非平凡的代數運算,因此值得考慮它們的快速實現。

(1)S-盒運算/逆S-盒運算可以用兩個表來實現,而且查表法非常有效,還能抗定時分析攻擊。

(2)在列混合運算中通過查表的方式,不僅很快,而且還能夠減少定時分析攻擊的危險。

解密矩陣等于加密矩陣和一個矩陣的相乘。

三、彩色圖像加密

(一)圖像加密算法

1、關于位圖文件的數據結構

通過Windows系統運行該加密系統,我們必須明白一點,即圖像顯示時必須轉換為DIB或者DDB位圖。文件頭、位圖信息和位圖像素數據,組成了位圖文件,以下便依次介紹這三部分。

(1)位圖文件頭:文件頭的主要功能是識別位圖文件,該部分包含了文件件類型和大小等信息

(2)位圖信息:內存的分配、調色板信息的設置、像素值的讀取都是由位圖信息所決定的。

(3)位圖數據:位圖數據是位圖的主體部分,位圖上的每一個點都表示了一個像素值,位圖的大小和顏色決定了位圖陣列的大小。

2、基于Rijndael算法和混沌序列的圖像置亂算法描述

step1:按順序取待加密圖像中的像素;

step2:利用查表進行S-盒變換;

step3:用偽隨機數發生器生成一個序列;

step4:將圖像的每列像素依次向下循環移動位置;

step5:回到step1,實現多次閉環加密。

四、圖像加密系統的實現

(一)系統的功能目標

本系統的主要功能便是對圖像進行加密保護,它也是本系統最重要的功能。除此外,考慮到系統的友好性,力求系統用戶界面操作簡單。同時,考慮的后期需求完善和拓展,要求本系統具有一定的可擴展性。作為一個圖像安全加密系統,系統本身的安全性也要可靠。圖像形式多樣,系統應支持多種圖像形式。

(二)原型系統總體功能本系統包括以下幾個部分:

(1)輸入/輸出接口單元

(2)偽隨機數發生器

(3)加密/解密單元④圖像文件顯示

對于整理框架結構的設計是系統研究中不可獲取的一步,也是非常重要的一步。在這一步要確定系統的模塊組成、模塊間的聯系。又要考慮到每個模塊的獨立性,力求做到“高內聚,低耦合”的一款系統。

根據前期的研究,分別設置了4個子模塊:接口模塊;偽隨機數發生器模塊;加解密運算模塊;圖像文件顯示模塊。

整個系統的總體框圖如圖2所示:

(三)原型系統功能分析

借助于面向對象編程方法中的繼承機制設計了Rijndael類的派生類Rijnd ,用于實現基于Rijndael和混沌序列的圖像加密算法。

Rijnd類的方法有以下幾種分類:

(1)像素值變換:繼承父類Rijndael中定義的有關對像素值異或的方法AddRoundKey()和重新定義了密鑰擴展的方法KeyExpansion()。

(2)像素值替代:繼承父類Rij n d a e l中的方法BuildSbox()和BuildInvSbox ()來初始化替換表Sbox[][]和iSbox[][];SubBytes()和InvSubBytes()通過替換表實現像素值變換。

(3)行列置換:定義的自身類方法:RowsShift (),InvRowsShift (),ColumsShift()和Inv ColumsShift(),實現行列的循環移位操作。

(四)原型系統的實現

以對BMP格式圖像加密為例來部分介紹該原型系統的運行過程:用戶點擊圖像加密界面中的“瀏覽”,選擇待加密的文件;輸入隨機數發生器的初始條件,將用于隨機數發生器初始條件輸入的對話框定義為一個Initializtion類,只要系統中需要輸入隨機數發生器的初始條件,就創建一個該類的對象來獲取輸入的初始條件值。

在圖像文件進行加密的這段時間,系統會有提示信息同時在改頁面上其他功能暫時失效,只有完成加密后才會恢復正常。

Displaydlg用于顯示圖像文件,隨后系統根據用戶需求完成了圖像文件的加解密操作。

在圖像解密時,通過Initializtion類獲取隨機數發生器初始條件值,再通過RandomNumber,加密后的圖像進行解密操作。

猜你喜歡
泄露數字圖像安全
ARGUS-100 藝術品鑒證數字圖像比對系統
個人金融信息保護與電信網絡詐騙防范
淺談稀油密封干式煤氣柜底板泄露的原因及處理
基于塊效應測度的JPEG數字圖像盲取證
數字圖像修復在圖像壓縮上的應用
基于DirectShow的便攜式X射線數字圖像采集的實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合