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