<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于GPU的AES算法實(shí)現

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

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

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

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

本文引用地址:http://dyxdggzs.com/article/156187.htm

a.JPG


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


上一頁(yè) 1 2 3 下一頁(yè)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>