www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于ARM的3DES加密算法實現(xiàn)

引 言
    現(xiàn)代密碼學根據(jù)密鑰類型的不同將加密算法分為對稱加密算法和公開密鑰加密算法。3DES算法作為對稱加密算法的一種,被實踐證明是一種安全性非常高的加密算法,受到了廣泛的應用。加密算法主要通過軟件和硬件兩種方式來實現(xiàn),軟件的實現(xiàn)方式具有靈活方便的優(yōu)點,同時也具有加密速度受限制的缺點。采用硬件實現(xiàn)加密算法是實際應用中必須要考慮到的問題。目前經(jīng)常采用硬件FPGA等來實現(xiàn),該種實驗方式具有處理速度快的特點,但是對系統(tǒng)的復雜度要求較高。嵌入式微處理器具有實現(xiàn)簡單,系統(tǒng)集成度高,體積小,易于移植等眾多優(yōu)點,因此有必要研發(fā)基于嵌入式微處理器的加密算法硬件設備,在此提出一種基于ARM處理器的3DES的硬件實現(xiàn)方法。

1 3DES算法原理
    DES是美國國家標準局頒布的數(shù)據(jù)加密算法,作為世界范圍內(nèi)的公開加密標準已經(jīng)使用了20多年。隨著計算機處理速度的提高,DES算法面臨著一些安全威脅,DES采用56位密鑰,曾經(jīng)有人用窮舉搜索法對DES進行過密鑰搜索攻擊。近年來也有人提出了差分和線性攻擊方案,該方案的實施必須有超高速計算機的支持。為了增強DES算法應對差分或線性攻擊的可能性,人們提出了一系列改進方案,采用增加密鑰長度是一種可行的途徑。為了增加密鑰的長度,可將分組密碼進行級聯(lián),在不同的密鑰作用下,連續(xù)多次對一組明文進行加密。其中,最有效的方法是使用三重DES加密,它可使加密密鑰長度擴展到128位,在提高加密強度的同時,足以應付目前的各種攻擊。
    DES是一個分組加密算法,它以64位為分組對數(shù)據(jù)加密。64位的分組明文序列作為加密算法的輸入,經(jīng)過16輪加密得到64位的密文序列。加密的密鑰為64位,實際長度為56位,DES算法的保密性取決于密鑰。DES對64位的明文分組進行操作。首先通過一個初始置換IP,將64位的明文分成各32位長的左半部分和右半部分,該初始置換只在16輪加密過程進行之前進行一次。在經(jīng)過初始置換操作后,對得到的64位序列進行16輪加密運算,這些運算被稱為函數(shù)f,在運算過程中,輸入數(shù)據(jù)與密鑰結(jié)合。經(jīng)過16輪運算后,左、右兩部分合在一起得到一個64位的輸出序列,該序列再經(jīng)過一個末尾置換IP-1,獲得最終的加密結(jié)果。過程如圖1所示。

    在每一輪加密過程中,函數(shù)廠的運算包括以下四個部分:首先進行密鑰序列移位,從移位后的56位密鑰序列中選出48位;然后通過一個擴展置換將輸入序列32位的右半部分擴展成48位,再與48位的輪密鑰進行異或運算;再者通過8個s盒將異或運算后獲得的48位序列替代成一個32位序列;最后對32位序列應用置換P進行置換變換,得到-廠的32位輸出序列。將函數(shù)廠的輸出與輸入序列的左半部分進行異或運算后的結(jié)果作為新一輪加密過程輸入序列的右半部分,當前輸入序列的右半部分作為新一輪加密過程輸入序列的左半部分。上述過程重復操作16次,便實現(xiàn)了DES的16輪加密運算。
    假設Bi是第i輪計算的結(jié)果,則Bi為一個64位的序列,Li和Ri分別是Bi的左半部分和右半部分,Ki是第i輪的48位密鑰,且f是實現(xiàn)代換、置換及密鑰異或等運算的函數(shù),那么每一輪加密的具體過程為:
   
    以上操作的詳細過程如圖2所示。

[!--empirenews.page--]

    在3DES加密算法中,加密過程用兩個不同的密鑰K1和K2對一個分組消息進行三次DES加密。首先使用第一個密鑰進行DES加密,然后使用第二個密鑰對第一次的結(jié)果進行DES解密,最后使用第一個密鑰對第二次的結(jié)果進行DES加密。
   
    解密過程首先使用第一個密鑰進行DES解密,然后使用第二個密鑰對第一次的結(jié)果進行DES加密,最后再使用第一個密鑰對第二次的結(jié)果進行DES解密。
   
    DES算法的密鑰長度是56位,三重DES算法的密鑰長度是112位,加密強度顯著增強,可以很好地應付各種攻擊,目前尚沒有可行的攻擊方法,應用3DES的加密系統(tǒng)具有很大的實用價值。


2 基于ARM的硬件實現(xiàn)
   
根據(jù)滿足3DES算法和一般嵌入式應用的需求,在此設計了一個基于ARM微處理器的嵌入式系統(tǒng)。以三星S3C2410處理器作為系統(tǒng)的核心,用嵌入式Linux作為操作系統(tǒng)。加密的數(shù)據(jù)可以存放于NAND FLASH等存儲介質(zhì)上,加密后的結(jié)果可以通過液晶屏直觀地顯示出來,實現(xiàn)用戶交互。在此設計過程中,難點是圖形顯示與加密函數(shù)的實現(xiàn)。這里通過移植MiniGUI,并在其上開發(fā)顯示程序,完成了兩者之間的聯(lián)系,實驗結(jié)果給出了3DES算法的演示效果。整個系統(tǒng)的具體實現(xiàn)如下。
2.1 系統(tǒng)設計框圖
    系統(tǒng)的核心部分是ARM微處理器,由ARM微處理器和其他一些功能單元構(gòu)成了完整的嵌入式系統(tǒng)。這里的ARM微處理器選為基于ARM920T核心的S3C2410處理器芯片,其工作頻率最高達200 MHz;外圍包括64 MB的NAND FLASH和64 MB的RAM、鍵盤接口、串口、CPLD譯碼單元、網(wǎng)絡單元、語音單元、LCD及觸摸屏等。上述部件共同構(gòu)建了嵌入式系統(tǒng)的硬件平臺。系統(tǒng)核心框架如圖3所示。
2.2 操作系統(tǒng)移植
   
該系統(tǒng)建立在嵌入式Linux系統(tǒng)之上,因此首先要移植Linux系統(tǒng)到ARM處理器上。嵌入式Linux是按照嵌入式操作系統(tǒng)要求設計的一種小型操作系統(tǒng)。一由一個內(nèi)核以及一些根據(jù)需要進行定制的系統(tǒng)模塊組成。
    要構(gòu)建運行環(huán)境,首先移植BootLoader到嵌入式系統(tǒng)中,通過BootlLoader可以完成對系統(tǒng)板上的主要部件,如CPU,SDRAM,F(xiàn)LAsH、串行口等進行初始化。分配內(nèi)存空間的映射,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)準備好正確的環(huán)境。Linux內(nèi)核采用了穩(wěn)定版的linux-2.4.18內(nèi)核。該系統(tǒng)采用Cramfs文件系統(tǒng),Cramfs被設計為簡單較小的只讀可壓縮文件系統(tǒng),因此很適合用作嵌入式的文件系統(tǒng)??梢岳霉ぞ哕浖﨎usyBox和Mkcramfs制作Cramfs文件系統(tǒng)。做好文件系統(tǒng)后下載到開發(fā)板上,可以看到Linux系統(tǒng)運行正常。
2.3 MiniGUI圖形界面顯示
    MiniGUI是針對嵌入式設備,跨操作系統(tǒng)的圖形界面支持系統(tǒng),MiniGUI為實時嵌入式操作系統(tǒng)提供了非常完善的圖形及用戶界面支持。MiniGUI小巧、靈活且對中文的支持性最好。從技術架構(gòu)上看,MiniGUI包括幾個模塊:輸入抽象層、輸出抽象層、消息模塊、窗口模塊、圖形設備接口模塊及.MiniGUI組件。
    要想使MiniGUI能在本硬件系統(tǒng)上執(zhí)行,需要移植MiniGUI到S3C2410開發(fā)平臺。首先,安裝交叉編譯鏈,下載相關資源:libminigui-1.3.4.tar.gz,minigui-res-1.3.3.tar.gz,經(jīng)過相應的配置和交叉編譯后就可以把相應的庫拷貝到Cramfs文件系統(tǒng)的目錄,重新用Mkcramfs工具制作文件系統(tǒng)。對于應用程序,只需要經(jīng)過交叉編譯后執(zhí)行可執(zhí)行程序即可。
    該系統(tǒng)利用MiniGUI圖形界面作為3DES的演示輸出。消息機制是MiniGUI運行的基礎,應用程序通過接收消息與外界交互。消息由系統(tǒng)和應用程序產(chǎn)生,比如創(chuàng)建窗口時系統(tǒng)會產(chǎn)生MSG_CREAT消息,用戶在窗口中的各種操作都會產(chǎn)生一系列相應消息。系統(tǒng)采用了邏輯字體輸出,建立邏輯字體的函數(shù)為Create-LogFont,設置設備hdc實用指定邏輯字體的函數(shù)為SelectFont。用TextOut作為輸出,部分主函數(shù)如下:

   
    其中調(diào)用的show(hdc)是3DES加密算法的具體實現(xiàn)。實驗的簡單演示結(jié)果如圖4所示。實驗結(jié)果表明,該系統(tǒng)可以實現(xiàn)正確的加密和解密功能,因此可以用基于ARM的嵌入式3DES加密系統(tǒng)進行數(shù)據(jù)加密,保證信息的安全。采用這種嵌入式微處理器的方法實現(xiàn)起來簡單,體積小,易于移植到其他系統(tǒng)中,與采用FPGA的方法相比,實現(xiàn)起來靈活,系統(tǒng)復雜度低。

3 結(jié) 語
    在此結(jié)合嵌入式系統(tǒng)的特點及3DES加密算法,實現(xiàn)了基于ARM的3DES的加密算法的系統(tǒng)設計,詳細闡述了3DES算法原理及加密系統(tǒng)的實現(xiàn)過程,并給出了演示結(jié)果。此系統(tǒng)具有方便、靈活、體積小,可定制等特點,因此在實際應用中有一定的參考意義。

本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉