AES算法的快速硬件設(shè)計(jì)與實(shí)現(xiàn)
3.2 流水線(xiàn)設(shè)計(jì)
本文引用地址:http://www.ex-cimer.com/article/85545.htmAES算法結(jié)構(gòu)簡(jiǎn)單,只需要邏輯運(yùn)算和查找表運(yùn)算。筆者通過(guò)優(yōu)化設(shè)計(jì)輪函數(shù),使得基本迭代方式下的時(shí)鐘頻率遠(yuǎn)高于PCI接口的時(shí)鐘頻率33MHz。本文在滿(mǎn)足算法時(shí)鐘頻率的基礎(chǔ)上,通過(guò)降低算法分組數(shù)據(jù)的處理時(shí)間來(lái)提高吞吐量。具體做法是:采用兩級(jí)輪外流水線(xiàn),將AES算法的10輪迭代過(guò)程分為前后兩個(gè)操作段,每個(gè)操作段可作為一級(jí)流水線(xiàn),在操作段內(nèi)部,每輪之間以反饋(FB)方式完成5輪基本迭代,前一個(gè)操作段結(jié)束后,將結(jié)果直接送入第二個(gè)操作段,同時(shí)去處理下一個(gè)分組數(shù)據(jù),兩個(gè)操作段互不影響,并行執(zhí)行??紤]到實(shí)際應(yīng)用中數(shù)據(jù)總線(xiàn)寬度(如PCI總線(xiàn))通常為32位,這里將AES算法IP核的數(shù)據(jù)寬度設(shè)置為32位,4個(gè)時(shí)鐘輸入/輸出一個(gè)分組數(shù)據(jù)。為了與每一級(jí)流水線(xiàn)5輪迭代過(guò)程相匹配,在輸入/輸出分組數(shù)據(jù)的第5n個(gè)時(shí)鐘內(nèi)執(zhí)行一輪空操作,使得輸入明文數(shù)據(jù)、輸出密文結(jié)果、第一級(jí)流水線(xiàn)和第二級(jí)流水線(xiàn)四步操作同時(shí)執(zhí)行,從而實(shí)現(xiàn)圖3所示的流水線(xiàn)過(guò)程。在得到第一個(gè)分組結(jié)果后 ,每5個(gè)時(shí)鐘就會(huì)產(chǎn)生一個(gè)分組結(jié)果,從外部看起來(lái),完成一個(gè)分組僅需要5個(gè)時(shí)鐘。
3.3 實(shí)驗(yàn)結(jié)果與性能分析
將設(shè)計(jì)在QuartusⅡ4.2軟件中綜合,仿真最高頻率為78.38MHz,完全可以滿(mǎn)足較低全局時(shí)鐘頻率的要求。整個(gè)系統(tǒng)設(shè)計(jì)采用33MHz時(shí)鐘,實(shí)驗(yàn)測(cè)試結(jié)果表明,吞吐量已達(dá)到810Mbps。如果提高全局時(shí)鐘頻率,則吞吐量會(huì)超過(guò)1Gbps。
根據(jù)AES算法的特點(diǎn)及硬件加密系統(tǒng)的特點(diǎn),給出了AES算法IP核的快速硬件設(shè)計(jì)方案。采用流水線(xiàn)技術(shù)和優(yōu)化設(shè)計(jì),在較低頻率下,可以獲得很高數(shù)據(jù)吞吐量,使加密算法的FPGA實(shí)現(xiàn)過(guò)程不再是傳輸速度的瓶頸。整個(gè)設(shè)計(jì)具有很強(qiáng)的實(shí)用性,運(yùn)行穩(wěn)定,且效果良好。對(duì)于AES算法分組長(zhǎng)度和密鑰長(zhǎng)度為 192bit和256bit的情況,由于分組長(zhǎng)度不同,執(zhí)行輪數(shù)有所增加。要實(shí)現(xiàn)流水線(xiàn)操作并在資源使用和吞吐量方面達(dá)到較好的效果,還需要進(jìn)一步優(yōu)化設(shè)計(jì),這也是今后研究的方向。
參考文獻(xiàn)
1 Standaert.Efficient implementation of rijndael encryption in reconfigurable hardware:improvements and design tradeoffs.CHES 2003,LNCS 2779:334~350
2 Saggese.An FPGA-based peRFormance analysis of the unrolling,tiling and pipelining of the AESAlgorithm.FPL 2003,LNCS 2778:292~302
3 Gaj K,Pawel Chodowie.Comparison of the hardware perfor-mance of the AES candidates using reconfigurable hardware
4 Danmen J,Riijmen V.AES Proposal:rijndael.AES algorithm submission.AES home page:http://www.nist.gov/aes,1999-09-03
評(píng)論