一種基于魏爾斯特拉斯函數(shù)的圖像置亂方法
【專利摘要】一種基于魏爾斯特拉斯函數(shù)的圖像置亂方法,屬于數(shù)字圖像處理領(lǐng)域。圖像正置亂過程如下:先將待置亂圖像IMAGE的八個位平面按照某種方式進(jìn)行交換,改變圖像的像素灰度值,得到圖像Image;將Image轉(zhuǎn)換為一維結(jié)構(gòu)fig,按照此一維結(jié)構(gòu)fig的長度設(shè)置魏爾斯特拉斯函數(shù)的變量值及參數(shù)值,并按照公式求得魏爾斯特拉斯函數(shù)的函數(shù)值y,再將魏爾斯特拉斯函數(shù)的函數(shù)值y按照升序排序,然后根據(jù)排序結(jié)果對fig序列進(jìn)行位置調(diào)整,這樣就可以將fig置亂成h序列,最后將h序列進(jìn)行升維操作,轉(zhuǎn)化為待置亂圖像IMAGE一樣的大小,即可得到置亂后的圖像FIG。本方法置亂比較穩(wěn)定且置亂度相對較高;置亂的通用性強,安全性好;置亂恢復(fù)的圖像無損失;并且有一定的抗攻擊能力。
【專利說明】一種基于魏爾斯特拉斯函數(shù)的圖像置亂方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于魏爾斯特拉斯函數(shù)的圖像置亂方法,是一種信息隱藏預(yù)處理方法和圖像加密手段,屬于數(shù)字圖像處理領(lǐng)域。
【背景技術(shù)】
[0002]近年來,數(shù)字圖像因其固有的傳輸與存儲的方便性而得到了蓬勃發(fā)展,同時由于數(shù)字圖像的復(fù)制、處理以及傳播簡單容易,也給很多行業(yè)帶來了極大商機與利益。但在傳輸?shù)臄?shù)字圖像數(shù)據(jù)中,很多是要求保密的,不管是法律要求加密還是個人隱私不容侵犯,數(shù)字圖像的安全性越來越受到社會的關(guān)注與重視。數(shù)字圖像置亂技術(shù)就是在這種需求下應(yīng)運而生的,得到了迅速的研究和發(fā)展,并越來越多的應(yīng)用到實際中。已有并廣為應(yīng)用的置亂方法很多,如Arnold變換、Hilbert方法、騎士巡游變換、元胞自動機方法、幻方變換、仿射變換以及生命游戲變換等等,但這些方法各有優(yōu)缺點,應(yīng)用是要根據(jù)實際環(huán)境進(jìn)行選擇,而且有的方法置亂需要花費較多時間,效率較低;有的方法對圖像尺寸有限制,通用性不好;還有許多方法存在周期性,這使得方法安全性較低,達(dá)不到保密的要求。
[0003]已有圖像置亂方法層出不窮,但存在的問題頗多,特別是典型的周期性恢復(fù)的安全問題應(yīng)受到重視,因此研究一種簡單且安全性較高的置亂方法頗具有挑戰(zhàn)性。
【發(fā)明內(nèi)容】
[0004]為了解決上述存在的技術(shù)問題,本發(fā)明提供一種基于魏爾斯特拉斯函數(shù)的圖像置亂方法,該置亂方法實現(xiàn)簡單,安全性好,置亂度較高,通用性較好,并且能抵抗一定的攻擊,可以較好的用于信息隱藏的預(yù)處理和圖像加密,而且可以滿足數(shù)字圖像加密和隱藏的魯棒性要求。
[0005]本發(fā)明的目的是通過下述技術(shù)方案實現(xiàn)的:1、一種基于魏爾斯特拉斯函數(shù)的圖像置亂方法,其特征在于:包括圖像正置亂和逆置亂兩部分;
[0006]所述圖像正置亂過程如下:
[0007]設(shè)待置亂圖像為IMAGE、迭代次數(shù)為cycle,魏爾斯特拉斯函數(shù)的變量值為X,參數(shù)值為a、b,輸出的置亂后的圖像為FIG ;
[0008]通過對待置亂圖像IMAG進(jìn)行位平面交換以及魏爾斯特拉斯函數(shù)的函數(shù)值序列調(diào)整待置亂圖像的位置,從而得到置亂后的圖像;具體過程如下:
[0009]I)定義迭代次數(shù)CyCle=k ;
[0010]2)將待置亂圖像IMAGE的八個位平面按照用戶選擇的位平面交換方式進(jìn)行變換,得到圖像Image ;
[0011]3) 一次迭代開始:將Image轉(zhuǎn)換為一維結(jié)構(gòu)fig ;按照fig的長度選取函數(shù)中自變量X的取值,設(shè)置滿足魏爾斯特拉斯函數(shù)的ab>l+3 X /2參數(shù)值a和b,按照魏爾斯特拉斯函數(shù)公式求和,得到函數(shù)值y,將所得到魏爾斯特拉斯函數(shù)值y進(jìn)行升序排序,結(jié)果為index,按照排序結(jié)果index,對圖像一維化后的fig序列依次調(diào)整位置,即進(jìn)行置亂成h序列;將置亂序列h進(jìn)行升維成待置亂圖像IMAGE大小的圖像Fig,并將結(jié)果賦值給Image,則一次迭代結(jié)束;
[0012]4)如果cycle不等于k,說明迭代次數(shù)未完成,轉(zhuǎn)到步驟3)繼續(xù)迭代,直到迭代次數(shù)為k,此時得到的Fig輸出為FIG,F(xiàn)IG即為置亂后圖像;至此,正置亂迭代結(jié)束,即正置亂過程結(jié)束;
[0013]正置亂在置亂密鑰的前提下得到了置亂后的圖像FIG,從FIG中看不到原始圖像的任何信息,F(xiàn)IG置亂效果好,保證了原始信息的安全性。
[0014]圖像的逆置亂過程如下:
[0015]設(shè)待恢復(fù)置亂的圖像FIG和迭代次數(shù)cycle以及魏爾斯特拉斯函數(shù)的變量值x和參數(shù)值a、b,所述的cycle、x、a、b與正置亂的參數(shù)值相同,一個輸出為置亂恢復(fù)的圖像OUT ;根據(jù)得到的置亂圖像,按照正置亂的逆過程進(jìn)行置亂圖像的恢復(fù)。
[0016]I)定義迭代次數(shù)cycle=k ;
[0017]2) 一次迭代開始:將置亂圖像FIG轉(zhuǎn)換為一維結(jié)構(gòu)out ;根據(jù)正置亂排序結(jié)果index,對圖像一維化后的out序列進(jìn)行逆調(diào)整,得到逆置亂序列g(shù) ;將逆置亂序列g(shù)進(jìn)行升維成置亂圖像FIG大小的圖像Out,并將結(jié)果賦值給FIG,則一次迭代結(jié)束;
[0018]3)如果cycle不等于k,說明迭代次數(shù)未完成,轉(zhuǎn)到步驟2)繼續(xù)迭代,直到迭代次數(shù)為k,則逆置亂迭代結(jié)束;
[0019]4)對Out進(jìn)行正置亂過程中位平面交換方式的逆變換,結(jié)果為0UT,即得到置亂恢復(fù)圖像0UT,至此,逆置亂過程結(jié)束。
[0020]在置亂密鑰的前提下,經(jīng)逆置亂過程恢復(fù)的圖像OUT與原始圖像無絲毫差別,達(dá)到完全恢復(fù)原始圖像的目的。
[0021]本發(fā)明的有益效果:本發(fā)明采用上述方案,通過對待置亂圖像進(jìn)行位平面交換以及魏爾斯特拉斯函數(shù)的函數(shù)值序列調(diào)整待置亂圖像的位置,實現(xiàn)了對待置亂圖像的置亂。本發(fā)明所采用的方法包括圖像正置亂過程和圖像逆置亂過程兩大部分,第一部分是圖像的正置亂過程:有五個輸入為待置亂圖像IMAGE、迭代次數(shù)cycle以及魏爾斯特拉斯函數(shù)的變量值X和參數(shù)值a、b,一個輸出為置亂后的圖像FIG ;過程是通過對待置亂圖像進(jìn)行位平面交換以及魏爾斯特拉斯函數(shù)的函數(shù)值序列調(diào)整待置亂圖像的位置,從而得到置亂后的圖像。(I)定義迭代次數(shù)cyCle=k; (2)將待置亂圖像的八個位平面按照用戶選擇的位平面交換方式進(jìn)行變換,得到圖像Image ; (3) 一次迭代開始:將Image轉(zhuǎn)換為一維結(jié)構(gòu)fig ;按照fig的長度選取魏爾斯特拉斯函數(shù)中自變量X的取值,設(shè)置滿足魏爾斯特拉斯函數(shù)的ab>l+3 X /2參數(shù)值a和b,按照魏爾斯特拉斯函數(shù)公式求和,得到函數(shù)值y,將所得到魏爾斯特拉斯函數(shù)值y進(jìn)行升序排序,結(jié)果為index,按照排序結(jié)果index,對圖像一維化后的fig序列依次調(diào)整位置,即進(jìn)行置亂成h序列;將置亂序列h進(jìn)行升維成待置亂圖像IMAGE大小的圖像Fig,并將結(jié)果賦值給Image,則一次迭代結(jié)束;(4)如果cycle不等于k,說明迭代次數(shù)未完成,轉(zhuǎn)到步驟(3)繼續(xù)迭代,直到迭代次數(shù)為k,此時得到的Fig輸出為FIG,F(xiàn)IG即為置亂后圖像;至此,正置亂迭代結(jié)束,即正置亂過程結(jié)束。正置亂在置亂密鑰的前提下得到了置亂后的圖像FIG,從FIG中看不到原始圖像的任何信息,F(xiàn)IG置亂效果好,保證了原始信息的安全性。第二部分是圖像的逆置亂,即置亂圖像的恢復(fù)。有兩個輸入為置亂的圖像FIG和迭代次數(shù)cycle以及魏爾斯特拉斯函數(shù)的變量值x和參數(shù)值a、b (這里的cycle、x、a、b與正置亂的相同),一個輸出為置亂恢復(fù)的圖像OUT;根據(jù)得到的置亂圖像,按照正置亂的逆過程進(jìn)行置亂圖像的恢復(fù)。(I)定義迭代次數(shù)CyCle=k;(2)—次迭代開始:將置亂圖像FIG轉(zhuǎn)換為一維結(jié)構(gòu)out ;根據(jù)正置亂排序結(jié)果index,對圖像一維化后的out序列進(jìn)行逆調(diào)整,得到逆置亂序列g(shù);將逆置亂序列g(shù)進(jìn)行升維成置亂圖像FIG大小的圖像Out,并將結(jié)果賦值給FIG,則一次迭代結(jié)束;(3)如果cycle不等于k,說明迭代次數(shù)未完成,轉(zhuǎn)到步驟(2)繼續(xù)迭代,直到迭代次數(shù)為k,則逆置亂迭代結(jié)束;(4)對Out進(jìn)行正置亂過程中位平面交換方式的逆變換,結(jié)果為0UT,即得到置亂恢復(fù)圖像0UT,至此,逆置亂過程結(jié)束。在置亂密鑰的前提下,經(jīng)逆置亂過程恢復(fù)的圖像OUT與原始圖像無絲毫差別,達(dá)到完全恢復(fù)原始圖像的目的。
[0022]本發(fā)明利用位平面交換的方式以及魏爾斯特拉斯函數(shù)的函數(shù)值序列調(diào)整待置亂圖像的位置,實現(xiàn)了對圖像的置亂,并得到了無損失的置亂恢復(fù)圖像,且置亂圖像能抵抗一定的幾何攻擊。
[0023]由于本發(fā)明是一種魏爾斯特拉斯函數(shù)的圖像置亂方法,方法是按通過對待置亂圖像進(jìn)行位平面交換以及魏爾斯特拉斯函數(shù)的函數(shù)值序列調(diào)整待置亂圖像的位置,從而改變待置亂圖像的像素坐標(biāo)位置,而且方法實現(xiàn)簡單,解決了已有方法實現(xiàn)效率低等問題。
[0024]本發(fā)明提出的置亂方法引入的置亂密鑰較多,如:位平面交換方式,魏爾斯特拉斯函數(shù)中的變量值X、參數(shù)值a和b,以及置亂次數(shù)cycle ;密鑰空間較大,這大大提高了置亂方法的安全性,解決了已有置亂方法周期性恢復(fù)的安全性問題。
[0025]本發(fā)明提出的方法是按照魏爾斯特拉斯函數(shù)的函數(shù)值大小來改變待置亂圖像的像素坐標(biāo)位置的,要操作的元素是按照一維邏輯結(jié)構(gòu)進(jìn)行存儲的,即本方法適對圖像尺寸沒有要求,因此該發(fā)明對圖像的通用性較強。
[0026]本發(fā)明方法能抵抗一定的幾何攻擊,且恢復(fù)圖像的可讀性不受影響,可以較好的用于信息隱藏的預(yù)處理和圖像 加密,而且可以滿足數(shù)字圖像加密和隱藏的魯棒性要求。
【專利附圖】
【附圖說明】
[0027]圖1(a)是標(biāo)準(zhǔn)Iena原始圖像。
[0028]圖1(b)是標(biāo)準(zhǔn)Iena圖經(jīng)本方法置亂后的圖。
[0029]圖1(c)是標(biāo)準(zhǔn)Iena圖置亂后的恢復(fù)圖。
[0030]圖1(d)是寬矩形Iena圖。
[0031]圖1(e)是寬矩形Iena圖經(jīng)本方法置亂后的圖。
[0032]圖1(f)是寬矩形Iena圖置亂后的恢復(fù)圖。
[0033]圖1(g)是高矩形Iena圖。
[0034]圖1(h)是高矩形Iena圖經(jīng)本方法置亂后的圖。
[0035]圖1(i)是高矩形Iena圖置亂后的恢復(fù)圖。
[0036]圖2是用灰度值連續(xù)置亂度評價方法對本方法的置亂程度進(jìn)行的評價曲線圖。
[0037]圖3(a)是標(biāo)準(zhǔn)Iena原始圖像。
[0038]圖3(b)是標(biāo)準(zhǔn)Iena圖經(jīng)本方法置亂后的圖。
[0039]圖3(C)標(biāo)準(zhǔn)Iena原始圖像的直方圖。
[0040]圖3(d)置亂圖像的直方圖。[0041]圖4 (a)是本方法經(jīng)過加入噪聲密度為0.06的椒鹽噪聲攻擊后的置亂圖像。
[0042]圖4 (b)是本方法經(jīng)過加入噪聲密度為0.06的椒鹽噪聲攻擊后的恢復(fù)圖像。
[0043]圖4 (C)是本方法經(jīng)過高斯低通濾波攻擊后的置亂圖像。
[0044]圖4 (d)是本方法經(jīng)過高斯低通濾波攻擊后的恢復(fù)圖像。
[0045]圖5為將[-1,I]間等分131072個點作為自變量的魏爾斯特拉斯函數(shù)圖形。
【具體實施方式】 [0046]下面結(jié)合附圖對本發(fā)明作進(jìn)一步說明:
[0047]以下從理論基礎(chǔ)進(jìn)行說明:
[0048]I)魏爾斯特拉斯函數(shù)
[0049]在數(shù)學(xué)中,魏爾斯特拉斯函數(shù)(魏爾斯特拉斯function)是一類處處連續(xù)而處處不可導(dǎo)的實值函數(shù)。魏爾斯特拉斯函數(shù)是一種無法用筆畫出任何一部分的函數(shù),因為每一點的導(dǎo)數(shù)都不存在,畫的人無法知道每一點該朝哪個方向畫。魏爾斯特拉斯函數(shù)的每一點的斜率也是不存在的。魏爾斯特拉斯函數(shù)得名于十九世紀(jì)的德國數(shù)學(xué)家卡爾?魏爾斯特拉斯(Karl Theodor Wilhelm 魏爾斯特拉斯;1815 - 1897)。
[0050]歷史上,魏爾斯特拉斯函數(shù)是一個著名的數(shù)學(xué)反例。魏爾斯特拉斯之前,數(shù)學(xué)家們對函數(shù)的連續(xù)性認(rèn)識并不深刻。許多數(shù)學(xué)家認(rèn)為除了少數(shù)一些特殊的點以外,連續(xù)的函數(shù)曲線在每一點上總會有斜率。魏爾斯特拉斯函數(shù)的出現(xiàn)說明了所謂的“病態(tài)”函數(shù)的存在性,改變了當(dāng)時數(shù)學(xué)家對連續(xù)函數(shù)的看法。
[0051]魏爾斯特拉斯的原作中給出的構(gòu)造是:
[0052]
【權(quán)利要求】
1.一種基于魏爾斯特拉斯函數(shù)的圖像置亂方法,其特征在于:包括圖像正置亂和逆置亂兩部分; 所述圖像正置亂過程如下: 設(shè)待置亂圖像為IMAGE、迭代次數(shù)為cycle,魏爾斯特拉斯函數(shù)的變量值為X,參數(shù)值為a、b,輸出的置亂后的圖像為FIG ; 通過對待置亂圖像IMAG進(jìn)行位平面交換以及魏爾斯特拉斯函數(shù)的函數(shù)值序列調(diào)整待置亂圖像的位置,從而得到置亂后的圖像;具體過程如下: 1)定義迭代次數(shù)cycle=k; 2)將待置亂圖像IMAGE的八個位平面按照用戶選擇的位平面交換方式進(jìn)行變換,得到圖像Image ; 3)—次迭代開始:將Image轉(zhuǎn)換為一維結(jié)構(gòu)fig;按照fig的長度選取函數(shù)中自變量x的取值,設(shè)置滿足魏爾斯特拉斯函數(shù)的ab>l+3 X /2參數(shù)值a和b,按照魏爾斯特拉斯函數(shù)公式求和,得到函數(shù)值1,將所得到魏爾斯特拉斯函數(shù)值I進(jìn)行升序排序,結(jié)果為index,按照排序結(jié)果index,對圖像一維化后的fig序列依次調(diào)整位置,即進(jìn)行置亂成h序列;將置亂序列h進(jìn)行升維成待置亂圖像IMAGE大小的圖像Fig,并將結(jié)果賦值給Image,則一次迭代結(jié)束; 4)如果cycle不等于k,說明迭代次數(shù)未完成,轉(zhuǎn)到步驟3)繼續(xù)迭代,直到迭代次數(shù)為k,此時得到的Fig輸出為FIG,F(xiàn)IG即為置亂后圖像;至此,正置亂迭代結(jié)束,即正置亂過程結(jié)束; 圖像的逆置亂過程如下: 設(shè)待恢復(fù)置亂的圖像FIG和迭代次數(shù)cycle以及魏爾斯特拉斯函數(shù)的變量值x和參數(shù)值a、b,所述的cycle、x、a、b與正置亂的參數(shù)值相同,一個輸出為置亂恢復(fù)的圖像OUT ;根據(jù)得到的置亂圖像,按照正置亂的逆過程進(jìn)行置亂圖像的恢復(fù)。 1)定義迭代次數(shù)cycle=k; 2)一次迭代開始:將置亂圖像FIG轉(zhuǎn)換為一維結(jié)構(gòu)out ;根據(jù)正置亂排序結(jié)果index,對圖像一維化后的out序列進(jìn)行逆調(diào)整,得到逆置亂序列g(shù) ;將逆置亂序列g(shù)進(jìn)行升維成置亂圖像FIG大小的圖像Out,并將結(jié)果賦值給FIG,則一次迭代結(jié)束; 3)如果cycle不等于k,說明迭代次數(shù)未完成,轉(zhuǎn)到步驟2)繼續(xù)迭代,直到迭代次數(shù)為k,則逆置亂迭代結(jié)束; 4)對Out進(jìn)行正置亂過程中位平面交換方式的逆變換,結(jié)果為OUT,即得到置亂恢復(fù)圖像OUT,至此,逆置亂過程結(jié)束。
【文檔編號】H04L9/00GK103617590SQ201310634006
【公開日】2014年3月5日 申請日期:2013年11月28日 優(yōu)先權(quán)日:2013年11月28日
【發(fā)明者】范鐵生, 張忠清, 張紹成, 宣偉紅 申請人:遼寧大學(xué)