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