◆陶雪嬌 譚鳳
基于DLA分形的信息隱藏算法研究
◆陶雪嬌 譚鳳
(重慶工程學(xué)院軟件學(xué)院 重慶 400056)
目前基于現(xiàn)有的信息隱寫算法的隱寫分析趨于成熟,容易被發(fā)現(xiàn),且信息傳遞的機(jī)密性不高,但伴隨分形圖形的研究和應(yīng)用的普及,基于分形生成原理的信息隱藏算法逐漸被更多的人研究。提出基于DLA(Diffusion-limited Aggregation擴(kuò)散限制凝聚)生成原理的信息隱藏算法,通過分析DLA分形圖的生成原理,隱藏需要加密的信息。首先分析DLA分形蔟的生成原理,用Python仿真DLA的分形蔟,不同的參數(shù)可以生成不同形態(tài)的DLA分形蔟,經(jīng)過一定次數(shù)的迭代,生成合適的分形圖,并將對(duì)應(yīng)的分形圖加入加密信息添加到適當(dāng)?shù)妮d體,從而實(shí)現(xiàn)信息隱藏,并研究對(duì)應(yīng)的解密算法?;贒LA分形生成原理所生成的分形圖具有多樣性和可控性等特點(diǎn),載體信息也不是傳統(tǒng)的圖像信息,而是生成分形圖的參數(shù),其載體信息容量小,傳輸或者加密的靈活性高,與其他加密方法的適配性高。具有一定的推廣性和實(shí)用性。
DLA;信息隱藏;DLA團(tuán)簇
基于分形的信息隱藏算法研究是對(duì)傳統(tǒng)信息隱藏算法的補(bǔ)充,而DLA(Diffusion-limited Aggregation擴(kuò)散限制凝聚)模型是分形圖形的一種,是具有分形特征的特殊圖形,全稱為擴(kuò)散限制凝聚,即Diffusion-limited Aggregation(DLA),最初由Witten和Sander于1978年共同提出。DLA模型先設(shè)置一個(gè)初始的粒子作為種子,然后隨機(jī)生成一個(gè)粒子,此粒子進(jìn)行簡(jiǎn)單的運(yùn)動(dòng),直到與初始的種子相遇,成為凝聚體的一部分,重復(fù)生成這樣的粒子,不斷壯大凝聚體,成為一定規(guī)模的DLA團(tuán)簇(Cluster)。
基于DLA的分形圖生成過程簡(jiǎn)單,參數(shù)容量小,模擬的時(shí)間短,也可以用于信息隱藏,其隱藏方式有別于傳統(tǒng)的信息隱藏,載體為分形生成的參數(shù),信息量小,傳輸?shù)撵`活性較高。在文獻(xiàn)[1]中柏森等人提出了一種具有視覺意義的分形圖加密算法,利用分形圖將平面圖像加密為分形景物或分形植物圖像,并將生成參數(shù)作為密鑰傳輸給接收方,接收方可以通過反向處理從分形圖像中得到平面圖像。在文獻(xiàn)[2]中利用數(shù)學(xué)仿射變換及分形迭代函數(shù)系統(tǒng)生成黑白的分形圖形,并將其進(jìn)行像素置亂后進(jìn)行信息隱藏,并分析了隱藏容量等參數(shù)。在文獻(xiàn)[3]中趙子越研究了DLA的分形圖生成公式及算法。但以上的文獻(xiàn)沒有研究基于DLA分形圖的信息隱藏算法,本文的研究?jī)?nèi)容有一定的新穎性和實(shí)用性。
在多種仿真凝聚模型中,有限擴(kuò)散凝集模型是近些年被運(yùn)用最多的,現(xiàn)實(shí)生活中有許多類似的分形結(jié)構(gòu),如冬日玻璃上凝聚的霜花,松花蛋上美麗的松花紋路,這些都是具有分形特征的凝聚體。正如sander所提出的,DLA模型能夠用簡(jiǎn)單的粒子運(yùn)動(dòng)產(chǎn)生具有標(biāo)度不變性的分形結(jié)構(gòu),模擬廣泛自然現(xiàn)象的關(guān)鍵成分,應(yīng)用分形理論于DLA實(shí)驗(yàn)仿真中。
具有DLA模型特征的分形圖會(huì)明顯呈現(xiàn)幾何中心,并進(jìn)行粒子對(duì)的凝聚,其團(tuán)簇中粒子呈現(xiàn)布朗運(yùn)動(dòng)隨機(jī)的特征直到產(chǎn)生黏附。因此,DLA的生成首先設(shè)置一個(gè)初始種子,再隨機(jī)生成一個(gè)種子,讓其隨意移動(dòng),直到與初始種子連接,成為DLA蔟的一部分,再重新隨機(jī)生成一個(gè)粒子,重復(fù)上述的生成-移動(dòng)-連接-DLA蔟擴(kuò)充的過程,直到生成一個(gè)足夠大的DLA團(tuán)簇(cluster)。當(dāng)需要多個(gè)DLA蔟時(shí),可以設(shè)置多個(gè)種子。
DLA分形圖的生成會(huì)首先設(shè)立一個(gè)N*N的方形點(diǎn)陣,在其中心設(shè)置一個(gè)粒子作為團(tuán)簇種子,成為團(tuán)簇的中心,隨后在其周圍隨機(jī)生成做布朗運(yùn)動(dòng)的粒子,直到該粒子黏附在當(dāng)前的DLA團(tuán)簇上,并重復(fù)以上過程,當(dāng)總的粒子數(shù)達(dá)到預(yù)期的數(shù)值時(shí),則模型仿真完成。
根據(jù)DLA蔟的生成原理可以設(shè)計(jì)如下算法,以實(shí)現(xiàn)DLA分形圖:
步驟1:先定義初始參數(shù)如,粒子的數(shù)目S,一個(gè)N*N的矩陣等。
步驟2:設(shè)置一個(gè)隨機(jī)種子,如果需要多個(gè)DLA蔟,可以設(shè)置多個(gè)種子。
步驟3:生成隨機(jī)的粒子,可以通過公式限定其形狀,如隨機(jī)生成的數(shù)據(jù)可以成為半徑,通過種子作為正弦或者余弦以生成圓形。
步驟4:讓隨機(jī)粒子進(jìn)行布朗運(yùn)動(dòng),并判斷該粒子是否黏附。
步驟5:如果沒有黏附,就繼續(xù)判斷粒子是否出了邊界,如果沒有出邊界,則重復(fù)步驟4。
步驟6:如果出了邊界,則銷毀粒子,重新生成新的粒子,并重復(fù)步驟2。
步驟7:步驟4中若是粒子黏附,則讓粒子數(shù)目增加。并判斷粒子數(shù)目是否達(dá)到S,如果沒有達(dá)到,就重復(fù)執(zhí)行步驟2,否則程序結(jié)束。
圖1 用不同的參數(shù)生成的分形龍
如上圖所示,不同的參數(shù)如隨機(jī)種子R,粒子總數(shù)N會(huì)生成不同的分形圖,粒子總數(shù)越多,則生成的分形圖越精細(xì)。
基于DLA分形模型的信息隱藏實(shí)現(xiàn)的基本思想是:先計(jì)算出隱秘信息的信息容量,并據(jù)此容量大小準(zhǔn)備分形圖,挑選切合主題的隱藏載體圖片,以使信息隱藏過程不易察覺。根據(jù)容量大小N設(shè)定DLA模型的粒子總數(shù)。同時(shí),為了增加安全性,可以對(duì)隱秘圖像的像素置亂后再存入,用隨機(jī)種子決定置亂順序。基于DLA的信息隱藏步驟如下:
步驟1:引入待隱藏的隱秘圖像,并計(jì)算其像素總量N。
步驟2:用N作為DLA分形圖生成的粒子總量,設(shè)定初始隨機(jī)量R1,用于決定分形圖的粒子運(yùn)動(dòng)隨機(jī)值,生成分形圖形。
步驟3:將待隱藏的隱秘圖像轉(zhuǎn)化為矩陣A;同時(shí)設(shè)置兩個(gè)與A矩陣尺寸一樣大的矩陣B、C,B作為置亂矩陣,保持置亂參數(shù),C作為標(biāo)志矩陣,存入標(biāo)志參數(shù)。設(shè)置隨機(jī)種子R2。
步驟4:根據(jù)隨機(jī)種子R2生成隨機(jī)數(shù),并對(duì)N取模,確保生成的隨機(jī)數(shù)在N以內(nèi),如果該數(shù)沒有在標(biāo)志矩陣中存入過,則存入置亂矩陣B中作為置亂參數(shù),同時(shí)在標(biāo)志矩陣C中做好標(biāo)志。
步驟5:如果該位置在標(biāo)志矩陣C中已經(jīng)標(biāo)志過,則重復(fù)執(zhí)行步驟4。
步驟6:引入準(zhǔn)備好的載體圖像,轉(zhuǎn)化為矩陣D,根據(jù)圖像特征選擇隱秘信息的存入位移坐標(biāo)X,并以此為起點(diǎn)進(jìn)行隱秘信息的載入。
步驟7:存入隱秘圖像時(shí),根據(jù)置亂矩陣中的置亂參數(shù)存入,增加隱秘信息隱藏的安全性。
圖4 秘密信息隱藏的過程
如上圖所示,將待隱藏的圖像(b)置亂后以分形圖矩陣存儲(chǔ),存入到原始圖像(c)中,得到如(d)的含秘圖像。
精心挑選的原始圖像可以混淆視線,讓人不容易看出該圖像中含有隱秘信息,能盡量不讓人察覺的信息隱藏方式就是最成功的。
同時(shí)秘密信息的提取并不需要獲取原始圖像,只需要傳輸分形參數(shù),置亂參數(shù)等文字的參數(shù)重新生成分形圖和置亂參數(shù)等。需要傳遞的參數(shù)是文本信息,容量很小,因此傳輸?shù)姆绞礁屿`活,且能結(jié)合各種加密方式進(jìn)行傳輸。以確保參數(shù)不易被截獲,就算被截獲,也不容易分析出隱秘信息。
接收方接收到初始參數(shù)后,根據(jù)參數(shù)重新繪制DLA模型,轉(zhuǎn)化為矩陣,并根據(jù)分形圖矩陣,換算出讀取坐標(biāo),讀取含秘圖像中的隱秘信息,此時(shí)所讀取的信息的亂序的。需要根據(jù)隨機(jī)參數(shù)R2重新生成標(biāo)志矩陣和置亂矩陣,通過置亂矩陣的置亂參數(shù),還原隱秘信息。
本文用DLA團(tuán)簇的方式生成分形圖,相關(guān)的研究目前比較少,對(duì)應(yīng)的隱寫分析也就比較缺乏,因此本算法的抗隱寫分析能力較好,同時(shí)本文的相關(guān)描述都已經(jīng)實(shí)現(xiàn)了仿真,因此算法具有一定的實(shí)用性和創(chuàng)新性。
綜上所述,本文所提出的將信息隱藏在DLA分形特征的圖形中,解密只需要傳遞簡(jiǎn)單的隨機(jī)因子,循環(huán)次數(shù),生成隨機(jī)點(diǎn)規(guī)則等參數(shù),由于參數(shù)信息量少,可以用多種傳遞方式進(jìn)行傳輸,甚至可以在傳輸?shù)倪^程中進(jìn)行加密,提高隱秘分析的難度。但本文尚未對(duì)對(duì)應(yīng)的參數(shù)傳遞及再次加密進(jìn)行討論,是留待下次解決的問題。
[1]Sen Bai,Longfu Zhou,Mingzhu Yan,Xiaoyong Ji & Xuejiao Tao. Image Cryptosystem for Visually Meaningful Encryption Based on Fractal Graph Generating[J]. IETE TECHNICAL REVIEW,2021(38):130-141.
[2]柏森,周龍福,陽(yáng)溢,等.以分形圖形為載體的信息隱藏算法[J].計(jì)算機(jī)應(yīng)用,2018,38(8):2306-2310.
[3]李水根,趙新鵬.基于正交試驗(yàn)法的 DLA/DLCA 虛擬絮體分形成長(zhǎng)機(jī)制模擬研究[D].湖南:湖南大學(xué)土木工程學(xué)院,2019.
[4]張權(quán)義.基于隨機(jī)IFS迭代系統(tǒng)的分形樹模擬[J].山西師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,32(4):19-25.
[5]陶雪嬌.基于IFS碼的分形圖像生成算法研究[J].軟件導(dǎo)刊,2017,16(8):53-55.
[6]朱海祥.基于IFS法的分形圖形生成及優(yōu)化設(shè)計(jì)[J].高師理科學(xué)刊,2016,(36):29-30.
[7]Xuejiao Tao,Sen Bai,Chun Liu. Change Zhu,Haojun Chen,Yi Yan. Algorithm of Controllable Fractal Image Based on IFS Code[C]. Shenyang,China:2021 IEEE International Conference on Power Electronics,Computer Applications,2021.
重慶市自然科學(xué)基金面上項(xiàng)目(cstc2020jcyj-msxmX1033);重慶市教委科學(xué)技術(shù)研究計(jì)劃項(xiàng)目(KJQN201801904,KJZD-K201801901)