付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯基于FPGA的AES加密算法的高速實(shí)現(xiàn)-基礎(chǔ)電子摘要:介紹AES算法的原理以及基于FPGA的高速實(shí)現(xiàn)。結(jié)合算法和FPGA的特點(diǎn),采用查表法優(yōu)化處理了字節(jié)代換運(yùn)算、列混合運(yùn)算。同時(shí),為了提高系統(tǒng)工作速度,在設(shè)計(jì)中應(yīng)用了內(nèi)外結(jié)合的流水線技術(shù),并應(yīng)用Altera公司的開發(fā)工具及芯片進(jìn)行實(shí)際開發(fā)。
1引言
隨著信息技術(shù)的迅速發(fā)展,信息已成為當(dāng)今社會(huì)的一種重要資源。但當(dāng)人們享受信息資源帶來的巨大便利的同時(shí),也承受著信息被篡改、泄漏、偽造的威脅,安全問題日益嚴(yán)重。安全風(fēng)險(xiǎn)制約著信息的有效使用,信息安全對(duì)現(xiàn)代社會(huì)健康有序的發(fā)展,保障國(guó)家安全和社會(huì)穩(wěn)定有著重要作用。加密技術(shù)是信息安全技術(shù)的,是保證信息資源安全的關(guān)鍵。
加密標(biāo)準(zhǔn)(AdvancedEncryptionSTandard,AES)作為傳統(tǒng)對(duì)稱加密算法標(biāo)準(zhǔn)DES的替代者,由美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所(NIST)于1997年提出征集該算法的公告,2000年終選定了Rijndael算法,并于2022年正式發(fā)布了AES標(biāo)準(zhǔn)[1]。Rijndael算法本質(zhì)上是一種對(duì)稱分組密碼體制,該算法匯聚了安全性能、效率、可實(shí)現(xiàn)性和靈活性等優(yōu)點(diǎn),已經(jīng)成為工業(yè)界、銀行業(yè)、政府部門的事實(shí)上的密碼標(biāo)準(zhǔn)[2]。
隨著網(wǎng)絡(luò)傳輸速度的快速提升,業(yè)界對(duì)算法的執(zhí)行速度的要求也越來越高,基于軟件的密碼算法便顯得性能不足,需要采用硬件加密的方式。另外,用硬件實(shí)現(xiàn)加密算法具有較更高的物理安全性。而FPGA芯片兼有硬件的安全性和高速性以及軟件的靈活性和易維護(hù)性,從而成為研究和實(shí)現(xiàn)AES算法的理想硬件平臺(tái)。
2AES加密算法簡(jiǎn)介
AES是一種分組迭代密碼,明文分組長(zhǎng)度固定為128b,而且僅支持128,196或256b的密鑰長(zhǎng)度,本文著重對(duì)密鑰長(zhǎng)度為128b的情況進(jìn)行討論。AES加密算法的實(shí)現(xiàn)流程如圖1所示,將輸入的明文填入一個(gè)4X4的矩陣(16進(jìn)制),并將其稱為狀態(tài)矩陣。算法的前round-1輪包含四種變換,分別是:字節(jié)替換、輪密鑰加、行移位、列混合。對(duì)于每一輪,都有對(duì)應(yīng)的子密鑰。子密鑰由初始密鑰通過密鑰擴(kuò)展得到。一輪由字節(jié)替換、行移位和輪密鑰加組成。AES解密過程為上述過程的逆過程。
字節(jié)替換:字節(jié)替換(SubBytes)是一個(gè)基于S盒的非線性置換,它通過一個(gè)簡(jiǎn)單的查表操作將輸入或中間狀態(tài)的每一個(gè)字節(jié)映射為另一個(gè)字節(jié)。查表的方法為:將輸入字節(jié)的高4位作為S盒的行值,低4位作為列值,然后取出S盒中對(duì)應(yīng)行和列的元素作為輸出。
行移位:行移位(ShiftRows)完成基于行的循環(huán)移位操作。具體的操作為:第0行不動(dòng),第1行循環(huán)左移1個(gè)字節(jié),第2行循環(huán)左移2個(gè)字節(jié),第3行循環(huán)左移3個(gè)字節(jié)。
列混合:列混合(MixColumns)是對(duì)狀態(tài)矩陣中的列做線性變換,進(jìn)行四字節(jié)乘運(yùn)算。具體定義如下:將狀態(tài)矩陣的列看作有限域G(28)上的多項(xiàng)式,并在模x4+1下與一個(gè)給定的多項(xiàng)式c(x)相乘,其中c(x)=03x3+01x2+01x+02。假設(shè)該步變換狀態(tài)的一列輸入為a,輸出為b,即b(x)=c(x)·a(x)mod(x4+1)。
密鑰加:密鑰加(AddRoundKey)是將輪密鑰的各字節(jié)和狀態(tài)矩陣中相應(yīng)位置的字節(jié)分別模2加,實(shí)現(xiàn)狀態(tài)和密鑰的混合。輪密鑰的長(zhǎng)度和狀態(tài)的長(zhǎng)度是一樣的。該步驟的逆變換是其自身[3]。
3算法實(shí)現(xiàn)的優(yōu)化
3.1對(duì)算法本身的優(yōu)化
用查找表和組合邏輯的方式代替了復(fù)雜的乘法運(yùn)算[3],大大減少了芯片資源的占用,提高了加、解密步驟的執(zhí)行速度。字節(jié)替換是Rijndael密碼中的非線性變換。該步驟是一種非線性面向字節(jié)的變換,是將一個(gè)8位二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為另一個(gè)不同的8位二進(jìn)制數(shù)據(jù),這里要求一一對(duì)應(yīng),并且替換結(jié)果不能超出8位,可以通過構(gòu)造可逆的S-盒來實(shí)現(xiàn)。
由于有限域GF(2)中總共有256個(gè)元素,則可預(yù)先通過一定的算法計(jì)算出每個(gè)元素的逆元,再進(jìn)行對(duì)應(yīng)的仿射變換求出有限域GF(28)中每個(gè)元素經(jīng)過字節(jié)代換后所對(duì)應(yīng)的值,并將這個(gè)計(jì)算出的替代值寫入一個(gè)16×16字節(jié)的置換表中相應(yīng)的位置作為步驟SubBytes的S-盒。具體實(shí)現(xiàn)時(shí),根據(jù)狀態(tài)的每一個(gè)字節(jié)的數(shù)值檢索出S-盒中對(duì)應(yīng)的替代值,即通過查表即可實(shí)現(xiàn)該步變換,避免復(fù)雜的乘法運(yùn)算[4]。
對(duì)于列混合變換,由于GF(28)有限域中的每一個(gè)元素都能夠?qū)懗?2的不同冪次的和,因此,乘以任何常數(shù)的乘法都可以通過反復(fù)的乘以02和異或運(yùn)算來實(shí)現(xiàn)??蓪⒕仃嚦朔ㄖ械某?shù)因子分解為02的不同冪次和,矩陣乘法轉(zhuǎn)換為與02的乘法和異或運(yùn)算。將GF(28)域中的每一個(gè)元素與02的乘積存儲(chǔ)在一張16×16字節(jié)查找表中,記作xtime(·)。所以,該步驟可以通過查表和異或運(yùn)算實(shí)現(xiàn)。
3.2加密模塊結(jié)構(gòu)的優(yōu)化
加密模塊結(jié)構(gòu)直接影響AES算法的加解密速度,AES算法加解密系統(tǒng)的速度是指單位時(shí)間內(nèi)完成的加密(解密)的比特?cái)?shù),也稱為吞吐量(throughput),單位為兆比特每秒(Mbit/s)。其基本結(jié)構(gòu)可分為以下三種:外部流水線結(jié)構(gòu)、內(nèi)部流水線結(jié)構(gòu)和循環(huán)展開結(jié)構(gòu)[5]。其中循環(huán)展開結(jié)構(gòu)的速度是以芯片面積增加為代價(jià)的,而外部流水線結(jié)構(gòu)和內(nèi)部流水線結(jié)構(gòu)在反饋模式中速度受到限制,面積的增加并不能增加速度,所以這兩種結(jié)構(gòu)只適用于非反饋模式。內(nèi)部流水線結(jié)構(gòu)的速度在非反饋模式下隨著內(nèi)部流水線站數(shù)的增加而增加,但面積的相應(yīng)增長(zhǎng)極小,具有很好的速度面積比。但在反饋模式下其速度面積比不具優(yōu)勢(shì)。因此,在外部應(yīng)用流水線結(jié)構(gòu)設(shè)計(jì)的同時(shí),在內(nèi)部劃分流水線站,可以在外部流水線結(jié)構(gòu)的速度基礎(chǔ)上進(jìn)一步提高速度,而面積的增長(zhǎng)極小,從而提高吞吐量和速度面積比?;谝陨戏治?,在本設(shè)計(jì)中采取了非反饋模式和內(nèi)外混合的流水線結(jié)構(gòu)。
4硬件測(cè)試及應(yīng)用
本設(shè)計(jì)采用ALTERA公司的開發(fā)工具QuartusII,以VerilogHDL為實(shí)現(xiàn)語(yǔ)言,在綜合仿真并測(cè)試無誤后,至ALTERA公司的Cyclone系列芯片上。該系列芯片具有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 配送公司安全檔案管理制度
- 2026年膠輪車司機(jī)崗位責(zé)任制
- 2026年電商企業(yè)財(cái)務(wù)核算管理計(jì)劃
- 春游見聞:記事類作文(5篇)
- 客服工作流程規(guī)范服務(wù)快速響應(yīng)版
- 境外建設(shè)項(xiàng)目質(zhì)量承諾函范文5篇
- 丹陽(yáng)市保安考試題及答案
- 環(huán)保理念與行動(dòng)實(shí)踐活動(dòng)方案
- 業(yè)務(wù)操作規(guī)范與合規(guī)承諾書8篇范文
- 路燈業(yè)務(wù)知識(shí)試題及答案
- 2026年度黑龍江省生態(tài)環(huán)境廳所屬事業(yè)單位公開招聘工作人員57人備考題庫(kù)及一套答案詳解
- 炎癥因子風(fēng)暴與神經(jīng)遞質(zhì)紊亂的干細(xì)胞干預(yù)策略
- 2026年1月浙江省高考(首考)英語(yǔ)試題(含答案)+聽力音頻+聽力材料
- 中國(guó)大型SUV市場(chǎng)數(shù)據(jù)洞察報(bào)告-
- 太陽(yáng)能路燈施工組織設(shè)計(jì)
- 高校行政人員筆試試題(附答案)
- 2025年農(nóng)村會(huì)計(jì)考試試題題庫(kù)及答案
- 檢驗(yàn)科電解質(zhì)教學(xué)課件
- 浙江省杭州市西湖區(qū)杭州學(xué)軍中學(xué)2025-2026學(xué)年物理高二上期末質(zhì)量跟蹤監(jiān)視試題含解析
- 房建工程施工工藝流程
- 設(shè)備委托開發(fā)合同(標(biāo)準(zhǔn)版)
評(píng)論
0/150
提交評(píng)論