文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2014)07-0054-04
中文引用格式:劉衛(wèi)玲,常曉明,王云才.基于FPGA和PSoC的混沌音頻加解密系統(tǒng)[J].電子技術(shù)應(yīng)用,2014,40(07):54-57.
隨著信息技術(shù)和計算機(jī)網(wǎng)絡(luò)技術(shù)的高速發(fā)展,人們對通信安全的要求越來越高,,信息加解密技術(shù)也因此越來越重要,。混沌加密技術(shù)是近幾年發(fā)展很快的一種非線性加密技術(shù)[1],,該技術(shù)依托于混沌系統(tǒng)對初始條件極端敏感[2]和高度隨機(jī)性[3]的特點(diǎn),,具有類噪聲、連續(xù)寬頻帶和長期不可預(yù)測等優(yōu)點(diǎn),,因此,,特別適用于保密通信等領(lǐng)域。
目前國外在混沌保密通信方面的研究較為成熟,,而國內(nèi)在該領(lǐng)域雖做了大量的研究工作,,但大多數(shù)停留在軟件層面上,存在著信息易被攻擊和竊取等問題,。而基于硬件層的加解密在專用硬件中進(jìn)行,,加解密信息存儲在專用設(shè)備中[4]。因此,,相比于軟件加解密技術(shù),,硬件加解密更加安全可靠,。
本文提出了一種基于FPGA和PSoC的混沌音頻加解密系統(tǒng)硬件實(shí)現(xiàn)方案。FPGA采用流水線技術(shù)和并行運(yùn)算[3],,在數(shù)據(jù)處理速度上比單片機(jī)和DSP更具優(yōu)勢,。可編程片上系統(tǒng)PSoC(Programmable System-on-Chip)是一種可編程的混合信號陣列構(gòu)架,,采用圖形化編程方式,,接口資源豐富,方便用戶開發(fā),。因此,,本文采用FPGA和PSoC開發(fā)板構(gòu)建混沌音頻加解密系統(tǒng)。
本文首先介紹了系統(tǒng)工作原理,,然后給出硬件及軟件實(shí)現(xiàn)方案,,并從時域和頻域的角度對系統(tǒng)進(jìn)行了測試和分析。
1 混沌加解密原理
1.1 混沌偽隨機(jī)序列
系統(tǒng)采用線性反饋移位寄存器(LFSR)[5]產(chǎn)生混沌序列Qm-1…Q1Q0,,m級LFSR電路由m個D觸發(fā)器和若干個異或門構(gòu)成,,在脈沖CP的上升沿到來時,輸出m bit混沌序列Qm-1…Q1Q0,,因LFSR的輸出序列具有周期性,,故被稱作混沌偽隨機(jī)序列。LFSR電路結(jié)構(gòu)如圖1所示,,其中g(shù)i表示反饋系數(shù),,若反饋支路存在,則gi取值為1,,否則gi為0,。
混沌偽隨機(jī)序列Qm-1…Q1Q0的產(chǎn)生從種子(以Dm-1…D1D0表示)開始。當(dāng)種子Dm-1…D1D0=0…00時,,輸出序列Qm-1…Q1Q0將保持全零狀態(tài),;當(dāng)種子Dm-1…D1D0≠0…00,且反饋系數(shù)gm…g1g0滿足一定條件[5]時,,輸出序列周期T取最大值2m-1,。本系統(tǒng)處理的數(shù)字音頻信號為8 bit,故設(shè)計的混沌偽隨機(jī)序列為8級LFSR,,反饋系數(shù)g0g1…g8取值為100011101,。經(jīng)實(shí)測,輸出序列周期T=28-1=255,。
1.2 加解密原理
異或是一種簡單的邏輯運(yùn)算,,如果變量A與變量B連續(xù)進(jìn)行2次異或運(yùn)算,則輸出F等于A本身,,其數(shù)學(xué)原理[6]如式(2)所示:
依據(jù)式(2)可知,,異或是一種初級的加解密方案,,因其實(shí)現(xiàn)速度快,已成為目前較流行的加解密方法之一,。本系統(tǒng)加解密邏輯框圖如圖2所示,。
在生成混沌序列DCHAOS后,系統(tǒng)開始加密,,將數(shù)字音頻信號DADC與其做異或運(yùn)算(Xor_1),,便生成被打亂的序列即密文DXOR1;解密只需將密文DXOR1再次與混沌序列DCHAOS進(jìn)行異或(Xor_2),,從而可得明文DXOR2,,理論上明文DXOR2與音頻信號DADC一致。
2 系統(tǒng)方案設(shè)計
混沌音頻加解密系統(tǒng)由同步控制模塊,、ADC模塊,、DAC模塊、混沌序列發(fā)生模塊,、信號加密與解密模塊及輸出切換模塊等組成,。其中同步控制模塊是系統(tǒng)加解密的關(guān)鍵,該模塊產(chǎn)生3個分頻脈沖fS,、PEDC及PXOR,fS控制混沌序列的產(chǎn)生和音頻信號的ADC轉(zhuǎn)換,,PEDC,、PXOR分別觸發(fā)加密和解密的啟動。系統(tǒng)邏輯框圖如圖3所示,。
在同步脈沖的控制下,,音頻信號Vin經(jīng)ADC模塊轉(zhuǎn)換為數(shù)字信號DADC,與混沌序列DCHAOS依次進(jìn)行加密和解密,,生成的密文DXOR1和明文DXOR2可通過輸出切換模塊選擇輸出,,然后DAC模塊將輸出結(jié)果DXOR1或DXOR2轉(zhuǎn)化為模擬信號Vo?;煦缂咏饷芟到y(tǒng)的具體過程可用圖4中的時序圖來描述,。
混沌音頻加解密系統(tǒng)的工作過程具有周期性,其一周期內(nèi)的工作原理如下:
(1)在t1時刻,,時鐘源CLK的上升沿到來,,產(chǎn)生脈沖fS,緊接著在fS的作用下,,混沌序列DCHAOS開始產(chǎn)生,,同時音頻信號ADC轉(zhuǎn)換啟動;
(2)混沌序列DCHAOS和音頻信號DADC均穩(wěn)定后,,在t2時刻時鐘源CLK的上升沿到來時,,數(shù)據(jù)加密啟動脈沖PEDC產(chǎn)生,,密文DXOR1開始生成;
(3)密文DXOR1處于穩(wěn)定狀態(tài)期間,,分頻脈沖PXOR在t3時刻CLK上升沿的觸發(fā)下產(chǎn)生,,解密過程啟動,即可得明文DXOR2,;
(4)明文DXOR2穩(wěn)定后,,在t4時刻開始進(jìn)行DAC轉(zhuǎn)換,最終輸出模擬信號Vo,。
3 系統(tǒng)實(shí)現(xiàn)
3.1 硬件平臺構(gòu)建
本系統(tǒng)采用的FPGA開發(fā)板是Altera公司的DE2-115,。開發(fā)板采用Cyclone IV EP4CE115芯片,芯片含有114 480 個邏輯單元,、3.9 Mbit隨機(jī)存儲器,、266個乘法器。開發(fā)板的外圍接口資源豐富,,滿足用戶對視頻,、音頻、高品質(zhì)圖像等多類型的開發(fā)需求,。
本系統(tǒng)采用的PSoC開發(fā)板是CYPRESS公司的CY8CKIT-050,。開發(fā)板采用基于ARM Cortex-M3內(nèi)核的芯片CY8C5868AXI-LP035,該芯片整合可組態(tài)的模擬和數(shù)字電路陣列,,模擬電路包括ADC,、DAC、放大器等,,數(shù)字電路包括PWM,、定時器、計時器,、UART等,。
系統(tǒng)硬件模塊間的連接關(guān)系如圖5所示。
因音樂播放器輸出的音頻信號約為-0.5~0.5 V,,而PSoC的ADC模塊僅支持0~2.048 V電壓輸入,,故需對音樂播放器輸出的信號進(jìn)行調(diào)理。系統(tǒng)中采用串聯(lián)一節(jié)1.5 V干電池的方法提高輸入信號偏移量,,可達(dá)到ADC模塊電壓輸入標(biāo)準(zhǔn),。
3.2 軟件設(shè)計
FPGA端的軟件流程如圖6所示。
FPGA端負(fù)責(zé)混沌序列的產(chǎn)生,、同步控制及數(shù)據(jù)加解密,,其開發(fā)環(huán)境是Altera公司QUARTUSⅡ。軟件采用自頂向下的設(shè)計方法及模塊化的編程思想,,開發(fā)方式采用Verilog HDL硬件描述語言和模塊/原理圖(Block Diagram/Schematic)兩種方式,,各模塊采用Verilog HDL進(jìn)行設(shè)計,,模塊間集成運(yùn)用模塊/原理圖方式。經(jīng)仿真驗(yàn)證后將程序下載到開發(fā)板中,。
PSoC端完成音頻信號的ADC和DAC轉(zhuǎn)換,,其開發(fā)環(huán)境是CYPRESS公司PSoC Creator 2.2,軟件采用圖形化編程方式,,即從元件庫中選擇相應(yīng)的模數(shù)器件進(jìn)行配置,,然后調(diào)用相關(guān)API函數(shù)。與傳統(tǒng)的編程模式相比,,該開發(fā)環(huán)境簡化了大量底層代碼的編寫,,縮短了項目開發(fā)周期。PSoC端軟件流程如圖7所示,。
4 系統(tǒng)測試與結(jié)果分析
4.1 數(shù)字域測試
由于PSoC的ADC模塊轉(zhuǎn)換時間最快為10 μs,,為使混沌序列DCHAOS與音頻信號DADC保持同步,分頻脈沖fS的周期應(yīng)大于10 μs,。本系統(tǒng)中FPGA時鐘CLK周期設(shè)置為1 μs,,分頻脈沖fs、PEDC及PXOR的周期均為13 μs,。對數(shù)字域內(nèi)的加解密數(shù)據(jù)進(jìn)行實(shí)測,,其結(jié)果如圖8所示。
由圖8可得出如下結(jié)論:
(1)混沌序列DCHAOS與音頻信號DADC基本保持同步,。
(2)信號加密運(yùn)算正確,,由圖8(a)可知,混沌序列DCHAOS與音頻信號DADC進(jìn)行異或運(yùn)算,,可得密文DXOR1。
(3)信號解密運(yùn)算正確,,由圖8(b)可知,,數(shù)字域內(nèi)解密輸出的明文DXOR2與輸入的音頻信號DADC延時2~3 μs,數(shù)值上則完全一致,。
(4)經(jīng)實(shí)測,,混沌序列DCHAOS、音頻信號DADC,、密文DXOR1與明文DXOR2等信號與分頻脈沖fS,、PEDC及PXOR的周期均為13 μs,頻率均為77 kHz左右,。
4.2 模擬域測試
實(shí)際測試發(fā)現(xiàn),,加密后的聲音發(fā)出刺耳的“滴”聲,解密后聲音的聽覺效果良好,。對錄制的音頻信號波形進(jìn)行測試與頻譜分析,,其波形及頻譜如圖9所示,。
由圖9可知,加密信號的頻譜在各個頻段的分布均勻,,類似噪聲,;解密信號與原始信號的頻譜分布規(guī)律基本一致,因DAC轉(zhuǎn)換輸出的電壓是原始信號的2倍,,故二者的幅度略有差異,。
本文介紹了一種基于FPGA和PSoC的混沌音頻加解密硬件實(shí)現(xiàn)方案。該方案采用LFSR的方法產(chǎn)生混沌偽隨機(jī)序列,,并結(jié)合FPGA和PSoC開發(fā)板實(shí)現(xiàn)了音頻信號的加解密,。
參考文獻(xiàn)
[1] 袁小于.?dāng)?shù)字圖像非線性加密算法研究[D].重慶:重慶師范大學(xué),2001.
[2] 趙耿,,方錦清.現(xiàn)代信息安全與混沌保密通信應(yīng)用研究的進(jìn)展[J].物理學(xué)進(jìn)展,,2003,23(2):212-214,,232-233.
[3] 劉景亞,,季曉勇.基于FPGA的CPRS混沌加解密算法高效實(shí)現(xiàn)[J].電子測量技術(shù),2008,,31(11):175-176.
[4] 賈立愷,,黃國慶,趙敬,,等.基于FPGA的PCI硬件加解密卡設(shè)計[J].電子設(shè)計工程,,2010,18(5):142-145.
[5] 束禮寶,,宋克柱,,王硯方.偽隨機(jī)數(shù)發(fā)生器的FPGA實(shí)現(xiàn)與研究[J].電路與系統(tǒng)學(xué)報,2003,,8(3):121-122.
[6] 王毓銀.?dāng)?shù)字電路邏輯設(shè)計[M].北京:高等教育出版社,,1999.