淺析PFTL圖像加密算法

混沌理論與密碼學(xué)存在著一些天然的相似性,使得混沌與密碼學(xué)結(jié)合地相得益彰?;煦绲能壍阑旌咸匦詫?duì)應(yīng)于傳統(tǒng)加密系統(tǒng)的擴(kuò)散特性,混沌信號(hào)的類隨機(jī)特性和對(duì)系統(tǒng)參數(shù)的敏感性對(duì)應(yīng)于傳統(tǒng)加密系統(tǒng)的混亂特性,這保證了混沌加密與傳統(tǒng)密碼學(xué)同樣具有良好的擴(kuò)散與混亂特性。因此,提出了一種基于Clifford超混沌映射和加法模運(yùn)算的圖像加密算法——PFTL算法。

PFTL圖像加密算法描述

圖像預(yù)處理
設(shè)明文圖像M的大小為N×N,把圖像看作是一個(gè)N×N的序列,圖像的任一點(diǎn)的灰度值用M(i)表示,i=1,2,…,N2,L表示圖像的灰度值級(jí)別,預(yù)處理的過(guò)程如下:

Step1設(shè)定Clifford映射的初始值x0,y0,z0。

Step2系統(tǒng)每次迭代產(chǎn)生3個(gè)混沌值:xi,yi,zi,提取xi,yi,zi小數(shù)點(diǎn)后的第i位,合并成一個(gè)新的十進(jìn)制整數(shù),取模L運(yùn)算后得到一個(gè)整數(shù)S(i)。

Step3重復(fù)N×N次Step2操作,得到一個(gè)混沌整數(shù)序列S(i)(i=1,2,…,N2)。

Step4對(duì)明文圖像M進(jìn)行運(yùn)算D(i)=M(i) +S(i),設(shè)經(jīng)過(guò)預(yù)處理的圖像用D(i)(i=1,2,…,N2)表示。

灰度值擴(kuò)散
對(duì)預(yù)處理后的圖像D(i)(i=1,2,…,N2)進(jìn)行如下的運(yùn)算即完成灰度值擴(kuò)散:

C(i)=C(i-1) + (D(i)+K1D(i)+K2C(i-1))mod L,

這里i=1,2,…,N2

上述兩個(gè)變換環(huán)節(jié)經(jīng)過(guò)圈迭代后,輸出的結(jié)果作為密文圖像C(i)(i=1,2,…,N2)。PFTL圖像加密算法的流程如圖所示:
淺析PFTL圖像加密算法

PFTL算法在原文中對(duì)算法的描述存在錯(cuò)誤,按照其描述算法將無(wú)法正常加解密,并且算法密鑰參數(shù)的分析也存在錯(cuò)誤,對(duì)這些錯(cuò)誤糾正如下:

1、原文中的灰度值擴(kuò)散算法為:

C(i)=C(i-1) + (D(i)+K1D(i)+K2C(i))mod L,

該變換中當(dāng)前的密文直接參與當(dāng)前密文的生成,按此變換環(huán)節(jié)加密算法將無(wú)法得到相應(yīng)的密文。依據(jù)原文文意,正確的灰度擴(kuò)散算法應(yīng)為C(i)=C(i-1) + (D(i)+K1D(i)+K2C(i-1))mod L,

注意到必須有(1+K1,L)=1,相應(yīng)的解密算法應(yīng)為

D(i)=((C(i) +C(i-1))-K2C(i-1)·(1+K1)-1 mod L。

2、密鑰參數(shù)的分析錯(cuò)誤。依據(jù)整個(gè)圖像加密算法,作者選擇的密鑰參數(shù)為Clifford映射的初始值x0,y0,z0,和在擴(kuò)散算法中涉及的參數(shù)K1,K2,C(0)。而在原文分析中卻將C(N2),C(1)作為密鑰參數(shù),因?yàn)镃(N2),C(1)是密文的一部分,敵手是可以容易獲得的,把它當(dāng)作密鑰顯然是沒(méi)有意義的。

3、密鑰空間分析有誤。PFTL算法的密鑰參數(shù)配置可以采用兩種方式,一種是迭代的各圈使用相同的密鑰參數(shù),另一種是迭代的每一圈使用不同的密鑰參數(shù),顯然后一種情況的密鑰空間更大,本文針對(duì)后一種密鑰配置方式進(jìn)行分析。此時(shí),使用的密鑰參數(shù)包括Clifford超混沌射的初始值x0,y0,z0,置亂密鑰K1、K2和擴(kuò)散密鑰C(0),以及算法迭代的圈數(shù)n。其中K1、K2和C(0)的取值范圍是[0,L)上的整數(shù),n是正整數(shù)。當(dāng)灰度級(jí)數(shù)為L(zhǎng)時(shí),計(jì)算機(jī)數(shù)據(jù)使用雙精度為2-32,密鑰的空間最大為:(232×232×232×L×L×L)n=296n·L3n。