圖像文件加密中Monte Carlo隨機(jī)數(shù)在的應(yīng)用
隨著圖像加密技術(shù)的發(fā)展,出現(xiàn)了各種各樣的加密方法,其中有基于Arnold變換、仿射變換、Hilberl曲線、幻方、騎士巡游、Cray碼、混沌序列和基于頻城的置亂加密技術(shù)。而我們今天就利用Monte Carlo隨機(jī)數(shù)構(gòu)造了一種新的圖像加密算法,實(shí)驗(yàn)結(jié)果表明該方法計(jì)算簡(jiǎn)單,運(yùn)行速度快,并具有一定的安全性。
一、Monte Carlo方法
Monte Carlo方法又稱統(tǒng)計(jì)試驗(yàn)方法,它采用統(tǒng)計(jì)抽樣理論近似地求解數(shù)學(xué)問題或物理問題。它既可用來研究概率問題,也可用來求解非概率問題。其理論基礎(chǔ)是概率論中很一般的定理——大數(shù)定律,因此這方法的應(yīng)用范圍從原則上說來幾乎沒有什么限制。對(duì)本文的目的而言,隨機(jī)數(shù)不是由隨機(jī)過程生成的數(shù),相反它們是由完全確定的計(jì)算過程所產(chǎn)生的,結(jié)果所得到的數(shù)集有各種統(tǒng)計(jì)性質(zhì),它們統(tǒng)稱為隨機(jī)性。
其中r為乘因子,r和N給定,xo是“隨機(jī)數(shù)”的初始值,這種模乘積方法常用來生成隨機(jī)數(shù)。由Lehmer提出的1中產(chǎn)生偽隨機(jī)數(shù)的方法,是最常用的方法。
s為常數(shù),r、s和N皆為整數(shù),產(chǎn)生整型的隨機(jī)數(shù)序列,隨機(jī)性來源于取模運(yùn)算。
二、Monte Carlo隨機(jī)數(shù)的性質(zhì)
以上方式產(chǎn)生的隨機(jī)數(shù)有以下特點(diǎn):
(l)隨機(jī)數(shù)序列應(yīng)是獨(dú)立的、互不相關(guān)的,即序列中的任一子序列應(yīng)與其他的子序列無(wú)關(guān);
(2)長(zhǎng)的周期:實(shí)際應(yīng)用中,隨機(jī)數(shù)都是用數(shù)學(xué)方法計(jì)算出來的,這些算法具有周期性,即當(dāng)序列達(dá)到一定長(zhǎng)度后會(huì)重復(fù);
(3)均勻性:隨機(jī)數(shù)序列均勻、無(wú)偏,即:如果兩個(gè)子區(qū)間的“面積”相等,則落于這兩個(gè)子區(qū)間內(nèi)的隨機(jī)數(shù)的個(gè)數(shù)影相等;
(4)有效性:模擬結(jié)果可靠,模擬產(chǎn)生的樣本容量大,所需的隨機(jī)數(shù)的數(shù)量大,隨機(jī)數(shù)的產(chǎn)生必須陜速、有效,能夠進(jìn)行并行計(jì)算。
序列{xn}要被認(rèn)為是隨機(jī)數(shù)必須通過一組統(tǒng)計(jì)實(shí)驗(yàn),它們必須均勻的分布在(O,N)區(qū)間內(nèi)。例如:取r=25 173,s=13 849,N=65 536時(shí)有,它產(chǎn)生[0,65 535]的整數(shù)的Well-scrambled分布。
三、基于Monte Carlo隨機(jī)數(shù)的加密
Monte Carlo方法產(chǎn)生的隨機(jī)數(shù)序列有類似于混沌序列的性質(zhì),可以用來對(duì)數(shù)字圖像進(jìn)行置亂變換而達(dá)到加密的效果,而且這種變換具有周期性,很顯然這種隨機(jī)序列的周期僅為圖像的維數(shù)N,當(dāng)進(jìn)行N次變換后就能得到原圖像。
(1)對(duì)于給定的r、s和N,N為待加密圖像的維數(shù),給定不同的初值XO1、X02、X03,產(chǎn)生三個(gè)隨機(jī)序列{x1i),{X2i),{X3i),i=l,2,…,256;
(2)產(chǎn)生加密矩陣T1、T2:
T1=zeros( 256);
for m=1:256
T1(X1(m),X3 (m))=1;
end
Tz2=zeros( 256);
for m=1:256
T2 (X2(m),X3 (m))=1;
end
(3)對(duì)圖像A進(jìn)行加密得到加密圖像B:
其中n為加密次數(shù)。利用Monte Carlo隨機(jī)數(shù)對(duì)大小為128x128的圖像加密1次、2次、3次后的結(jié)果。
小知識(shí)之Monte Carlo
蒙特卡羅(Monte Carlo)方法,或稱計(jì)算機(jī)隨機(jī)模擬方法,是一種基于"隨機(jī)數(shù)"的計(jì)算方法。這一方法源于美國(guó)在第二次世界大戰(zhàn)進(jìn)研制原子彈的"曼哈頓計(jì)劃"。該計(jì)劃的主持人之一、數(shù)學(xué)家馮?諾伊曼用馳名世界的賭城-摩納哥的Monte Carlo-來命名這種方法,為它蒙上了一層神秘色彩。






