一種基于SMS4的加密通信可編程片上系統(tǒng)設計
本文引用地址:http://butianyuan.cn/article/249274.htm
8位串行收發(fā)功能邏輯提供8位數(shù)據(jù)收發(fā)、接收線狀態(tài)檢測、MODEM線控制與線狀態(tài)檢測功能。128位收發(fā)邏輯使128位SMS4密文和8位串行收發(fā)數(shù)據(jù)之間的傳輸能夠平滑、順暢地進行。面向串行通信的SMS4算法邏輯在完成128位SMS4加解密運算的同時,還具備FPGA資源利用少、加解密吞吐量與串行通信吞吐量匹配的特點。非128位明文的加密傳輸數(shù)據(jù)控制邏輯重點解決非128位明文的加解密運算和串行傳輸問題。處理器訪問接口邏輯為處理器提供8位數(shù)據(jù)位寬的訪問接口,使處理器對SMS4加密通信控制器IP的訪問方式盡可能地接近于一般的8位串行通信控制器。
2.2 加密通信IP核仿真驗證
本文設計了SMS4加密通信控制器IP核完成加密通信,圖4為SMS4加密通信控制器IP的原理框圖。
采用Altera公司的Quartus II FPGA開發(fā)工具完成SMS4加密通信控制器IP的HDL代碼編譯。
使用ISim仿真器進行SMS4加密通信控制器數(shù)據(jù)接收與發(fā)送仿真,得到仿真波形,如圖5和圖6所示。SMS4加密通信控制器IP對加密算法、數(shù)據(jù)收發(fā)、數(shù)據(jù)緩沖、接收線狀態(tài)等功能進行了模塊化設計,各個模塊既相對獨立又有機組合,可完成各自功能,不同模塊之間進行數(shù)據(jù)和信號的交換實現(xiàn)時序控制、信息交互,從仿真結果可看出,SMS4加密通信控制器IP在不影響通信吞吐量的情況下,實現(xiàn)了數(shù)據(jù)的SMS4的加解密處理。
如圖5所示,SMS4加密通信控制器IP接收數(shù)據(jù)通過信號wb_cyc_i作為計數(shù)器,每接收一個有效數(shù)據(jù),產(chǎn)生一次脈沖。we_sel_i表示接收控制器片選信號,在接收期間保持為高;wb_adr_i表示數(shù)據(jù)地址,wb_dat_i則表示接收數(shù)據(jù)值。
如圖6所示,SMS4加密通信控制器IP接收數(shù)據(jù)通過信號wb_cyc_i作為計數(shù)器,每接收一個有效數(shù)據(jù),產(chǎn)生一次脈沖;we_sel_is表示發(fā)送控制器片選信號,在發(fā)送數(shù)據(jù)期間保持為低。wb_adr_i表示數(shù)據(jù)地址,wb_dat_i表示接收數(shù)據(jù)值。
面向串行通信的SMS4算法邏輯設計,并已集成到SMS4加密通信控制器IP中。使用ISim仿真器對SMS4算法邏輯的Verilog代碼進行波形仿真,輸入128bit數(shù)據(jù),進行加解密,其仿真波形如圖7所示。
從圖中可看出,SMS4加密IP利用points計算通信量,圖7的通信量為1 024bit,data_in表示輸入加密數(shù)據(jù),addr_wr表示加密過程中的地址轉(zhuǎn)換;data表示輸出解密后的密文。
2.3 基于SMS4的加密通信SOPC軟硬件架構
基于SMS4的加密通信SOPC軟硬件架構如圖8所示,分為SOPC硬件層和SOPC軟件層。SOPC硬件層由電源、復位、時鐘、JTAG接口、FPGA、配置器件、存儲器、串行數(shù)據(jù)收發(fā)器等電路組成,其中FPGA是核心器件,內(nèi)部集成了處理器IP、存儲器及橋IP、SMS4加密通信控制器IP等。 SOPC軟件層主要南嵌入式操作系統(tǒng)內(nèi)核、SMS4加密通信控制器驅(qū)動程序、SMS4加密通信應用程序等部分組成。
SOPC硬件功能方面,電源電路、復位電路、時鐘發(fā)生器為SOPC提供必須的電源供應、上電和硬件復位信號、時鐘同步信號。JTAG接口電路用于調(diào)試SOPC的硬件邏輯和軟件程序,同時也用于在線下載FPGA配置文件。FPGA配置器件存儲FPGA靜態(tài)配置,在上電時自動對FPGA進行配置;由于FPGA內(nèi)部存儲資源有限,需外擴RAM、Flash等片外存儲器。串行數(shù)據(jù)收發(fā)器實現(xiàn)TTL電氣接口信號與RS-232/422電氣接口信號的轉(zhuǎn)換,使串行數(shù)據(jù)收發(fā)信號能適應遠距離傳輸環(huán)境。
SOPC軟件功能方面,嵌入式操作系統(tǒng)內(nèi)核提供基本的存儲管理、設備管理、中斷管理及任務調(diào)度等功能。SMS4加密通信控制器驅(qū)動程序?qū)MS4加密通信控制器抽象成一個以文件方式訪問的設備,供應用程序調(diào)用。SMS4加密通信應用程序?qū)崿F(xiàn)明文數(shù)據(jù)的收發(fā),由于SMS4加密通信控制器IP可屏蔽密文傳輸過程,應用程序中無需進行加解密處理。
基于SMS4的加密通信SOPC硬件集成,需軟件集成及性能分析。SMS4加密通信SOPC主要依靠專用串行接口擴展模塊的FPGA芯片進行硬件集成,圖9為運行于Altera公司SOPC Builder開發(fā)環(huán)境的SMS4加密通信SOPC硬件集成界面。如圖所示,SMS4加密通信SOPC集成有NiosII處理器IP、SMS4加密通信控制器IP、SRAM和Flash的存儲器控制IP等IP核,需為各IP核指定Avalon總線互連拓撲關系、時鐘路徑、數(shù)據(jù)訪問空間及中斷路由等。
3 結束語
面向串行通信優(yōu)化SMS4算法的硬件實現(xiàn),通過基于8位異步模式的128位數(shù)據(jù)串行收發(fā)技術實現(xiàn)SMS4加解密和串行通信的深度整合,通過非128位明文的加密傳輸數(shù)據(jù)控制技術實現(xiàn)SMS4加解密運算與處理器無關,設計的SMS4加密通信控制器IP具備FPGA邏輯資源用量小、加解密與串行通信吞吐量匹配、處理器加密通信處理負載小等特點。
通過SMS4加密通信控制器IP封裝與IP復用、硬件抽象層驅(qū)動軟件設計、基于SOPC開發(fā)環(huán)境集成處理器IP及配套IP,采用軟硬件協(xié)同設計方式實現(xiàn)了基于SMS4的加密通信SOPC,使電子系統(tǒng)的SMS4加密通信功能具備較強的可定制能力。
文中研究了基于硬件實現(xiàn)加密串行通信功能,防破解能力強、處理器負載輕,進而提高了應用系統(tǒng)串行通信的安全性,有較好的推廣應用價值。其中,核心算法采用SMS4算法,有力支撐了密碼學研究成果的本土化,為滿足國內(nèi)信息安全技術的自主可控需求作出了一定貢獻。另外,文中設計的可定制SOPC,也可較好滿足各種應用的加密串行通信定制需求。
數(shù)字通信相關文章:數(shù)字通信原理
通信相關文章:通信原理
評論