嵌入式Linux系統(tǒng)語音混沌加密算法

現(xiàn)代語音通信大大方便了人們的交流,但是隨之產生語言安全的問題,人們擔心自己的通話被竊聽,但傳統(tǒng)的電腦加密算法運算量大不適合在手持的移動設備中使用,用混沌信號對通話語音進行加密提高嵌入式設備數(shù)據(jù)的安全性同時運算量相對適中。

一、嵌入式Linux系統(tǒng)語音混沌加密算法

1、混沌加密原理

混沌信號用于數(shù)據(jù)保密通信中有很多種形式,主要是利用混沌信號對明文進行掩蓋或者置亂,掩蓋就是對明文信號進行數(shù)值的改變,而置亂則是僅僅改變明文的順序來達到加密的目的??傊煦绫C苁抢没煦缧盘柕母鞣N特性來實現(xiàn)的。在發(fā)送端將密鑰明文信息和混沌信號經(jīng)加密變換后形成密文,在信道中傳送,接收端合法用戶知道解密密鑰和解密變換因此能夠得到正確的明文?;煦缤?jīng)Q定混沌信號能不能運用到加密中,用能夠同步的混沌信號加密才能正確解密。關鍵是能否進行混沌同步,混沌同步就是指一個系統(tǒng)的混沌動力學軌道收斂于另一個系統(tǒng)的混沌動力學軌道,以致兩個系統(tǒng)在以后的時間里始終保持步調的一致。

貓映射是經(jīng)典的算法滿足加密解密的條件,所以本文采用貓映射算法進行加密,用它來對語音信號進行置亂產生密文然后通過藍牙模塊進行無線傳輸一。

2、貓映射狀態(tài)方程

貓映射狀態(tài)方程:

系數(shù)矩陣:的秩只要為1就可以了。由方程可以看出在ARM平臺上實現(xiàn)并不需要進行特別的離散化措施凸這里暫且取a=1,b=1,c=1,d=2,初值x=1,y =1,得到Matlab仿真相圖,如圖1所示。

二、ARM開發(fā)板和相應的Linux操作系統(tǒng)

1、ARM開發(fā)板的硬件平臺

實驗平臺采用友善之臂mini2440開發(fā)板,板上為三星公司的32位微處理器S3C2440A。該處理器內部集成了ARM920T內核,內部結構集成了MMU、AMBA、BUS和Harvard高速緩沖結構,帶有獨立的16 KB指令Cache和16 KB數(shù)據(jù)Cache,并且板上集成了很多外圍設備接口,如RAM控制器、Nand FLASH控制器、10/100M以太網(wǎng)接口、LCD控制器、并行I/O口,主頻最高可達533 MHz等。本文主要是用到了板上的SD卡座,以及SD8868系統(tǒng)硬件結構圖如圖2所示。

2、嵌入式Linux系統(tǒng)

嵌入式設備例如手持設備等都采用嵌入式Linux系統(tǒng)。這是因為Linux系統(tǒng)是開源免費的,Linux系統(tǒng)的可靠性高。因此,本實驗中的平臺采用的是Linux操作系統(tǒng),內核為2.6的內核。整個系統(tǒng)的架構如圖3所示,其中最底層的是引導加載Linux內核程序的Bootloader,它指定了內核存在FLASH中的位置,一般采用Uboot,這里系統(tǒng)采用三星公司自行研發(fā)的Supervivi;中間的是Linux 2.6.32.2的內核,在內核中包含了初始化平臺的各個函數(shù)、串口終端、LCD、以太網(wǎng)及相關的設備驅動等,這里將根據(jù)一些不需要的設備對內核進行裁剪;緊接著的是根文件系統(tǒng),這也是嵌入式Linux中不可缺少的一部分,這一層中包涵了嵌入式平臺的必不可少的bin文件;最頂層的是用戶應用程序,加密解密程序屬于這一層。

三、貓映射加密算法設計和實現(xiàn)框圖

1、加密設計模塊

本文采用將原始的語音信號文件作為參數(shù)加入到用戶態(tài)加密程序當中,進行貓映射加密,加密后產生密文語音文件群將加密后的文件經(jīng)過藍牙模板進行傳輸。在另一塊板子上進行接收解密,設計原理如圖4所示出。

2、程序實現(xiàn)流程圖

首先由系統(tǒng)內部為運行的程序提供環(huán)境進行初始化讀取參數(shù),判斷文件是否存在,如果不存在就進行出錯處理,如果文件存在則程序試圖讀文件,并進行判斷然后進行出錯處理。由于需要存儲加密后的語音文件所以需要創(chuàng)建新文件,在進行貓映射加密后存人新文件,將新文件調用socket接口用藍牙進行傳輸。因為要使用藍牙模塊進行傳輸,所以有關藍牙傳輸?shù)膮f(xié)議和驅動程序必須在編譯內核的時候進行加載D根據(jù)上面所提到設計的流程對其進行嵌入式C語言的編程,程序的流程首先對相關的函數(shù)進行初始化,根據(jù)嵌入式系統(tǒng)的開發(fā)原則,對跨平臺開發(fā)的程序進行交叉編譯,系統(tǒng)中使用宿主機上的交叉編譯工具arm -linux-gcco使用交叉編譯工具編譯后生成目標板可執(zhí)行的目標代碼后移植到目標板上。加密算法流程如圖5所示。

四、嵌入式Linux系統(tǒng)語音混沌加密算法的實驗結果和分析

1、嵌入式Linux系統(tǒng)語音混沌加密算法的實驗結果

加密算法結果分析如圖6所示,圖6中三幅圖分別為加密前語音信號的波形,加密后語音信號的波形和解密后語音信號的波形。貓映射加密對語音信號進行了置亂,置亂的結果比較好的隱藏了原始語音信號,解密則很好的再現(xiàn)了原始的語音信號。

2、嵌入式Linux系統(tǒng)語音混沌加密算法的分析和結論

由于貓隱射對原始語音信號進行置亂比較好的隱藏了原文的信息,從加密后的波形圖可以看出,只要置亂的迭代輪數(shù)足夠就能跟原來的波形完全不一樣,但是并沒有對信號進行掩蓋,故其直方圖跟原來的信號是一樣的,這是一個不足但同時減少了運算量,達到了實時性的要求,用戶通話沒有明顯的延遲,這在手持設備中就已經(jīng)足夠了。如果需要還可以對其進行混沌掩蓋。

小知識之Linux系統(tǒng)

Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統(tǒng)。它能運行主要的UNIX工具軟件、應用程序和網(wǎng)絡協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡為核心的設計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡操作系統(tǒng)。