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