基于FPGA技術(shù)的GPS數據加密系統設計研究
(1)將Ri-1按照擴展換位表E擴展為48 bit的數據;
(2)將擴展后的Ri-1與循環(huán)移位后的48 bit子密鑰K(K1,K2,…,K48)“異或”;
(3)將“異或”后的結果送入8個(gè)S盒(S box)進(jìn)行替代運算,每個(gè)S盒都有6 bit輸入、4 bit輸出,并且8個(gè)S盒都不相同,48 bit的輸入分為6位一組,分別送到8個(gè)S盒選擇相應的輸出,結果為32 bit;
(4)S盒替代后的32 bit結果依照P盒(P box)進(jìn)行置換,置換后結果即為f(Ri-1,Ki)的最終值,這樣便完成了f函數的運算。
算法中用到的初始換位表IP、放大換位表E、替代函數表S、換位函數P、逆初始換位IP-1、密鑰循環(huán)移位表可在參考文獻[4]中查到。本設計中,GPS數據的加密在加密卡中完成,解密在服務(wù)器端完成,為方便功能擴展,在加密卡中設計、保留了解密功能。
2.3 DES算法仿真驗證
本設計的DES IP采用ALTERA公司的Quartus 7.0軟件開(kāi)發(fā)及Verilog HDL語(yǔ)言編寫(xiě)[5],整個(gè)加密卡在單片Cyclone系列EP1C6Q240C8N芯片上實(shí)現。圖4為Quartus 7.0開(kāi)發(fā)軟件下DES IP的仿真圖。
各仿真信號的意義及說(shuō)明如下:
時(shí)鐘信號(clk):周期為10 ns、占空比為50%;
復位信號(reset_n):低電平有效,置高;
模式信號(mode):加密/解密選擇,‘1’為加密,‘0’為解密;
加載信號(load):高電平有效,置高;
加密數據(des_in):8000 0000 0000 0000;
密鑰信號(key):0000 0000 0000 0000;
加密結果(des_out):95F8 A5E5 DD31 D900;
加密完成信號(ready) :在第17個(gè)周期后置高。
DES IP工作時(shí),“密鑰”保存在總線(xiàn)接口的密鑰寄存器中,“加密數據”由NIOS輸入,加密完成后,通過(guò)“加密完成信號”產(chǎn)生的I/O中斷傳回給NIOS。圖4中,其加密結果與XILINX公司網(wǎng)站上設計參考中給出的數據一致,表明DES IP設計正確。
本設計采用FPGA技術(shù)設計了GPS數據加密系統,重點(diǎn)介紹了機載模塊中DES IP的設計。實(shí)驗發(fā)現,采用NIOS進(jìn)行DES算法軟件加密時(shí)速度慢,會(huì )出現間隔丟失GPS數據的現象,而采用硬件DES IP進(jìn)行加密處理時(shí),完全可以滿(mǎn)足GPS接收機的速度需要,不會(huì )出現丟點(diǎn)現象。系統采用MD5算法對管理員口令進(jìn)行加密,進(jìn)一步增強了系統的安全性,因此本設計對解決該GPS測量系統安全性方面有較大的現實(shí)意義和實(shí)用價(jià)值。
評論