隨機(jī)數(shù)列在數(shù)字圖像加密中的應(yīng)用

數(shù)字圖像已廣泛用于人們的生活,然而應(yīng)用得越廣泛,它的安全性就越重要。比如,必須保護(hù)軍事分布圖、通過(guò)衛(wèi)星獲得的重要照片、商業(yè)機(jī)密圖片等。另外,利用計(jì)算機(jī)犯罪的數(shù)量在逐年上升,信息安全技術(shù)不僅關(guān)系到個(gè)人通信的隱私問(wèn)題,關(guān)系到一個(gè)企業(yè)的生存問(wèn)題,同時(shí)也關(guān)系到一個(gè)國(guó)家的安全問(wèn)題。數(shù)字圖像的安全已成為現(xiàn)在計(jì)算機(jī)領(lǐng)域的一個(gè)重要主題。

數(shù)字圖像有兩個(gè)特點(diǎn):1)數(shù)字圖像通常以二維序列來(lái)表示,它要比文本文件大得多;2)文本文件往往是無(wú)損加密的,而數(shù)字圖像由于人類(lèi)的視覺(jué)系統(tǒng)特性往往允許圖像的內(nèi)容有缺損。為此,圖像加密有其自身的要求,傳統(tǒng)的文字加密方法不適合圖像加密。針對(duì)數(shù)字圖像加密的問(wèn)題,已有很多文獻(xiàn)提出了圖像置亂的方法,最具代表性的有:Arnold變換、Fibonacci變換、E-曲線(xiàn)置亂變換、Hilbert曲線(xiàn)置亂變換問(wèn)、基于采樣理論的排列變換和基于幾何運(yùn)算的排列變換、按騎士巡游矩陣(knight-tour matrix)進(jìn)行置亂。設(shè)計(jì)的混沌映射加密算法通過(guò)對(duì)產(chǎn)生的實(shí)數(shù)混沌序列進(jìn)行排列,并以此來(lái)置換圖像的位置。

本文在混沌映射加密算法的基礎(chǔ)上提出一種利用隨機(jī)序列對(duì)圖像像素點(diǎn)置亂實(shí)現(xiàn)加密的算法,對(duì)產(chǎn)生的隨機(jī)序列進(jìn)行從小到大的排列,將待加密圖像像素與隨機(jī)序列元素一一對(duì)應(yīng),以此來(lái)置換圖像的位置。結(jié)果表明,因像素的置亂位置具有隨機(jī)性,所以加密圖像相鄰像素的相關(guān)性更小,抗攻擊的免疫性強(qiáng),具有良好的安全性。

一、加密與解密算法

本文的加密算法包括以下4個(gè)步驟:

步驟1:數(shù)字圖像B大小為MxN(M是圖像B的行像素?cái)?shù),N是圖像B的列像素?cái)?shù)),將B的第j行連接到j(luò)-l行后面(j=2,3,…,M),形成長(zhǎng)度為MxN的序列C。

步驟2:用計(jì)算機(jī)產(chǎn)生長(zhǎng)度為MxN的隨機(jī)序列{k1,k2,...,kMxN},并構(gòu)造等差序列D:{1,2,…:,MxN-1,MxN}。

步驟3:將隨機(jī)序列{k1,k2,…,kMxN}的MxN個(gè)值由小到大排序,形成有序序列{k1,k2,…,kMxN},確定隨機(jī)序列{k1,k2,…,kMxN}中的每個(gè)ti;在有序序列{k1,k2,…,kMxN}中
的編號(hào),形成置換地址集合如{t1,t2,…,tMxN},其中ti為集合(1,2,…,MxN)中的一個(gè);按置換地址集合{t1,t2,…,tMxN}對(duì)序列C進(jìn)行置換,將其第i個(gè)像素置換至第ti列,i=l,
2,…,MxN,得到Ca將等差序列D做相同置換,得到D’。

步驟4:B’是一個(gè)肘xN的矩陣,B'(i,j)=C((i-l)xM+j),其中i=l,2,…,M;j=l,2,...,N。則B’就是加密后的圖像。

解密算法與加密算法相似,不同之處在于步驟3中。以序列C‘代替隨機(jī)序列{k1,k2,…,kMxN},即可實(shí)現(xiàn)圖像的解密。圖1(a)為lena原圖,(b)為按照步驟4加密后的圖像,(c)為解密后的圖像。
隨機(jī)數(shù)列在數(shù)字圖像加密中的應(yīng)用

二、相鄰像素相關(guān)性分析

研究表明,圖像置亂效果的好壞與相鄰像素相關(guān)性的大小存在反比關(guān)系,相關(guān)性越大,置亂效果越差,相關(guān)性越小,置亂的效果越好。測(cè)試置亂圖像的水平(垂直)相鄰像素的相關(guān)性方法如下:將圖像的像素與其水平(垂直)向的下一個(gè)像素組成相鄰像素對(duì),然后用下面的公式計(jì)算相鄰像素的相關(guān)性。

隨機(jī)數(shù)列在數(shù)字圖像加密中的應(yīng)用

式中:x是像素的灰度值;k是像素?cái)?shù);E(x)是x的數(shù)學(xué)期望,D(x)是x的方差。

隨機(jī)數(shù)列在數(shù)字圖像加密中的應(yīng)用

式中:x是像素對(duì)中前者的灰度值;y是像素對(duì)中后者的灰度值,cov(x,y)是茗x,y的協(xié)方差。

隨機(jī)數(shù)列在數(shù)字圖像加密中的應(yīng)用

式中:rxy是相關(guān)性系數(shù)。

表1列出了原圖及其幾種置亂圖像相鄰像素的相關(guān)性,隨機(jī)置亂過(guò)程中使用的是隨機(jī)序列,因此,每次加密的置亂程度不完全相同,為了使實(shí)驗(yàn)結(jié)果具有可比性,表中置亂圖數(shù)據(jù)為100次置亂的均值;圖1(a)的Amold置亂周期為23次,表中數(shù)據(jù)為相關(guān)性最小的第10次的值;表1說(shuō)明隨機(jī)置亂比Arnold置亂、混沌置亂的鄰像素的相關(guān)性小。

隨機(jī)數(shù)列在數(shù)字圖像加密中的應(yīng)用

三、加密算法免疫性分析

免疫性是指圖像經(jīng)過(guò)置亂后,抗拒因圖像的某種改動(dòng)而導(dǎo)致隱藏信息丟失的能力。改動(dòng)包括:傳輸過(guò)程中的信道噪聲、過(guò)濾操作、重新采樣、編碼、有損壓縮、模/數(shù)轉(zhuǎn)換、伸縮、旋轉(zhuǎn)、破損和污染等。圖像破損是日常生活工作中經(jīng)常遇到的問(wèn)題,下面對(duì)隨機(jī)序列加密算法的抗破損能力進(jìn)行研究。

從第2節(jié)知,加密后圖像相鄰像素的相關(guān)性很小,說(shuō)明原圖的信息被均勻分散到圖像的各個(gè)區(qū)域;同樣,置亂圖像的某一部分,在解密后會(huì)分散到圖像的各個(gè)區(qū)域。因此,如果置亂圖像的某一部分受損(如圖2(c)),在解密圖像中將體現(xiàn)為均勻分布于全圖的小點(diǎn)(如圖2(d)),這有些類(lèi)似于椒鹽噪聲的效果,經(jīng)過(guò)中值濾波可將小點(diǎn)消去(如圖2(e)),將(d)圖中黑點(diǎn)區(qū)域用(e)圖中對(duì)應(yīng)像素替換,得到圖(f)o可以看到(f)圖比(d),(e)效果都要好,與原圖(a)相當(dāng)接近。

隨機(jī)數(shù)列在數(shù)字圖像加密中的應(yīng)用

當(dāng)受損區(qū)域大小為50x50(為圖像面積12.94%)時(shí),恢復(fù)的圖像仍然比較清晰(如圖3(a),(d));受損區(qū)域大小為60x60(為圖像面積18.63%)時(shí),恢復(fù)的圖像效果開(kāi)始變差,出現(xiàn)零星的黑點(diǎn)(如圖3(b),(e));受損區(qū)域大小為70x70(為圖像面積25.36%)時(shí),恢復(fù)的圖像效果不理想,布滿(mǎn)黑點(diǎn)(如圖3(b),(e))。

隨機(jī)數(shù)列在數(shù)字圖像加密中的應(yīng)用

原圖任意區(qū)域的像素在置亂圖中是均勻分布的,置亂圖受損區(qū)域的形狀及所處的位置不同對(duì)恢復(fù)圖像所造成的影響有限。圖4中(a),(b),(c)是3幅遭到損壞的密圖,受損區(qū)域(黑色)形狀不同,位置不同,只有大小是相同的,均為2 500個(gè)像素點(diǎn)(為圖像面積12.94%)。(a),(b),(c)的恢復(fù)圖像分別為(d),(e),(f),3幅恢復(fù)圖像的效果沒(méi)有明顯差別。因此,可認(rèn)為恢復(fù)圖像的效果取決于受損區(qū)域的面積大小,而受損區(qū)域的形狀、位置產(chǎn)生的影響很小,只要其面積不大于原圖面的.20%,就能夠恢復(fù)出比較理想的圖像。

小知識(shí)之?dāng)?shù)列

數(shù)列(sequence of number)是以正整數(shù)集(或它的有限子集)為定義域的函數(shù),是一列有序的數(shù)。數(shù)列中的每一個(gè)數(shù)都叫做這個(gè)數(shù)列的項(xiàng)。排在第一位的數(shù)稱(chēng)為這個(gè)數(shù)列的第1項(xiàng)(通常也叫做首項(xiàng)),排在第二位的數(shù)稱(chēng)為這個(gè)數(shù)列的第2項(xiàng)……排在第n位的數(shù)稱(chēng)為這個(gè)數(shù)列的第n項(xiàng)。