摘要:數(shù)據(jù)加密標(biāo)準(zhǔn)DES是對(duì)稱(chēng)密碼體系中應(yīng)用最廣泛的算法之一。為了滿(mǎn)足信息安全和加密型數(shù)據(jù)采集系統(tǒng)的密鑰的有效存儲(chǔ),設(shè)計(jì)基于 TMS320VC5410系列DSP和SLE5542型IC卡的DES加密系統(tǒng)。采用MeBSPl接口與CD4066開(kāi)關(guān)電源設(shè)計(jì)了IC卡讀卡器,并通過(guò) CCS開(kāi)發(fā)環(huán)境編寫(xiě)、下栽和調(diào)試應(yīng)用程序,完成了DSP與SLE5542卡之間的IS07816-3通信協(xié)議。另外通過(guò)McBSPO連接MAX232電平轉(zhuǎn)換器,以軟件形式實(shí)現(xiàn)了目標(biāo)板從RS232接口接收來(lái)自PC機(jī)的明文數(shù)據(jù),系統(tǒng)對(duì)其進(jìn)行DES加密后輸出密文。實(shí)驗(yàn)結(jié)果表明系統(tǒng)可以正確讀取IC卡中的 64位密鑰,完成數(shù)據(jù)加密后準(zhǔn)確地顯示在接收端,符合設(shè)計(jì)要求。
關(guān)鍵詞:數(shù)據(jù)加密標(biāo)準(zhǔn)(DES);TMS320VC5410;加密;SIE5542
數(shù)據(jù)加密是為了保證所傳輸信息的安全而在特定參數(shù)(稱(chēng)為密鑰)的控制下按照某種規(guī)律對(duì)原始數(shù)據(jù)進(jìn)行的人為擾亂,將其轉(zhuǎn)換成秘密形式的信息。數(shù)據(jù)加密標(biāo)準(zhǔn) (Data Encrvption Standard,DES)是第一個(gè)廣泛應(yīng)用于商用數(shù)據(jù)保密的、公開(kāi)的密碼算法,在其公布和正式實(shí)施后,成為許多國(guó)家政府、銀行和標(biāo)準(zhǔn)組織的信息安全處理標(biāo)準(zhǔn)。然而DES實(shí)現(xiàn)信息保密的前提是對(duì)于密鑰的有效管理,這就要求基于DES的加密系統(tǒng)必須提供可靠、方便的密鑰保存設(shè)備。同時(shí)在近20年,DSP處理器的性能得到很大改善,軟件和開(kāi)發(fā)工具也得到相應(yīng)發(fā)展,價(jià)格大幅下降,應(yīng)用也越來(lái)越廣泛。本文選用TI公司TMS320VC54x系列DSP,采用軟件方式實(shí)現(xiàn)DES加密算法,同時(shí)以集成電路卡(Integrated Circuit Card)作為密鑰存儲(chǔ)設(shè)備。為了解決DSP的通用IO口較少的問(wèn)題,使DSP片上的一些特殊功能引腳工作在通用輸入輸出引腳狀態(tài)顯得尤為重要。本文結(jié)合 DSP運(yùn)算速度快、片上資源多的特點(diǎn),研究并實(shí)現(xiàn)基于DSP的DES加密系統(tǒng)及其與IC卡以及終端PC機(jī)之間的通信協(xié)議。
1 DES算法簡(jiǎn)介
DES作為美國(guó)國(guó)家標(biāo)準(zhǔn)的加密算法,既可用于加密又可用于解密。其加密過(guò)程主要分為3個(gè)部分,如圖1所示。首先把輸入的數(shù)據(jù)比特流以每64 bit為一組進(jìn)行分組得到明文x,之后是一個(gè)初始置換,IP,記為Xo=IP(x)=LoRo(Lo代表左邊32 bit,Ro代表右邊32 bit);然后以每一組作為加密單元,在16個(gè)子密鑰(每個(gè)子密鑰的長(zhǎng)度為48 bit)的控制下根據(jù)下列規(guī)則計(jì)算LiRi(1≤i≤16),進(jìn)行16輪的非線性變換:
每輪中都有換位和代替運(yùn)算;最后再經(jīng)過(guò)一個(gè)逆初始置換IP-1(為IP的逆變換)輸出一組64 bit長(zhǎng)的密文。
對(duì)于數(shù)據(jù)較大的文件加密要求芯片具有很高的處理速度。出于保密通信系統(tǒng)的需求,該系統(tǒng)設(shè)計(jì)以IC卡作為密鑰的存儲(chǔ)設(shè)備,采用TI公司 TMS320VC54x系列DSP實(shí)現(xiàn)對(duì)來(lái)自PC機(jī)的明文數(shù)據(jù)進(jìn)行DES加密處理。該方案運(yùn)算速度快、保密性好,具有很高的可擴(kuò)展性,用于保密的數(shù)據(jù)采集系統(tǒng)中,對(duì)來(lái)自數(shù)據(jù)采集模塊的信號(hào)進(jìn)行DES加密后,傳輸給PC機(jī)。
2 系統(tǒng)硬件設(shè)計(jì)
結(jié)合運(yùn)算速度,外設(shè)接口以及性?xún)r(jià)比等方面的考慮,選用TI公司TMS320VC54x系列16位定點(diǎn)TMS320VC5410型DSP作為實(shí)現(xiàn)DES加密的硬件平臺(tái)。它具有較低的功耗與杰出的性能,時(shí)鐘最高頻率可以達(dá)到100 MHz。另外,TMS320VC5410片上提供了3個(gè)可以設(shè)置為GPIO接口的多通道緩沖串口(McBSP),這對(duì)外圍設(shè)備接口子系統(tǒng)的設(shè)計(jì)至關(guān)重要。系統(tǒng)中除TMS320VC5410基本的工作外圍電路如電源晶振模塊、Flash模塊和JT-AG接口模塊以外,還主要包括以下2部分:1)TMS320VC541O與SLE5542型IC卡片的接口模塊,主要用于系統(tǒng)工作時(shí)IC卡向DSP傳送用于數(shù)據(jù)加密的密鑰和卡片存儲(chǔ)的其他一些用戶(hù)信息;2)DSP與PC主機(jī)的通信接口模塊,它是DSP與個(gè)人電腦的通信接口,主要用于DSP接收明文數(shù)據(jù)以及將加密后的數(shù)據(jù)反饋至PC機(jī)。
2.1 McBSP簡(jiǎn)介
TMS320VC5410片內(nèi)包含了3個(gè)全雙工的多通道緩沖串口(Multichannel Buffered Serial Ports,McBSP),分別為McBSP0、McBSPI和McB-SP2。它們可以提供全雙工通信、連續(xù)數(shù)據(jù)流的雙緩沖數(shù)據(jù)寄存器、接收和發(fā)送獨(dú)立的幀和時(shí)鐘,可以直接和系統(tǒng)中的其他器件接口連接并可以配置為通用IO口。McBSP與外設(shè)的數(shù)據(jù)交換,通過(guò)DX引腳發(fā)送,RX引腳接收。通信的時(shí)鐘與幀信號(hào)由CLKX、CLKR、FSX及FSR引腳來(lái)控制。T-MS320VC5410對(duì)McBSP的控制由2個(gè)16 bit的串口控制寄存器(SPCR[1,2])和引腳控制寄存器(PCR)來(lái)實(shí)現(xiàn)。DSP的CPU或DMA從數(shù)據(jù)接收寄存器(DRR [1,2])讀取接收數(shù)據(jù);發(fā)送時(shí),向數(shù)據(jù)發(fā)送寄存器(DXR[1,2])寫(xiě)數(shù)據(jù),數(shù)據(jù)寫(xiě)入后通過(guò)傳輸移位寄存器(XSR[1,2]),移位輸出到DX 上。同樣,從DR上接收的數(shù)據(jù),移位存儲(chǔ)到接收移位寄存器(RSR[1,2]),并復(fù)制到接收緩存寄存器(RBR[1,2])。然后,再由 (RBR[1,2])復(fù)制到DRR[1,2]。DRR[1,2]可以由CPU或DMA讀出。
2.2 DSP與IC卡連接模塊
選用西門(mén)子公司SLE5542型卡片,其引腳定義和功能說(shuō)明如表1所示。它是一種按字節(jié)操作的多存儲(chǔ)器邏輯加密卡,應(yīng)答復(fù)位符合ISO78 16-3標(biāo)準(zhǔn)。該型卡片內(nèi)置了3個(gè)存儲(chǔ)器:32×1 bit的PROM型保護(hù)存儲(chǔ)器、256×1 bit的EEPROM型主存儲(chǔ)器以及32x1 bit的EEPROM型加密存儲(chǔ)器。主存儲(chǔ)器可重復(fù)擦除使用,按字節(jié)操作,并分為保護(hù)數(shù)據(jù)區(qū)和應(yīng)用數(shù)據(jù)區(qū),讀出均不受限制,但應(yīng)用數(shù)據(jù)區(qū)的擦除和寫(xiě)入則受加密存儲(chǔ)器中的密碼及密碼計(jì)數(shù)器保護(hù)。
作者:於 輝,石 濤,趙旭東 桂林電子科技大學(xué) 來(lái)源:現(xiàn)代電子技術(shù)