<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于GPU的AES算法實現(xiàn)

          基于GPU的AES算法實現(xiàn)

          作者: 時間:2011-06-14 來源:網(wǎng)絡(luò) 收藏

          摘要:近幾年圖形處理器的通用計算能力發(fā)展迅速,現(xiàn)在已經(jīng)發(fā)展成為具有巨大并行運算能力的多核處理器,而CUDA架構(gòu)的推出突破了傳統(tǒng)開發(fā)方式的束縛,把巨大的通用計算能力解放了出來。本文利用GPU來加速,即利用GPU作為CPU的協(xié)處理器,將在GPU上,以提高計算的吞吐量。最后在GPU和CPU平臺上進(jìn)行了實驗,獲得了GPU的加速結(jié)果,并對實驗結(jié)果進(jìn)行了優(yōu)化。
          關(guān)鍵詞:圖形處理器;統(tǒng)一計算架構(gòu);高級加密標(biāo)準(zhǔn)

          0 引言
          隨著通信技術(shù)高速發(fā)展,信息安全也越來越重要。加密技術(shù)是對通信系統(tǒng)或者存儲系統(tǒng)中的信息數(shù)據(jù)進(jìn)行保護(hù)的一個很重要的方式。(高級加密標(biāo)準(zhǔn))算法是一種分組密碼算法,具有極高的安全性能,自提出之日起便成為信息安全領(lǐng)域研究的熱點。由于該算法在方面具有設(shè)計簡單,速度快,可并行處理,分組長度可以改變,對處理器結(jié)構(gòu)無特殊要求等特點,在電子商務(wù)、網(wǎng)絡(luò)安全和數(shù)據(jù)存儲等多個領(lǐng)域得到了廣泛的應(yīng)用。然而,硬件需要較長的開發(fā)周期和很高的成本,并且硬件實現(xiàn)不靈活,不易后續(xù)的升級和維護(hù),而且只適合做部分算法的實現(xiàn),限制了應(yīng)用領(lǐng)域和范圍。近幾年GPU(圖形處理器)已經(jīng)成為普及的電子消費品,在市場需求的驅(qū)動下,GPU已經(jīng)發(fā)展成為具有巨大運算能力和極高內(nèi)存帶寬的并行多核處理器。近幾年在某些信號處理任務(wù)中使用GPU的運算性能超過了FPGA。
          傳統(tǒng)的GPU開發(fā)具有很大的難度,而且由于無法充分利用GPU的資源,并且很多的開發(fā)精力是用在將應(yīng)用轉(zhuǎn)換到圖形上,這就限制了GPU用作通用計算的應(yīng)用范圍,并且影響了GPU進(jìn)行通用運算的性能。為了改變這一現(xiàn)狀,NVIDIA公司在2006年年底推出了一種利用GPU進(jìn)行通用計算開發(fā)的架構(gòu),稱作統(tǒng)一計算設(shè)備架構(gòu),簡稱為CUDA。它對GPU的結(jié)構(gòu)和資源進(jìn)行了抽象表示,并且為GPU的資源提供了訪問接口,這就使得開發(fā)者能夠根據(jù)抽象的GPU結(jié)構(gòu)進(jìn)行通用計算應(yīng)用的設(shè)計,并且可以充分利用到GPU中的資源。

          1 AES算法分析
          AES算法由NIST在2001年11月26日公布,并在2002年5月26日成為標(biāo)準(zhǔn)。AES算法具有分組長度和密鑰長度均可變的分組密碼。密鑰長度和分組長度可以獨立地指定為128bit、192bit或256bit。AES加密的圈數(shù)是一個變量,主要依賴于密鑰長度,所有的運算都將在一個4×4字節(jié)的模塊上進(jìn)行。每圈包括4個順序步驟:圈密鑰加,字節(jié)代替,行移位,列混合。在加密以前,我們必須使用密鑰擴(kuò)展算法擴(kuò)展密鑰。
          狀態(tài)可以用字節(jié)為元素組成二維數(shù)組陣列,共4行,Nb列,Nb等于數(shù)據(jù)塊長度除以32。密鑰的設(shè)計類似二維字節(jié)數(shù)組,也是4行,Nk列,且Nk等于密鑰塊的長度除以32。AES算法使用的是圈變換,其變換的圈數(shù)Nr由Nb和Nk共同決定,如表1所示:

          本文引用地址:http://www.ex-cimer.com/article/156187.htm

          a.JPG


          從具體規(guī)則上,AES算法在進(jìn)行加解密運算時都會按照三大步驟進(jìn)行,依次為1)初始化的圈密鑰加法;2)(Nr-1)圈變換;3)最后一圈變換。這里以加密過程為例,其加密過程用偽代碼表示如下。
          b.JPG
          解密過程是加密過程的逆過程。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 實現(xiàn) 算法 AES GPU 基于

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();