基于嵌入式系統(tǒng)的混沌數(shù)字圖像加密研究
摘 要: 常用的PC級加密算法運算量過大,不適合在嵌入式設備上運行。為了使嵌入式設備的數(shù)據(jù)存儲及傳輸能夠安全地進行,利用混沌信號對數(shù)據(jù)進行加密以提高嵌入式設備數(shù)據(jù)的安全性。在ARM2440+Linux平臺上實現(xiàn)了混沌信號生成功能并利用混沌信號對數(shù)字圖像進行加密的實驗,最終生成加密后的一份密文信息。
關鍵詞: 混沌加密;嵌入式系統(tǒng);ARM;圖像加密;Linux
隨著信息技術的飛速發(fā)展,人們使用手機、PDA處理電子商務、金融證券的網(wǎng)上交易、手機銀行和平板電腦進行數(shù)據(jù)傳輸?shù)念l率也在不斷地提高。但是用戶的個人重要信息(如密碼、身份認證、交易信息等)并沒有得到很好的保護,信息一旦被非法入侵者竊取,就有可能造成巨大的損失。因此,信息安全對這類設備來說極其重要,這就要求此類的嵌入式系統(tǒng)設備應該具有很好的數(shù)據(jù)保密功能。但是目前很多加密算法都是針對PC級的并不適合在嵌入式設備中運行[1]。
混沌信號對初始條件高度敏感,即使是兩個完全相同的混沌系統(tǒng)從幾乎相同的初始條件開始演化,而它們的軌道將很快變得互不相關,這使混沌信號具有長期不可預測性和抗截獲能力。同時混沌系統(tǒng)本身又是確定性的,完全由非線性系統(tǒng)的方程、參數(shù)和初始條件所決定,因此又使混沌信號易于產生和復制?;煦缧盘柕碾[蔽性、不可預測性、高復雜度和易于實現(xiàn)等特性都特別適用于保密通信[2]。而且混沌具有的初值敏感、參數(shù)可控性和偽隨機性的特性,正好吻合數(shù)據(jù)加密的兩條原則:擴散和混亂。故混沌算法很適合用來進行數(shù)據(jù)加密[3]。
1 嵌入式系統(tǒng)圖像混沌加密實現(xiàn)原理[4]
1.1 混沌加密原理
混沌信號用于數(shù)據(jù)保密通信中有多種形式,混沌保密是利用混沌信號的各種特性來實現(xiàn)的。在數(shù)據(jù)的發(fā)送端將其作為密鑰明文信息和混沌信號經(jīng)加密變換后形成密文,然后在信道中傳送,在接收端知道解密密鑰和解密變換的合法用戶,能夠得到正確的明文。這種加密原理主要是源于傳統(tǒng)的對稱密鑰加密算法。
混沌加密中一個重要的因素是混沌同步,其決定混沌信號能不能運用到加密中,用能夠同步的混沌信號加密才能正確解密。所謂混沌同步是指一個系統(tǒng)的混沌動力學軌道收斂于另一個系統(tǒng)的混沌動力學軌道,以致兩個系統(tǒng)在以后的時間里始終保持步調的一致。目前常用的混沌同步方法主要有以下幾種:驅動-響應同步及串聯(lián)同步法、主動-被動同步法、互耦合混沌同步法、自適應同步方法和神經(jīng)網(wǎng)絡同步方法等[5]。本文所用的Chen系統(tǒng)是使用系統(tǒng)中的X作為驅動變量來實現(xiàn)驅動-響應同步。下面以Chen系統(tǒng)為例對系統(tǒng)進行研究。
2 ARM 嵌入式Linux系統(tǒng)的軟硬件平臺
2.1 系統(tǒng)的硬件平臺
加密系統(tǒng)平臺采用三星公司的32 bit微處理器S3C2440A。該處理器內部集成了ARM920T內核,能夠實現(xiàn)MMU、AMBA、BUS和Harvard高速緩沖體系結構。帶有獨立的16 KB指令Cache和16 KB數(shù)據(jù)Cache,并且集成了很多外圍設備接口,如RAM控制器、Nand Flash控制器、10/100 M以太網(wǎng)接口、LCD控制器、并行I/O口,主頻最高可達533 MHz[6]。
硬件平臺配置了256 MB 8 bit NAND Flash、64 MB 32 bit的SDRAM。通過以太網(wǎng)控制器芯片DM9000擴展了一個網(wǎng)口、一個SD卡接口、I/O擴展接口、觸摸屏接口、RS-232串行通信接口。另外,硬件平臺上還有一些擴展模塊:一個I/O擴展電路接口,用于現(xiàn)場數(shù)據(jù)的采集;GPRS模塊接口,用于發(fā)送和接收加密后的數(shù)據(jù)。主板也可以通過以太網(wǎng)接口與外界通信,在實驗中主要是通過以太網(wǎng)以NFS來掛載加密系統(tǒng)在平臺上運行。系統(tǒng)硬件結構圖如圖2所示。