基于ARM的3DES加密算法實現(2)
基于ARM的硬件實現
根據滿足3DES算法和一般嵌入式應用的需求,在此設計了一個基于ARM微處理器的嵌入式系統。以三星S3C2410處理器作為系統的核心,用嵌入式Linux作為操作系統。加密的數據可以存放于NANDFLASH等存儲介質上,加密后的結果可以通過液晶屏直觀地顯示出來,實現用戶交互。
在此設計過程中,難點是圖形顯示與加密函數的實現。這里通過移植MiniGUI,并在其上開發顯示程序,完成了兩者之間的聯系,實驗結果給出了3DES算法的演示效果。整個系統的具體實現如下。
1.系統設計框圖
系統的核心部分是ARM微處理器,由ARM微處理器和其他一些功能單元構成了完整的嵌入式系統。這里的ARM微處理器選為基于ARM920T核心的S3C2410處理器芯片,其工作頻率***達200MHz;外圍包括64MB的NANDFLAsH和64MB的RAM、鍵盤接口、串口、CPLD譯碼單元、網絡單元、語音單元、LCD及觸摸屏等。上述部件共同構建了嵌入式系統的硬件平臺。系統核心框架如圖3所示。
2.操作系統移植
該系統建立在嵌入式Linux系統之上,因此首先要移植Linux系統到ARM處理器上。嵌入式Linux是按照嵌入式操作系統要求設計的一種小型操作系統。一由一個內核以及一些根據需要進行定制的系統模塊組成。
要構建運行環境,首先移植BootLoader到嵌入式系統中,通過BootlLoader可以完成對系統板上的主要部件,如CPU,SDRAM,FLAsH、串行口等進行初始化。分配內存空間的映射,從而將系統的軟硬件環境帶到一個合適的狀態,以便為最終調用操作系統準備好正確的環境。
Linux內核采用了穩定版的linux-2.4.18內核。該系統采用Cramfs文件系統,Cramfs被設計為簡單較小的只讀可壓縮文件系統,因此很適合用作嵌入式的文件系統。可以利用工具軟件BusyBox和Mkcramfs制作Cramfs文件系統。做好文件系統后下載到開發板上,可以看到Linux系統運行正常。
3.MiniGUI圖形界面顯示
MiniGUI是針對嵌入式設備,跨操作系統的圖形界面支持系統,MiniGUI為實時嵌入式操作系統提供了非常完善的圖形及用戶界面支持。MiniGUI小巧、靈活且對中文的支持性***。從技術架構上看,MiniGUI包括幾個模塊:輸入抽象層、輸出抽象層、消息模塊、窗口模塊、圖形設備接口模塊及.MiniGUI組件。
要想使MiniGUI能在本硬件系統上執行,需要移植MiniGUI到S3C2410開發平臺。首先,安裝交叉編譯鏈,下載相關資源:libminigui-1.3.4.tar.gz,minigui-res-1.3.3.tar.gz,經過相應的配置和交叉編譯后就可以把相應的庫拷貝到Cramfs文件系統的目錄,重新用Mkcramfs工具制作文件系統。對于應用程序,只需要經過交叉編譯后執行可執行程序即可。
該系統利用MiniGUI圖形界面作為3DES的演示輸出。消息機制是MiniGUI運行的基礎,應用程序通過接收消息與外界交互。消息由系統和應用程序產生,比如創建窗口時系統會產生MSG_CREAT消息,用戶在窗口中的各種操作都會產生一系列相應消息。
系統采用了邏輯字體輸出,建立邏輯字體的函數為Create-LogFont,設置設備hdc實用指定邏輯字體的函數為SelectFont。用TextOut作為輸出,部分主函數如下:
其中調用的show(hdc)是3DES加密算法的具體實現。實驗的簡單演示結果如圖4所示。實驗結果表明,該系統可以實現正確的加密和解密功能,因此可以用基于ARM的嵌入式3DES加密系統進行數據加密,保證信息的安全。采用這種嵌入式微處理器的方法實現起來簡單,體積小,易于移植到其他系統中,與采用FPGA的方法相比,實現起來靈活,系統復雜度低。
總結
3DES加密算法結合嵌入式系統的特點,就實現了基于ARM的3DES的加密算法的系統設計,詳細闡述了3DES算法原理及加密系統的實現過程,并給出了演示結果。此系統具有方便、靈活、體積小,可定制等特點,因此在實際應用中有一定的參考意義。更多參考內容請讀者閱讀:3DES算法原理
【編輯推薦】