• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的AES加密算法設(shè)計(jì)與實(shí)現(xiàn)

      2019-01-13 01:25:17竇賢振
      科技風(fēng) 2019年36期

      摘?要:通過分析高級(jí)加密標(biāo)準(zhǔn)(AES)算法的原理及其優(yōu)越性,結(jié)合FPGA高度處理的特點(diǎn),提出一種基于FPGA的AES加密算法實(shí)現(xiàn)方案。采用了查找表方法優(yōu)化了字節(jié)替代變換、列混合變換和密鑰擴(kuò)展模塊,將設(shè)計(jì)的固核運(yùn)行在Altera公司的Cyclone?II?FPGA芯片上,利用2塊DE2硬件板和2臺(tái)計(jì)算機(jī)搭建了一個(gè)AES加密文件傳輸平臺(tái),最后分析了設(shè)計(jì)的器件資源消耗和吞吐率,驗(yàn)證設(shè)計(jì)方案的可行性。

      關(guān)鍵詞:FPGA;查找表;AES;Verilog?HDL

      當(dāng)前信息技術(shù)快速發(fā)展,用戶對(duì)信息的采集、存儲(chǔ)和傳輸?shù)陌踩阅芤仓饾u提升要求。利用數(shù)據(jù)加密算法,對(duì)數(shù)據(jù)進(jìn)行加密來保障信息傳輸與存儲(chǔ)的安全性則是有效地解決方法,而高級(jí)加密標(biāo)準(zhǔn)AES則是很好選擇[1]。本文給出的設(shè)計(jì)方案主要包括:系統(tǒng)整體結(jié)構(gòu)、AES加解密模塊、控制模塊等部分。

      1?AES加密算法原理

      AES加密過程是在一個(gè)4x4的位元組矩陣上,此矩陣是一個(gè)明文分組區(qū)塊。其中128位(bit)明文分為4列。密鑰的長(zhǎng)度包括:128、196以及256位。矩陣列數(shù)包括:4、6以及8列。AES算法為密鑰迭代分組算法,包含輪函數(shù)對(duì)state的重復(fù)作用。輪數(shù)大小取決于密鑰長(zhǎng)度[2]。

      AES解密過程和加密過程互為逆運(yùn)算,解密過程主要包含四個(gè)方面:逆行移位、逆字節(jié)替換、輪密鑰加以及逆列混合。AES加密需要Nb個(gè)字節(jié)的初始密鑰及Nr輪迭代過程所需輪密鑰,所以密鑰生成算法需將初始密鑰擴(kuò)展為Nb(Nr+1)個(gè)字。

      2?AES加密算法建模與設(shè)計(jì)

      系統(tǒng)整體結(jié)構(gòu)主要包括:接口模塊、AES加解密模塊、串并轉(zhuǎn)換和并串轉(zhuǎn)換模塊以及LCD顯示模塊。通過硬件平臺(tái)DE2的開關(guān)來選擇工作模式,LCD顯示屏顯示系統(tǒng)“Mode:Encryption或Decryption”。計(jì)算機(jī)通過串口將數(shù)據(jù)發(fā)送到DE2,接口模塊收到數(shù)據(jù)后送到串并轉(zhuǎn)換模塊,處理后將數(shù)據(jù)發(fā)送到AES加解密模塊,根據(jù)模式選擇將數(shù)據(jù)送到相應(yīng)模塊,完成加密或者加密后將數(shù)據(jù)發(fā)送到并串轉(zhuǎn)換模塊,然后將數(shù)據(jù)發(fā)送到接口模塊完成數(shù)據(jù)加密或解密。

      2.1?AES加解密模塊設(shè)計(jì)

      AES加解密模塊主要包括:AES加密模塊、AES解密模塊、控制模塊以及密鑰擴(kuò)展模塊。內(nèi)部電路信號(hào)中,clk表示時(shí)鐘輸入信號(hào),rst_n表示復(fù)位信號(hào),mod表示加解密模式選擇信號(hào),kld表示密鑰讀取信號(hào),ld表示明文(或密文)讀取信號(hào)。text[127:0]表示待加密(或解密)輸入數(shù)據(jù),text_out[127:0]表示密文(明文)輸出數(shù)據(jù)。

      2.2?控制模塊設(shè)計(jì)

      控制模塊外部信號(hào)中,mod開關(guān)量表示系統(tǒng)的工作模式,包括加密模式和解密模式。當(dāng)信號(hào)text_ready有效時(shí),數(shù)據(jù)text[127:0]發(fā)送到text_in,并且分別將信號(hào)Encryption_ld和信號(hào)Decryption_kld置為有效,并維持一個(gè)時(shí)鐘周期時(shí)間。

      3?AES加密算法的仿真與實(shí)現(xiàn)

      加密模塊、解密模塊仿真結(jié)果如右圖所示,加密模塊:要求輸入的明文和密鑰都是128位。當(dāng)采樣到ld有效時(shí),讀取明文和密鑰;按要求進(jìn)行加密,加密后done置為有效,輸出密文,仿真結(jié)果如下:

      明文:a3d46f8789dcb90ca7e85c6f9a3c47d0;

      密鑰為:863b0e86023ed67725316481f55f71c;

      輸出密文:cde94dac0346551ac0642bc765ec3715。

      加密、解密模塊仿真結(jié)果圖

      解密模塊:要求輸入的密文和密鑰都是128位。當(dāng)采樣到kld有效,讀取密鑰;當(dāng)采樣到ld有效時(shí),讀取密文;按算法要求進(jìn)行解密,當(dāng)解密完成后done置為有效,輸出明文。

      密文為:cde94dac0346551ac0642bc765ec3715;

      密鑰為:863b0e86023ed67725316481f55f71c;

      則輸出明文:a3d46f8789dcb90ca7e85c6f9a3c47d0。

      三組明文、密鑰、加密結(jié)果和解密結(jié)果的硬件測(cè)試結(jié)果如下:

      (1)明文:a3d46f8789dcb90ca7e85c6f9a3c47d0;

      密鑰:1863b0e86023ed67725316481f55f71c;

      加密結(jié)果:cde94dac0346551ac0642bc765ec3715;

      解密結(jié)果:a3d46f8789dcb90ca7e85c6f9a3c47d0;

      (2)明文:00112233445566778899aabbccddeeff;

      密鑰:1863b0e86023ed67725316481f55f71c;

      加密結(jié)果:6c52bc02ddc6f0d2b557578cdcc2a40c;

      解密結(jié)果:00112233445566778899aabbccddeeff;

      (3)明文:d6bc83b3539442fca4ef95fb4cc1b5e0;

      密鑰:1863b0e86023ed67725316481f55f71c;

      加密結(jié)果:2cb1b53a002dca6bdd1da38d9b6f572d;

      解密結(jié)果:d6bc83b3539442fca4ef95fb4cc1b5e0。

      4?結(jié)語

      本文分析了AES算法工作原理和實(shí)現(xiàn)設(shè)計(jì)方案的關(guān)鍵問題,包括系統(tǒng)整體結(jié)構(gòu)、AES加解密模塊、控制模塊等,整個(gè)設(shè)計(jì)基于QuartusⅡ開發(fā)平臺(tái),采用Verilog硬件描述語言進(jìn)行了仿真和分析,在EP2C35F672C6器件進(jìn)行硬件實(shí)現(xiàn),驗(yàn)證設(shè)計(jì)方案的可行性。該設(shè)計(jì)方案具有一定的擴(kuò)展性,通過修改軟件程序,即可以適應(yīng)密鑰長(zhǎng)度為192和256位的AES加密算法。

      參考文獻(xiàn):

      [1]劉晗嘉.AES加密算法IP核的設(shè)計(jì)與驗(yàn)證[D].上海:上海交通大學(xué),2009,1.

      [2]楊波.現(xiàn)代密碼學(xué)[M].北京:清華大學(xué)出版社,2017(第4版).

      作者簡(jiǎn)介:竇賢振(1987-),男,漢族,碩士,研究方向:電子信息工程,物聯(lián)網(wǎng)應(yīng)用技術(shù)。

      河南省| 马山县| 崇仁县| 阿瓦提县| 洛扎县| 潜山县| 德惠市| 都昌县| 定边县| 嵊泗县| 岑溪市| 淮安市| 黄陵县| 昔阳县| 阿拉善右旗| 青川县| 三江| 灵丘县| 邛崃市| 娄烦县| 通海县| 黄大仙区| 历史| 九龙城区| 瓦房店市| 景泰县| 大庆市| 湘阴县| 兴隆县| 阜南县| 玉田县| 靖安县| 海原县| 哈巴河县| 进贤县| 泸水县| 乳源| 礼泉县| 古浪县| 三穗县| 勐海县|