新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 一種基于SMS4的加密通信可編程片上系統設計

        一種基于SMS4的加密通信可編程片上系統設計

        作者: 時間:2014-07-07 來源:網絡 收藏

          

        本文引用地址:http://www.104case.com/article/249274.htm

         

          8位串行收發功能邏輯提供8位數據收發、接收線狀態檢測、MODEM線控制與線狀態檢測功能。128位收發邏輯使128位密文和8位串行收發數據之間的傳輸能夠平滑、順暢地進行。面向算法邏輯在完成128位加解密運算的同時,還具備FPGA資源利用少、加解密吞吐量與吞吐量匹配的特點。非128位明文的加密傳輸數據控制邏輯重點解決非128位明文的加解密運算和串行傳輸問題。處理器訪問接口邏輯為處理器提供8位數據位寬的訪問接口,使處理器對SMS4控制器IP的訪問方式盡可能地接近于一般的8位控制器。

          2.2 IP核仿真驗證

          本文設計了SMS4控制器IP核完成加密通信,圖4為SMS4加密通信控制器IP的原理框圖。

          

         

          采用Altera公司的Quartus II FPGA開發工具完成SMS4加密通信控制器IP的HDL代碼編譯。

          使用ISim仿真器進行SMS4加密通信控制器數據接收與發送仿真,得到仿真波形,如圖5和圖6所示。SMS4加密通信控制器IP對加密算法、數據收發、數據緩沖、接收線狀態等功能進行了模塊化設計,各個模塊既相對獨立又有機組合,可完成各自功能,不同模塊之間進行數據和信號的交換實現時序控制、信息交互,從仿真結果可看出,SMS4加密通信控制器IP在不影響通信吞吐量的情況下,實現了數據的SMS4的加解密處理。

          

         

          如圖5所示,SMS4加密通信控制器IP接收數據通過信號wb_cyc_i作為計數器,每接收一個有效數據,產生一次脈沖。we_sel_i表示接收控制器片選信號,在接收期間保持為高;wb_adr_i表示數據地址,wb_dat_i則表示接收數據值。

          如圖6所示,SMS4加密通信控制器IP接收數據通過信號wb_cyc_i作為計數器,每接收一個有效數據,產生一次脈沖;we_sel_is表示發送控制器片選信號,在發送數據期間保持為低。wb_adr_i表示數據地址,wb_dat_i表示接收數據值。

          

         

          面向串行通信的SMS4算法邏輯設計,并已集成到SMS4加密通信控制器IP中。使用ISim仿真器對SMS4算法邏輯的Verilog代碼進行波形仿真,輸入128bit數據,進行加解密,其仿真波形如圖7所示。

          從圖中可看出,SMS4加密IP利用points計算通信量,圖7的通信量為1 024bit,data_in表示輸入加密數據,addr_wr表示加密過程中的地址轉換;data表示輸出解密后的密文。

          2.3 基于SMS4的加密通信SOPC軟硬件架構

          基于SMS4的加密通信SOPC軟硬件架構如圖8所示,分為SOPC硬件層和SOPC軟件層。SOPC硬件層由電源、復位、時鐘、JTAG接口、FPGA、配置器件、存儲器、串行數據收發器等電路組成,其中FPGA是核心器件,內部集成了處理器IP、存儲器及橋IP、SMS4加密通信控制器IP等。 SOPC軟件層主要南嵌入式操作系統內核、SMS4加密通信控制器驅動程序、SMS4加密通信應用程序等部分組成。

          

         

          SOPC硬件功能方面,電源電路、復位電路、時鐘發生器為SOPC提供必須的電源供應、上電和硬件復位信號、時鐘同步信號。JTAG接口電路用于調試SOPC的硬件邏輯和軟件程序,同時也用于在線下載FPGA配置文件。FPGA配置器件存儲FPGA靜態配置,在上電時自動對FPGA進行配置;由于FPGA內部存儲資源有限,需外擴RAM、Flash等片外存儲器。串行數據收發器實現TTL電氣接口信號與RS-232/422電氣接口信號的轉換,使串行數據收發信號能適應遠距離傳輸環境。

          SOPC軟件功能方面,嵌入式操作系統內核提供基本的存儲管理、設備管理、中斷管理及任務調度等功能。SMS4加密通信控制器驅動程序將SMS4加密通信控制器抽象成一個以文件方式訪問的設備,供應用程序調用。SMS4加密通信應用程序實現明文數據的收發,由于SMS4加密通信控制器IP可屏蔽密文傳輸過程,應用程序中無需進行加解密處理。

          

         

          基于SMS4的加密通信SOPC硬件集成,需軟件集成及性能分析。SMS4加密通信SOPC主要依靠專用串行接口擴展模塊的FPGA芯片進行硬件集成,圖9為運行于Altera公司SOPC Builder開發環境的SMS4加密通信SOPC硬件集成界面。如圖所示,SMS4加密通信SOPC集成有NiosII處理器IP、SMS4加密通信控制器IP、SRAM和Flash的存儲器控制IP等IP核,需為各IP核指定Avalon總線互連拓撲關系、時鐘路徑、數據訪問空間及中斷路由等。

          3 結束語

          面向串行通信優化SMS4算法的硬件實現,通過基于8位異步模式的128位數據串行收發技術實現SMS4加解密和串行通信的深度整合,通過非128位明文的加密傳輸數據控制技術實現SMS4加解密運算與處理器無關,設計的SMS4加密通信控制器IP具備FPGA邏輯資源用量小、加解密與串行通信吞吐量匹配、處理器加密通信處理負載小等特點。

          通過SMS4加密通信控制器IP封裝與IP復用、硬件抽象層驅動軟件設計、基于SOPC開發環境集成處理器IP及配套IP,采用軟硬件協同設計方式實現了基于SMS4的加密通信SOPC,使電子系統的SMS4加密通信功能具備較強的可定制能力。

          文中研究了基于硬件實現加密串行通信功能,防破解能力強、處理器負載輕,進而提高了應用系統串行通信的安全性,有較好的推廣應用價值。其中,核心算法采用SMS4算法,有力支撐了密碼學研究成果的本土化,為滿足國內信息安全技術的自主可控需求作出了一定貢獻。另外,文中設計的可定制SOPC,也可較好滿足各種應用的加密串行通信定制需求。

        數字通信相關文章:數字通信原理


        通信相關文章:通信原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 贺兰县| 襄汾县| 洛南县| 黄山市| 建德市| 庆阳市| 柯坪县| 苏尼特右旗| 固始县| 玛曲县| 博客| 乌兰浩特市| 神木县| 开封县| 临泉县| 巴林右旗| 凌云县| 德兴市| 孝感市| 承德市| 阿巴嘎旗| 彩票| 老河口市| 淅川县| 克什克腾旗| 布尔津县| 洛宁县| 且末县| 花垣县| 隆化县| 舒城县| 武穴市| 尼玛县| 海城市| 太湖县| 丹江口市| 高州市| 商丘市| 郓城县| 永丰县| 琼海市|