一種基于STM32的加密錄音筆設(shè)計
本文引用地址:http://m.butianyuan.cn/article/256482.htm
3.1 底層驅(qū)動程序
S7M32控制器通過SPI接口對VS1003錄音芯片進行寄存器配置,然后進行數(shù)字音頻數(shù)據(jù)的傳輸,經(jīng)加密處理后將數(shù)據(jù)存儲到SD卡中,上位機通過USB接口直接對存儲器進行讀寫操作,以方便加密錄音文件的拷貝。系統(tǒng)使用VS1003,采樣率為8 kHz,采樣位數(shù)為16 bit,其配置流程如圖7(b)所示。STM32為USB開發(fā)工具集提供了完整且經(jīng)過認(rèn)證的固件包,從而可輕易實現(xiàn)對各類USB固件的開發(fā)。其中包括:用于普通設(shè)備管理任務(wù)的控制傳輸、批量傳輸、中斷傳輸以及同步傳輸。USB接口配置流程如圖7(c)所示。
3.2 TEA加密程序
為滿足實時加密的要求,本文采用基于TEA的加密算法。TEA是一種小型的對稱加解密算法,支持128位密鑰,該加密算法的優(yōu)點是速度快、效率高。為避免for循環(huán)和除法運算,采用升級版的TEA加密算法,通過對加密算法的更改,可一次加密512 Byte,符合Flash一頁扇區(qū)的存儲大小。TEA加密算法通過加密輪數(shù)來保證數(shù)據(jù)的可靠性,程序采用12輪加密,故具有較高的可靠性。
算法的主要思想是將輸入的512 Byte明文數(shù)據(jù)進行分組,得到每組32 bit,共128組的數(shù)組V0,V1,…,V127,并對128位密鑰進行分組得到4組32 bit的數(shù)組K0,K1,K2,K3,然后將每組數(shù)據(jù)Vj進行加MX運算,共進行128次,完成一輪加密。密鑰常量設(shè)置為
unsigned char TEA_key[16]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10};
TEA加密算法流程如圖8所示。
其中,Delta的初始值為0x9E3779B9,Delta值的不斷變化使得每輪的加密均有所不同。TEA解密算法是加密的逆運算,對加密后的wav文件進行解密處理,本文使用C#編寫解密界面。
4 實驗仿真
打開電源開關(guān),狀態(tài)指示燈閃爍一次;使用錄音中間“一鍵錄音”按鍵,錄音指示燈常亮;再次按鍵時錄音指示燈熄滅,停止錄音。本文使用音頻處理軟件Cool Edit Pro進行波形觀察,加密的錄音源文件和解密后的波形文件如圖9所示。
通過音頻信號的波形對比可看出,加密后的音頻信號波形是完全隨機的亂碼,語音播放時呈噪音狀態(tài),解密后的音頻文件聲音還原性良好。
5 結(jié)束語
系統(tǒng)使用VS1003、STM32等器件實現(xiàn)一鍵錄音加密錄音筆的設(shè)計,USB從控制器與PC機進行通信,實現(xiàn)數(shù)據(jù)傳輸。數(shù)字錄音技術(shù)是現(xiàn)代數(shù)字信號處理的重要組成部分,其融合了音頻數(shù)據(jù)采集與傳輸、音頻數(shù)據(jù)處理以及嵌入式等多種技術(shù),具有廣闊的應(yīng)用前景。
濾波器相關(guān)文章:濾波器原理
濾波器相關(guān)文章:濾波器原理
低通濾波器相關(guān)文章:低通濾波器原理
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理 晶振相關(guān)文章:晶振原理 上拉電阻相關(guān)文章:上拉電阻原理 數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理 離子色譜儀相關(guān)文章:離子色譜儀原理
評論