1 引言
混沌是非線性動(dòng)力系統(tǒng)所特有的一種運(yùn)動(dòng)形式,它廣泛地存在于自然界。一般而言,混沌現(xiàn)象隸屬于確定性系統(tǒng)而難以預(yù)測(cè),隱含于復(fù)雜系統(tǒng)但又不可分解,呈現(xiàn)多種混沌無序卻又頗有規(guī)則的圖像。
混沌信號(hào)的表現(xiàn)形式非常復(fù)雜,具有類噪聲,非周期等特點(diǎn)。但是混沌系統(tǒng)本身又是確定的,由方程,參數(shù)所完全決定,是確定性非線形系統(tǒng)產(chǎn)生的不確定的信號(hào),其狀態(tài)完全可以重現(xiàn)?;煦缦到y(tǒng)對(duì)初值敏感。初值X0的微小的差異,Xn將有很大的差異。這種對(duì)初值的敏感性,很小的初值誤差就能被系統(tǒng)放大,使得兩個(gè)完全相同的混沌系統(tǒng)從幾乎相同的初始條件開始演化,很快它們的軌道就變得差異很大,互不相關(guān)。因此,系統(tǒng)的長(zhǎng)期性是不可預(yù)測(cè)的。這些性質(zhì)使得混沌信號(hào)具有長(zhǎng)期不可預(yù)測(cè)性和很強(qiáng)的抗截獲能力。所以將混沌掩蓋引入保密通信領(lǐng)域具有極其廣闊的前景和巨大的潛力]。
混沌信號(hào)的產(chǎn)生是混沌加密實(shí)現(xiàn)的關(guān)鍵,由某些硬件電路組成的物理系統(tǒng)(例如蔡氏電路和模擬Lorenz系統(tǒng)的振蕩器等)所產(chǎn)生的連續(xù)混沌信號(hào)是不可預(yù)測(cè)的,傳統(tǒng)的采用模擬電路產(chǎn)生混沌信號(hào)的方法雖然有很多優(yōu)點(diǎn),但仍存在著由于通信兩端模擬電路的器件精度難以完全一致,導(dǎo)致同步性能不是很好的問題。而DSP具有小型嵌入式操作系統(tǒng),實(shí)時(shí)加密,應(yīng)用方便,又不存在器件的精度問題[3] ,可以在保密通信中實(shí)現(xiàn)很好的同步。
2 混沌加密的基本理論
2.1 Lorenz方程
混沌信號(hào)的質(zhì)量是加密效果的關(guān)鍵。文中選用Lorenz 系統(tǒng)。Lorenz 方程為三維,屬于高維混沌系統(tǒng)。應(yīng)用Lorenz 方程等高維系統(tǒng)構(gòu)造序列密碼的優(yōu)點(diǎn)在于:一是可以對(duì)多個(gè)系統(tǒng)變量進(jìn)行處理產(chǎn)生序列密碼。產(chǎn)生序列密碼的原始混沌浮點(diǎn)數(shù)序列既可以是一個(gè)混沌變量的序列值,也可以是多個(gè)變量的函數(shù)值。這樣序列密碼的設(shè)計(jì)更靈活,有更大的空間。提高安全性、改善有限精度造成的短周期效應(yīng)。二是能提供大量密鑰空間。Lorenz 方程具有3個(gè)系統(tǒng)變量,也就是有3 個(gè)初始值,還有3 個(gè)系統(tǒng)參數(shù),這些都可以用來作為序列密碼系統(tǒng)的種子密鑰[4]

選取系統(tǒng)參數(shù):u=16,r=45.2,b=4,初值的選取可以是不為零的任意數(shù),最好能選取在系統(tǒng)混沌吸引子中,這樣可以使系統(tǒng)快速地進(jìn)入混沌狀態(tài)。
2.2 混沌信號(hào)的產(chǎn)生
混沌信號(hào)的產(chǎn)生主要借助于DSP 強(qiáng)大的運(yùn)算能力,采用數(shù)值計(jì)算的方法。混沌方程的微分?jǐn)?shù)值計(jì)算方法主要有:歐拉方法、改進(jìn)歐拉方法和四階龍格-庫塔法。這三種方法精度由低到高,計(jì)算量同樣由低到高。文中采用歐拉法。運(yùn)用歐拉法將方程化為差分方程:定義x、y、z 為雙精度型,選取初值x0=0.15、y0=0.1、z0=0.1。方程參數(shù)值選取A=16、B=45.2、C=4,并定義步長(zhǎng)為k,在給定初值的情況下,運(yùn)用下面三個(gè)方程產(chǎn)生混沌信號(hào):

3 基于DSP 的混沌信號(hào)產(chǎn)生器
3.1.硬件構(gòu)成與系統(tǒng)框圖
考慮到算法復(fù)雜度與開發(fā)便利,本系統(tǒng)采用TI 公司生產(chǎn)的通用高性能32 位定點(diǎn)DSP即TMS320DM642 作為主處理器。該處理器工作主頻高達(dá)720MHZ,處理性能可達(dá)5760MIPS,完全可以滿足算法的要求。整個(gè)加密系統(tǒng)的硬件是由上位機(jī)、兩臺(tái)DSP 及其外設(shè)組成[5] ,硬件框圖如圖1 所示。PC 機(jī)通過JTAG 仿真器接口與DSP 相連,以方便PC 機(jī)對(duì)系統(tǒng)進(jìn)行調(diào)試,DSP 負(fù)責(zé)混沌信號(hào)的產(chǎn)生與數(shù)據(jù)的加密。實(shí)時(shí)語音數(shù)據(jù)經(jīng)過AD 采樣傳輸?shù)紻SP 片內(nèi)RAM 中。由于片內(nèi)RAM 空間有限,DSP 將把所接受到的數(shù)據(jù)寫到片外SRAM 中加以保存。DSP 調(diào)用特定的混沌加密算法,對(duì)所接受的數(shù)據(jù)進(jìn)行加密處理,將加密后的數(shù)據(jù)通過DSP 的以太網(wǎng)口用網(wǎng)絡(luò)傳輸?shù)搅硪慌_(tái)DSP 上,然后在另一臺(tái)DSP 上解密,最后經(jīng)DA輸出,還原原始的實(shí)時(shí)語音信號(hào)[6]。

3.2.軟件流程
DSP 的實(shí)時(shí)操作系統(tǒng)(RTOS)是一段嵌入在目標(biāo)代碼中的軟件,用戶的其他程序都建立在這一操作系統(tǒng)之上,具有很高的可靠性和可行性的內(nèi)核,可以根據(jù)優(yōu)先級(jí)合理的分配資源和CPU 的時(shí)間。在實(shí)現(xiàn)過程中可以屏蔽掉一些具體的硬件操作細(xì)節(jié)。本系統(tǒng)的開發(fā)就采用了DSP/BIOS,DSP/BIOS 是TI 公司針對(duì)其生產(chǎn)的DSP 芯片而開發(fā)的一個(gè)實(shí)時(shí)操作系統(tǒng),可實(shí)時(shí)調(diào)度和同步以及進(jìn)行主機(jī)/目標(biāo)系統(tǒng)通信和實(shí)時(shí)監(jiān)控的應(yīng)用。它具有搶占式多任務(wù)內(nèi)核,硬件抽象層,實(shí)時(shí)系統(tǒng)工具,配置工具??梢暂p易地實(shí)現(xiàn)多線程的實(shí)時(shí)調(diào)度與同步,硬件中斷響應(yīng)時(shí)間一般在微秒級(jí)(us)。DSP/BIOS 是由許多功能模塊構(gòu)成的,每個(gè)功能模塊都提供了大量標(biāo)準(zhǔn)的API 接口,從而實(shí)現(xiàn)了對(duì)硬件的抽象,程序員通過調(diào)用API 可以很容易利用DSP/BIOS 所提供的各種功能,如線程創(chuàng)建,撤銷,喚醒等等??傊?,利用DSP/BIOS 極大地提高了DSP 軟件開發(fā)的可靠性,大大加快了開發(fā)進(jìn)度。
RTOS 中最重要的概念就是任務(wù),每一個(gè)線程有一些任務(wù)組成,本系統(tǒng)的軟件結(jié)構(gòu)采用多線程同步工作方式,主要分為三個(gè)線程:(1)網(wǎng)絡(luò)處理線程tsk1,主要負(fù)責(zé)啟動(dòng)TCP/IP 協(xié)議棧與上位機(jī)進(jìn)行以太網(wǎng)數(shù)據(jù)交換,并把接收到的數(shù)據(jù)通過SCOM 模塊傳輸給加解密線程;
(2)加解密處理線程tsk2,主要負(fù)責(zé)調(diào)用特定的混沌加解密算法對(duì)收到的數(shù)據(jù)進(jìn)行加解密處理,并通過SCOM 模塊傳遞給輸出線程;(3)I/O 線程tsk3,負(fù)責(zé)將語音信號(hào)通過AD 輸入,同時(shí)把tsk2 傳來的數(shù)據(jù)通過DA 模塊進(jìn)行輸出,整個(gè)軟件流程圖如圖2 所示。

系統(tǒng)的I/O 采用了DSP/BIOS 的SIO(Stream I/O)模塊。該模塊對(duì)底層硬件操作作了抽象,為用戶提供了一個(gè)與設(shè)備無關(guān)的交互接口,完全不用關(guān)心IO 設(shè)備的細(xì)節(jié)特。Stream(流)是應(yīng)用程序和IO 設(shè)備之間的數(shù)據(jù)通道,采用異步的方式進(jìn)行IO 操作,利用SIO 模塊的issue/reclaim 模式,應(yīng)用程序就可以通過與SIO 交換緩存地址進(jìn)行數(shù)據(jù)的輸入輸出了,開辟了雙緩存bufa,bufb。應(yīng)用程序?qū)⒁痪彺鎱^(qū)bufa 填滿數(shù)據(jù),然后將首地址傳遞給SIO,SIO將自動(dòng)調(diào)用底層驅(qū)動(dòng)程序操作外設(shè),對(duì)bufa 進(jìn)行數(shù)據(jù)IO,無需應(yīng)用程序的干預(yù)。待bufa 數(shù)據(jù)IO 完畢后,SIO 將空緩沖交還給應(yīng)用程序,同時(shí)接收新緩存區(qū)bufb, 這種IO 管理方式,采用指針,避免了數(shù)據(jù)的拷貝,減少了應(yīng)用程序的開銷,如此可以達(dá)到高效的數(shù)據(jù)IO 效率,減少CPU 時(shí)間占用消耗,并且大大地提高了程序的可移植性和易于維護(hù),很好的滿足了實(shí)時(shí)性的要求。
4 混沌序列的驗(yàn)證
通過DSP的DA輸出,將信號(hào)引到示波器,分別可以得到XY,YZ,XZ的兩維信號(hào)相圖見圖3。由此可見,示波器輸出的波形和理論值是基本吻合的,以此驗(yàn)證了加密序列是混沌序列。

5 語音實(shí)時(shí)信號(hào)加解密驗(yàn)證
由于采用的DSP/BIOS系統(tǒng)是一個(gè)實(shí)時(shí)操作系統(tǒng),它能很方便的應(yīng)用在實(shí)時(shí)信號(hào)處理方面??梢曰贒SP/BIOS建立一個(gè)語音加密系統(tǒng),對(duì)輸入的實(shí)時(shí)語音信號(hào)進(jìn)行混沌加密。為了驗(yàn)證這一系統(tǒng)以及觀察方便,實(shí)驗(yàn)采用1KHz正弦波作為實(shí)時(shí)語音輸入,將其通過高速AD輸入DSP中,由DSP調(diào)用混沌信號(hào)產(chǎn)生以及加密算法對(duì)其加解密,再通過DSP的左右聲道的DA輸出到示波器進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖4所示。

對(duì)比這幾組實(shí)驗(yàn)結(jié)果,可知通過系統(tǒng)加密模塊,原始語音信號(hào)已不能辨認(rèn),解密模塊在解密密鑰完全相同時(shí)才可以還原出原始信號(hào)。另外可以用實(shí)際的語音信號(hào)在系統(tǒng)一端通過麥克風(fēng)輸入,經(jīng)過加密再從揚(yáng)聲器輸出,語音已經(jīng)不能辨認(rèn),再將其輸入另一臺(tái)解密DSP中,又可以很好的還原原始信號(hào),不過整個(gè)過程會(huì)存在一定的延時(shí)。系統(tǒng)速度瓶頸在于產(chǎn)生混沌序列算法部分,由于混沌運(yùn)算對(duì)精度要求較高,所以混沌序列運(yùn)算中采用了浮點(diǎn)運(yùn)算,對(duì)于DM642定點(diǎn)DSP會(huì)產(chǎn)生較大的處理時(shí)間開銷,因此需要通過編寫定點(diǎn)化程序來提高處理速度。實(shí)驗(yàn)表明,優(yōu)化程序后,系統(tǒng)可以實(shí)時(shí)處理的最高音頻信號(hào)頻率達(dá)到4KHz,完全滿足實(shí)時(shí)語音通信的帶寬要求。
6 總結(jié)
本文提供了一種基于小型嵌入式實(shí)時(shí)操作系統(tǒng)下混沌信號(hào)產(chǎn)生和對(duì)語音實(shí)時(shí)加密的方法,所有的編程都是在DSP/BIOS下完成的, DSP/BIOS有很強(qiáng)的實(shí)時(shí)分析和任務(wù)實(shí)時(shí)管理能力,可以對(duì)程序進(jìn)行實(shí)時(shí)跟蹤與分析,提高應(yīng)用程序開發(fā)的可靠性。在設(shè)計(jì)中由于采用的是定點(diǎn)DSP,在對(duì)采樣點(diǎn)進(jìn)行定點(diǎn)化截尾時(shí),會(huì)有很小的誤差出現(xiàn),如果能夠采用浮點(diǎn)DSP,就可以很好的解決這個(gè)問題。
-
處理器
+關(guān)注
關(guān)注
68文章
20279瀏覽量
253009 -
dsp
+關(guān)注
關(guān)注
561文章
8253瀏覽量
367082 -
仿真器
+關(guān)注
關(guān)注
14文章
1052瀏覽量
87666
發(fā)布評(píng)論請(qǐng)先 登錄
AES加解密算法邏輯實(shí)現(xiàn)及其在蜂鳥E203SoC上的應(yīng)用介紹
基于DSP/BIOS的多信號(hào)并行處理軟件架構(gòu)設(shè)計(jì)
如何利用MEMS和FPGA設(shè)計(jì)移動(dòng)硬盤數(shù)據(jù)加解密系統(tǒng)?
如何利用MEMS強(qiáng)鏈和FPGA設(shè)計(jì)USB移動(dòng)硬盤數(shù)據(jù)加解密系統(tǒng)?
硬件加解密的分類
STM32的加解密硬件模塊
STM32加解密技術(shù)
基于DSP/BIOS的交流信號(hào)檢測(cè)研究
基于DSP BIOS的實(shí)時(shí)語音混沌加密系統(tǒng)
基于DSP和DSP/BIOS的實(shí)時(shí)雷達(dá)信號(hào)采集與處理系統(tǒng)
基于MEMS和FPGA的移動(dòng)硬盤數(shù)據(jù)加解密系統(tǒng)
基于FPGA的可編程AES加解密IP
在DSP/BIOS中實(shí)現(xiàn)的信號(hào)產(chǎn)生和加解密模塊的設(shè)計(jì)
評(píng)論