張會新,劉 波,孟令軍
(中北大學電子測試技術國家重點實驗室,山西太原 030051)
高速遙測PCM數(shù)據(jù)的AES加密存儲系統(tǒng)設計
張會新,劉 波,孟令軍
(中北大學電子測試技術國家重點實驗室,山西太原 030051)
傳統(tǒng)的遙測PCM數(shù)據(jù)由于芯片等硬件條件的制約很難實現(xiàn)數(shù)據(jù)的高速解碼以及安全存儲,因此選用邏輯資源豐富、支持算法級語言描述以及易于通過硬件語言描述的可編程邏輯器件FPGA作為系統(tǒng)的中央處理器和控制器。高速遙測PCM數(shù)據(jù)通過DS26C32電平轉換器和解碼軟件模塊實現(xiàn)10Mbps碼流數(shù)據(jù)的接收,同時運用AES加密軟件模塊對解碼數(shù)據(jù)進行AES加密,并實現(xiàn)加密數(shù)據(jù)的編幀存儲。
儀器儀表技術;PCM數(shù)據(jù);AES;加密存儲;存儲系統(tǒng)
高級加密標準(AES)是迭代分組密碼算法,其分組長度和密鑰長度都可以改變,具有安全、性能好、效率高、可實現(xiàn)和靈活等方面的優(yōu)點。該算法的擴充性是允許分組長度和密鑰長度以32bit為步長,從128bit到256bit范圍內進行特定的變化。而高速遙測PCM數(shù)據(jù)是遙測系統(tǒng)測量衛(wèi)星、航天器及武器系統(tǒng)等內外部的環(huán)境參數(shù)。存儲系統(tǒng)是記錄地面試驗和飛行試驗數(shù)據(jù)重要部分之一[1]。本文提出對10M碼流的高速遙測數(shù)據(jù)進行解碼,并將解碼數(shù)據(jù)實現(xiàn)加密處理,完成數(shù)據(jù)的安全存儲,以及最終的加密數(shù)據(jù)編幀存儲。
本系統(tǒng)主要完成一路高速10Mbps碼流的PCM數(shù)據(jù)接收、加密及存儲,以FPGA為中央處理器,運用其豐富的內部資源分別完成數(shù)據(jù)的解碼接收、加密運算等功能模塊的實現(xiàn),同時高速的PCM碼流需要大容量的外部FIFO完成接受數(shù)據(jù)的緩存,采用固態(tài)的存儲器完成數(shù)據(jù)的實時記錄存儲。
脈沖編碼調制(PCM)是用代碼來表示信號信息的一種特殊調制方式,它需要經過采樣、量化和編碼3個過程,最終將數(shù)據(jù)組成(PCM)格式,形成串行的數(shù)據(jù)流通過調制設備進行傳送。本系統(tǒng)采用模塊化的程序設計實現(xiàn)數(shù)據(jù)的解碼,便于數(shù)據(jù)碼流和位寬等參數(shù)的調節(jié)。圖1為標準PCM幀格式。
系統(tǒng)中整個高速PCM解調電路工作原理為:
1)高速串行PCM數(shù)據(jù)流在碼同步信號作用下,通過移位寄存器將其轉換為8路并行數(shù)據(jù),并行數(shù)據(jù)在字同步(路同步)信號的作用下取出,在控制電路的配合下,存入大容量的FIFO緩沖器中。當FIFO存至半滿時,系統(tǒng)根據(jù)產生的半滿信號,由FPGA控制解碼數(shù)據(jù)并進行下一步操作。本文中的PCM數(shù)據(jù)通過長線抗干擾的差分422進行傳輸。通過DS26C32高速差分轉換芯片進行電平轉換。
2)XINLINX的Spartan系列的XC2S200將數(shù)據(jù)讀取進行內部的數(shù)據(jù)轉換操作。在高速PCM碼數(shù)據(jù)解碼中FPGA內部的FIFO難以滿足容量要求,所以本系統(tǒng)采用外部大容量FIFO(IDT7207)32K字節(jié)進行解碼數(shù)據(jù)的緩存[2]。而FPGA通過控制rb或wr信號對FIFO進行讀寫操作,圖2為PCM數(shù)據(jù)的差分電平轉換接收,圖3為外部FIFO的電路原理圖。
本系統(tǒng)采用VHDL完成高速PCM數(shù)據(jù)的解碼,利用PCM 數(shù)據(jù)的格式,采用模塊化程序結構完成解碼,首先,上電自復位2 ms完成依據(jù)數(shù)據(jù)的碼同步信號作為接收數(shù)據(jù)的時鐘CLOCK的匹配,然后依據(jù)匹配的碼同步時鐘,在每次字同步信號的上升沿對數(shù)據(jù)進行讀取,同時完成數(shù)據(jù)的串并轉換。最后將解碼的數(shù)據(jù)依據(jù)FIFO的返回標志進行緩存。圖4為PCM的解碼框圖。
AES(Rijndael)是一種迭代分組密碼,采用的是代替或置換網絡。它對1個128位的明文數(shù)據(jù)塊進行加密操作,加密時,首先將輸入的明文128位數(shù)據(jù)排列成4×4的字節(jié)矩陣,將其定義為狀態(tài),所有AES的變換都是基于狀態(tài)的變化。然后根據(jù)不同的密鑰長度,進行10(128位密鑰),12(192位密鑰)或14(256位密鑰)輪的迭代運算實現(xiàn)。而每次的AES變化是由輪函數(shù)通過多輪迭代完成的,每次的輪變換函數(shù)由4步完成[3],如圖5所示。
本系統(tǒng)中采用VHDL語言來實現(xiàn)加密的軟件算法,基于其有適合算法的算法級、寄存級、邏輯級、門級設計模塊。系統(tǒng)中軟件的功能模塊有數(shù)據(jù)解碼模塊、中央控制模塊、數(shù)據(jù)輸入模塊、密鑰生成模塊、加密運算模塊及數(shù)據(jù)存儲模塊。AES的算法需依照AES的算流程進行程序模塊編寫。系統(tǒng)軟件框圖如圖6所示。
本系統(tǒng)設計采用的是基于XINLINX公司的XC2S200芯片進行的,SPARTAN-II系列用戶可編程門陣列的輸入輸出塊(IOBs)支持多種標準的輸入輸出信號,這些高速的輸入輸出結構支持存儲器和總線結構的多種狀態(tài)。每一個輸入輸出塊(IOBs)有3個寄存器,這些寄存器既可以作為邊沿觸發(fā)的D型觸發(fā)器也可作為電平敏感的鎖存器,每個輸入輸出塊都有個時鐘信號為它的3個寄存器所共享,且每個寄存器都有自己的時鐘允許信號。
在硬件設計中,運算處理器最重要的指標就是運算速度。而與速度有關的參量主要有吞吐量、加解密時延、單位時間內加解密的次數(shù)[4]。本系統(tǒng)采用的XC2S200具有可配置邏輯塊數(shù)目(CLBs)豐富,其設計的算法比較靈活且加密延時可調。系統(tǒng)先將接收解碼的PCM數(shù)據(jù)逐步從FIFO中讀出并送進加密處理程序模塊中,同時FPGA會將已經設計好的密文進行擴展運算并通過串行的形式傳送到加密處理程序模塊進行運算,通過本系統(tǒng)的驗證能夠滿足FLASH的數(shù)據(jù)存儲速率要求,能夠實現(xiàn)數(shù)據(jù)的加密存儲且丟包率低。
本系統(tǒng)加密數(shù)據(jù)的存儲采用SAMSUNG公司的256M ×8bitNAND FIASH 芯片K9K2G08UOM 固態(tài)存儲器,每片器件2 112Mbit,按塊組織劃分為2048塊,每塊分64頁,每頁2K+64字節(jié)。2112字節(jié)的典型編程時間300μ s,128 K字節(jié)的典型擦除時間2 ms。它以頁為單位進行讀寫,以塊為單位進行擦除;命令、數(shù)據(jù)、地址共用同一總線,具有硬件數(shù)據(jù)保護功能。系統(tǒng)采用FPGA進行FLASH的硬件控制,以內部的存儲控制模塊實現(xiàn)對FLASH的讀寫、擦除和外部FIFO的讀操作命令。同時系統(tǒng)合理的調整加密與數(shù)據(jù)存儲的時間差,能夠進行數(shù)據(jù)的實時存儲[5]。為了便于后續(xù)軟件對數(shù)據(jù)的解密處理,系統(tǒng)采用編幀的方式完成,具體的幀格式如圖7所示。
系統(tǒng)設計實現(xiàn)了高速遙測PCM碼數(shù)據(jù)的解碼、數(shù)據(jù)的加密及數(shù)據(jù)的存儲。完全實現(xiàn)存儲系統(tǒng)數(shù)據(jù)的加密功能。加密算法的靈活性決定需要硬件和算法的不斷優(yōu)化,以提高數(shù)據(jù)加密、存儲的實時性和可靠性。本系統(tǒng)采用的是128位的明文和密文,其他的加密格式將是以后算法優(yōu)化的重要方面之一。
References)
[1]甄國涌,林華亮.串行PCM碼流解碼電路設計與應用[J].航空計算技術,2005,35(1):79-81.
ZHEN Guo-yong,LIN Hua-liang.Serial PCM bit stream decoding circuit design and application[J].Aeronautical Computing Technology,2005,35(1):79-81.(in Chinese)
[2]高宇,張鳳辰.新型全數(shù)字化PCM同步解調器[J].遙測遙控,1998,19(2):51-55.
GAO Yu,ZHANG Feng-chen.A new all-digital PCM synchronous demodulator[J].Telemetry Remote Control,1998,19(2):51-55.(in Chinese)
[3]JOAN DAEMEN,VINCEN T RIJM EN.高級加密標準(AES)算法-Rijndael的設計[M].谷大武,徐勝波,譯.北京:清華大學出版社,2003.
JOAN DAEMEN,VINCEN T RIJMEN.Advanced Encryption Standard(AES)algorithm-Rijndael design[M].GU Da-wu,XU Sheng-bo,translation.Beijing:Tsinghua University Press,2003.(in Chinese)
[4]李雪梅,路而紅,歐海文,AES算法的快速硬件設計與實現(xiàn)[J].電子技術應用,2006(5):48-50.
LI Xue-mei,LU Er-hong,OU Hai-wen.AES algorithm design and implementation of fast hardware[J].E-lectronics Technology,2006(5):48-50.(in Chinese)
[5]張文棟.存儲測試系統(tǒng)的設計理論及其應用[M].北京:高等教育出版社,2002.
ZHANG Wen-dong.Storage test system theory and application[M].Beijing:Higher Education Press,2002.(in Chinese)
Encryption Storage System Design of PCM Telemetry Data Based on High-Speed AES
ZHANG Hui-xin,LIU Bo,MENG Ling-jun
(National Key Laboratory of Electronic Measurement Technology,North University of China,Taiyuan 030051,Shanxi,China)
Because of the limitation of chips and other hardware conditions in the data,the traditional PCM telemetry data are difficult to achieve high-speed decoding as well as secure storage,thus a kind of programmable FPGA logic device was used to serve as the central processing unit and controller of the system.Its logical resources are rich to support the algorithm-level language description,and it is easy to adopt hardware description language.High-speed PCM telemetry data realize the reception of 10Mbps data flow with the aid of DS26C32 level converter and decoding software module.AES encryption of decoding data were carried out by use of AES encryption software module,and compiled frame storage of encrypted data was performed.
technology of instrument and meter;PCM data;AES;encryption storage;storage system
TP309
A
1673-6524(2010)04-0092-03
2010-03-11;
2010-04-15
國家自然科學基金 (60871041)資助
張會新(1980―),男,碩士研究生,主要從事動態(tài)測試技術研究。E-mail:hello3396@sina.com