摘 要:該文簡述了AES(Advanced Encryption Standard)加密算法的原理。提出了針對語音信號進(jìn)行加密通信的方案。測試實(shí)現(xiàn)了基于FPGA的語音通信的加解密過程,有效的提高了語音通信的安全性,同時(shí)改善了對語音信號的加解密速度。
關(guān)鍵詞:AES算法 FPGA 語音 加解密
中圖分類號:TP309文獻(xiàn)標(biāo)識碼:A文章編號:1674-098X(2013)04(b)-0050-01
伴隨著時(shí)代的信息化步程,信息已經(jīng)成為構(gòu)造信息社會(huì)的重要物質(zhì)基礎(chǔ)。語音作為人與人間交互信息的主要途徑之一,同時(shí)越來越頻繁的語音交流在現(xiàn)代通信中普遍應(yīng)用。無論是在日常的生活、機(jī)構(gòu)的辦公甚至是軍隊(duì)的指揮都離不開通信技術(shù)的使用。對語音信息加密來保障其安全性具有很高的實(shí)際價(jià)值。密碼學(xué)作為保護(hù)信息安全的一種關(guān)鍵技術(shù),在社會(huì)、國防和軍事等領(lǐng)域發(fā)揮著重要作用。相對于DES等一些加密算法安全性方面的不足,以及個(gè)別算法加密過程的非公開性。使得人們期待一種更為安全和公開的加密標(biāo)準(zhǔn)的出現(xiàn)。
AES算法因其高安全性、性能優(yōu)越和靈活等特點(diǎn),在發(fā)布生效后廣泛的被采用于各種信息安全的設(shè)計(jì)。本文基于FPGA平臺的并行運(yùn)算能力及操作靈活等優(yōu)點(diǎn),實(shí)現(xiàn)針對語音信號的AES加、解密過程。
1 加密算法原理
AES算法是密鑰迭代分組密碼算法,并將分組的長度固定成128bit,且僅可支持128、192或256bit長度的密鑰。加、解密過程根據(jù)所選密鑰長度進(jìn)行相應(yīng)的迭代循環(huán),并且算法加密的過程與解密的過程是相似的,解密是加密的逆運(yùn)算。加密的循環(huán)迭代是由字節(jié)變換(SubBytes)、列混合變換(MixColumns)、行移位變換(ShiftRows)、輪密鑰加(AddRoundKey)等四個(gè)步驟組成。
2 語音加密實(shí)現(xiàn)流程
2.1 語音信號處理
語音信號經(jīng)過濾波后被采集模塊采樣、編碼及A/D轉(zhuǎn)換等操作將模擬信號變?yōu)閿?shù)字信號,作為接下來算法加密的輸入。同理,經(jīng)過解密的數(shù)字信號通過回放模塊的解碼和D/A轉(zhuǎn)換操作變回模擬信號,并最終還原為語音信號。
2.2 AES算法的實(shí)現(xiàn)
整個(gè)過程基于FPGA平臺實(shí)現(xiàn),包括AES加密算法的頂層模塊與外部接口的設(shè)定、各個(gè)子模塊的功能及其分配、控制各子模塊實(shí)現(xiàn)算法等操作。接口如圖1所示(以密鑰128bit為例)。
子模塊包含有輸入輸出接口模塊,對外部輸入和內(nèi)部輸出進(jìn)行位的擴(kuò)展與分組操作,由于數(shù)據(jù)總線與AES算法實(shí)現(xiàn)的位寬存在差異,這樣的操作可以有效地減少資源的占用[2];擴(kuò)展密鑰模塊,負(fù)責(zé)對初始密鑰經(jīng)擴(kuò)展函數(shù)產(chǎn)生加、解密所需的輪密鑰。加解密模塊,對所輸入信號進(jìn)行加/解密輪變換及輸出。
3 優(yōu)化的加密算法
等式表明在有限域GF(24)中進(jìn)行的乘、加、平方和乘法的逆等運(yùn)算。其中λ為GF(24)上的常量元素,在多項(xiàng)式保持既約的前提下,可以通過選擇常量的值使硬件發(fā)揮最佳性能。這種方式構(gòu)造的S-盒可以使查表的運(yùn)算量降低,加快執(zhí)行的速度,進(jìn)而符合本方案中語音信號對加解密速度的要求。在此基礎(chǔ)上,還可以繼續(xù)對復(fù)合域上的乘法反演進(jìn)行降域求解。
4 測試
使用Verilog HDL語言對加密算法進(jìn)行描述,利用Quartus II 7.2、Matlab等軟件進(jìn)行功能仿真測試。經(jīng)測試,基于FPGA的AES算法加解密有效地降低了硬件消耗,并提高了實(shí)現(xiàn)速度。從而很好的完成了語音信號的通信。
5 結(jié)語
以高級加密標(biāo)準(zhǔn)(AES)算法實(shí)現(xiàn)的加解密模塊在保證語音通信的同時(shí)顯著的提高了通信的安全性。伴隨硬件快速發(fā)展以及相關(guān)研究的進(jìn)一步深入,將AES加密算法應(yīng)用于語音通信領(lǐng)域?qū)?huì)有更廣泛的使用性和更高的實(shí)際價(jià)值。
參考文獻(xiàn)
[1]DAEMEN J,RIJMEN V.高級加密標(biāo)準(zhǔn)(AES)算法——Rijndael的設(shè)計(jì)[M].北京:清華大學(xué)出版社,2003.
[2]武玉華,徐玲杰,周玉坤,等.AES 密碼算法的FPGA優(yōu)化設(shè)計(jì)[J].通信技術(shù),2008,41(10):133-136.
[3]Akashi Satoh.A Compact Rijndael Hardware Architecture with S-Box Optimization[M].Springer-Verlag Berlin Heidelberg,2001.
[4]Issam Hammad, Kamal El-Sankary,Ezz El-Masry.High-speed AES encryptor with efficient mergingtechniques[J].IEEE Embedded Systems,2010, 2(3):67-71.