加密在信息隱藏中的應(yīng)用

為了進(jìn)一步提高計算機網(wǎng)絡(luò)數(shù)據(jù)安全性,為此我們把數(shù)據(jù)加密技術(shù)與信息隱藏技術(shù)結(jié)合,提出了一種新的數(shù)據(jù)加密算法,首先把待隱藏信息變成二進(jìn)制數(shù)據(jù)流,然后運用DES方法對二進(jìn)制數(shù)據(jù)流加密;最后根據(jù)BMP格式圖像的數(shù)據(jù)結(jié)構(gòu)特征把密文隱藏于數(shù)字圖像中。

一、基于數(shù)字圖像的信息隱藏技術(shù)

1、BMP圖像文件數(shù)據(jù)結(jié)構(gòu)

數(shù)字圖像格式育多種,BMP是最常用的一種。對于24位BMP圖像文件,其結(jié)構(gòu)特點為:

(1)每個文件只能非壓縮地存放一幅彩色圖像;

(2)文件頭由54個字節(jié)的數(shù)據(jù)段組成,其中包含有該位圖文件的類型、大小、圖像尺寸及打印格式等;

(3)從第55個字節(jié)開始,是該文件的圖像數(shù)據(jù)部分,數(shù)據(jù)的排列順序以圖像的左下角為起點,從左到右、從下到上,每連續(xù)3個字節(jié)便描述圖像一個像素點的顏色信息,這3個字節(jié)分別代表藍(lán)、綠、紅三基色在此像素中的亮度,某連續(xù)3個字節(jié)為:OOH,OOH,F(xiàn)FH,則表示該像素的顏色為純紅色。

在24位格式中,圖像中的每個象素都由存儲為3字節(jié)的RGB序列表示。每個掃描行都被補足到4位,圖像是自底向上存儲的,即第一個掃描行是圖像中的最后一個掃描行?;谏鲜鎏攸c町以把隱秘信息藏于BMP圖像之中,隱藏信息必須是視覺透明的。

2、基于彩色靜止數(shù)字圖像的信息隱藏算法

基于彩色靜止數(shù)字圖像的信息隱藏算法如圖1所示。

加密在信息隱藏中的應(yīng)用

首先將簽字信息的字節(jié)長度寫入BMP文件標(biāo)頭部分的保留字節(jié)中,然后將簽字信號轉(zhuǎn)化為二進(jìn)制數(shù)據(jù)碼流;最后將BMP文件圖像數(shù)據(jù)部分的每個字節(jié)的高7位依次異或后再與上述二進(jìn)制數(shù)碼流異或后的結(jié)果寫入最低位。

3、基于彩色靜止數(shù)字圖像的信息提取算法

信息提取過程如圖2所示。首先讀BMP文件標(biāo)頭部分的保留字節(jié)值,得到隱藏信息位數(shù)(二進(jìn)制數(shù)據(jù)碼流長度)(若該字節(jié)值為0則沒有隱藏信息,終止提?。H缓髮MP文件圖像數(shù)據(jù)部分的每個字節(jié)8位依次異或,異或結(jié)果就是隱藏的信息。這樣從每一個字節(jié)的圖像數(shù)據(jù)中提取出l位隱藏信息,直到把隱藏信息全部提取為止。

加密在信息隱藏中的應(yīng)用

二、DES數(shù)據(jù)加密算法的原理

DES(Data Encryption Standard)算法在POS,ATM,磁卡及智能卡(IC卡)、加油站、高速公路收費站等領(lǐng)域被廣泛應(yīng)用。本文以此算法實現(xiàn)隱藏信息數(shù)據(jù)文件加密。

DES加密算法的入口參數(shù)有3個,Key,Data,Mode。其中Key為8個字節(jié)共64位,是DES加密算法的工作密鑰;Data也為8個字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式,有加密和解密兩種。DES算法把64位的明文輸入塊變?yōu)?4位的密文輸出塊,它所使用的密鑰也是64位,其算法主要分為兩步。

1、初始置換_

把輸入的64位數(shù)據(jù)塊按位重新組合,并把輸出分為LO,RO兩部分,每部分各長32位,置換規(guī)則為將輸入的第58位換到第1位,第50位換到第2位….依此類推,最后1位是原來的第7位,LO,R()則是換位輸出后的兩部分,L0是輸出的左32位,RO是右32位.例如設(shè)置換前的輸入值為DID2 D3--- D64,則經(jīng)過初始置換后的結(jié)果為LO= D58D50---D8;RO一D57D49---D7。

2、逆置換

經(jīng)過16次迭代運算后,得到L16,R16。將此作為輸入,進(jìn)行逆置換,逆置換是初始置換的逆運算。逆置換結(jié)束得到64位的密文。

三、加密在信息隱藏中應(yīng)用的實現(xiàn)

在VC++6.0的環(huán)境下進(jìn)行系統(tǒng)實現(xiàn),系統(tǒng)功能包括信息文件加密、信息隱藏、信息讀取、信息解密,本系統(tǒng)可以加密與隱藏的數(shù)據(jù)為文本、數(shù)字和字母;作為信息載體的數(shù)字圖像則為彩色BMP格式,圖3給出了系統(tǒng)界面和一個示例運行結(jié)果。

加密在信息隱藏中的應(yīng)用

使用不同的圖像作為載體,信息都能夠成功隱藏(即感覺不到隱藏信息的圖像與原始圖像的差別)和提取。

小知識之碼流

碼流(Data Rate)是指視頻文件在單位時間內(nèi)使用的數(shù)據(jù)流量,也叫碼率,是視頻編碼中畫面質(zhì)量控制中最重要的部分。同樣分辨率下,視頻文件的碼流越大,壓縮比就越小,畫面質(zhì)量就越好。