999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

AES加密算法FPGA實(shí)現(xiàn)

2022-08-28 07:44:04甘志超
現(xiàn)代信息科技 2022年10期

甘志超

(中國(guó)刑事警察學(xué)院 公安信息技術(shù)與情報(bào)學(xué)院,遼寧 沈陽(yáng) 110168)

0 引 言

近年來(lái),科技的飛速發(fā)展極大地改變了人們的生產(chǎn)和生活方式,也使我們個(gè)人或集體的信息越來(lái)越公開化。幾乎生活中的每一個(gè)環(huán)節(jié)都面臨著信息數(shù)據(jù)安全性的重大挑戰(zhàn),在確保信息數(shù)據(jù)安全這一要求不斷提高的背景下,對(duì)信息數(shù)據(jù)進(jìn)行加密和解密的技術(shù)及算法正在迅猛發(fā)展。

加密的實(shí)現(xiàn)可以通過(guò)不同的方式來(lái)完成,硬件和軟件皆可實(shí)現(xiàn)加密算法,而通過(guò)硬件來(lái)實(shí)現(xiàn)加密同樣能夠保證信息的處理速度和安全性。基于FPGA 平臺(tái)的AES 加密算法的實(shí)現(xiàn)得益于FPGA 具有消耗內(nèi)存空間小、方便靈活、可重新配置資源等特點(diǎn),通過(guò)算法可以實(shí)現(xiàn)加密,通過(guò)硬件亦可實(shí)現(xiàn)加密,并且相較于基于軟件的AES 加密算法實(shí)現(xiàn),基于硬件的AES加密算法實(shí)現(xiàn)也不失為一種可行且高效的方式。

本AES 加密算法的設(shè)計(jì)采用FPGA 黑金ALINX 開發(fā)板,使用ModelSim-SE 64-10.1c 軟件對(duì)該系統(tǒng)的頂層模塊進(jìn)行了RTL 功能仿真,得到了功能波形圖以驗(yàn)證其正確性,利用Quartus II 17.1 軟件對(duì)整個(gè)系統(tǒng)進(jìn)行邏輯綜合后將sof 文件下載到FPGA 開發(fā)板上,并使用串口調(diào)試助手通過(guò)串口通信實(shí)現(xiàn)該系統(tǒng)的功能,通過(guò)將PC 串口調(diào)試助手顯示屏上顯示的數(shù)據(jù)與測(cè)試數(shù)據(jù)做比較,以此來(lái)驗(yàn)證該系統(tǒng)設(shè)計(jì)的可行性。

1 相關(guān)研究工作

當(dāng)前,對(duì)AES 算法的研究主要體現(xiàn)在對(duì)其安全性、靈活性、高效性這三方面的研究。

自Rijndael 算法提出以來(lái),世界各國(guó)為數(shù)眾多的密碼機(jī)構(gòu)和專家便對(duì)其展開持續(xù)不斷的猛烈攻擊,其中,最著名的當(dāng)屬該算法設(shè)計(jì)者(比利時(shí)密碼專家Vincent Rijmen 和Joan Daemen)所提出的Square 攻擊。但是,對(duì)Rijndael 算法的攻擊截至目前都沒有成功。

早在AES 加密算法還未著手設(shè)計(jì)的時(shí)候,方便靈活、安全可靠便已被設(shè)定為其設(shè)計(jì)的基礎(chǔ)與目標(biāo),最后結(jié)果也證明,Rijndael算法在通用處理器上能夠?qū)崿F(xiàn)很好的性能。但是,后面的研究漸漸表明,AES 算法在FPGA 上能夠獲得更加優(yōu)越的性能。

2 AES 加密系統(tǒng)的開發(fā)過(guò)程

在熟悉開發(fā)環(huán)境之后,開始構(gòu)思系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),采用Verilog 硬件描述語(yǔ)言結(jié)合邏輯電路的方式完成系統(tǒng)構(gòu)建。在完成系統(tǒng)的構(gòu)建之后,運(yùn)用ModelSim SE-64 10.1c 仿真對(duì)其核心的加密功能進(jìn)行仿真,對(duì)波形進(jìn)行驗(yàn)證之后,我們運(yùn)用Quartus II 17.1 軟件對(duì)工程代碼進(jìn)行編譯和邏輯綜合,再將生成的.sof 文件下載到FPGA 開發(fā)板上,通過(guò)串口調(diào)試助手對(duì)其進(jìn)行功能驗(yàn)證。

2.1 AES 加密算法結(jié)構(gòu)

密鑰和明文的位數(shù)不同,AES 加密算法迭代的輪數(shù)也不同。本文采用128 比特的加密方案,下文將具體介紹128 位的AES 加密算法,最后的實(shí)現(xiàn)結(jié)果是輸入128 b 的密鑰和明文,一共經(jīng)歷10 輪的迭代加密計(jì)算,輸出經(jīng)過(guò)加密的128 bit 密文。

AES 加密的過(guò)程包括加密核(包括各種轉(zhuǎn)換)和密鑰擴(kuò)展過(guò)程,加密核的各種轉(zhuǎn)換計(jì)算包含S 盒變換、行變換、列變換和密鑰異或的變換過(guò)程,在128 比特的AES 加密過(guò)程中一共需要經(jīng)過(guò)10 輪的循環(huán),下一輪的循環(huán)則是在上一輪循環(huán)的基礎(chǔ)上進(jìn)行迭代。循環(huán)往復(fù)地對(duì)上一輪的輸出進(jìn)行字節(jié)替換(采用一個(gè)S 盒進(jìn)行替換)、行移位變換、列混合變換以及密鑰異或等變換,以產(chǎn)生本輪的輸出。密鑰擴(kuò)展過(guò)程為每一輪的輪變換供給變換所需的128 比特輪密鑰。128 比特的AES 加密算法進(jìn)行一次完整的計(jì)算需要經(jīng)過(guò)10 輪的變換,最終產(chǎn)生我們所需的密文。AES 加密算法的流程如圖1所示。

圖1 算法流程圖

該算法的字節(jié)替換用一個(gè)S 盒的變換來(lái)表示,128 比特的AES 加密算法需要將明文排列組合成一個(gè)4×4 的矩陣。AES 加密算法的字節(jié)替換是用一個(gè)S 盒實(shí)現(xiàn)的,其變換過(guò)程就是一個(gè)4×4 的矩陣經(jīng)過(guò)字節(jié)替換(S 盒變換)之后產(chǎn)生一個(gè)新的4×4 矩陣。其本質(zhì)是實(shí)現(xiàn)一個(gè)數(shù)學(xué)上的代數(shù)轉(zhuǎn)化。S 盒的原理是:S 盒是一個(gè)16×16 的矩陣,用明文所生成矩陣的每一個(gè)元素來(lái)指定S 盒的地址,一個(gè)字節(jié)是八位長(zhǎng)度的二進(jìn)制,S 盒的行用一個(gè)字節(jié)的前四位表示,列用一個(gè)字節(jié)的后四位表示(一個(gè)字節(jié)有8 個(gè)數(shù)據(jù)位),將四位數(shù)據(jù)所代表的十六進(jìn)制數(shù)據(jù)作為S 盒元素的行列具體所在位置,由行和列構(gòu)成S 盒位置的元素取代了原明文生成的矩陣中相應(yīng)位置上的元素。本設(shè)計(jì)采用組合邏輯電路的方式來(lái)實(shí)現(xiàn)S 盒變換,并采用16 個(gè)S 盒變換函數(shù)對(duì)字節(jié)替換進(jìn)行并行操作。

在進(jìn)行完S 盒變換操作之后,接下來(lái)的操作便是行移位變換。具體的操作就是:對(duì)于一個(gè)經(jīng)過(guò)S 盒變換操作之后的4×4 矩陣來(lái)說(shuō),首行的數(shù)據(jù)保持不動(dòng),對(duì)次行的數(shù)據(jù)整體向左移動(dòng)一位,將第三行的數(shù)據(jù)整體向左移動(dòng)兩位,將第四行(最后一行)的數(shù)據(jù)整體向左移動(dòng)三位。例如進(jìn)行行移位操作之前矩陣的第四行為(1,2,3,4),移動(dòng)三位之后的數(shù)據(jù)為(2,3,4,1)。

完成行移位變換之后需要進(jìn)行列混合變換,具體的操作就是以矩陣中的列為單位與固定的矩陣(用十六進(jìn)制表示)相乘,具體的變換為:

用數(shù)學(xué)的多項(xiàng)式表示是:()=‘03'+‘01'+ ‘01'+‘02'

經(jīng)過(guò)列混合變換之后,矩陣中的所有字節(jié)基本上都得到了充分的混合。列混合變換通過(guò)組合邏輯中的移位與異或的操作來(lái)實(shí)現(xiàn),同時(shí)加強(qiáng)了加密的安全性。

2.2 AES 加密算法系統(tǒng)結(jié)構(gòu)

本設(shè)計(jì)采用的是基于FPGA 的128 比特AES 加密算法,可以同時(shí)對(duì)多個(gè)數(shù)據(jù)塊進(jìn)行計(jì)算,一個(gè)時(shí)鐘周期只完成一輪加密,該設(shè)計(jì)總共需要1 輪的初始密鑰擴(kuò)展、10 輪的運(yùn)算和另外一個(gè)時(shí)鐘周期輸出最后得到的密文,由于采用的是內(nèi)部流水線結(jié)構(gòu),所以一個(gè)完整的AES 加密過(guò)程所需的時(shí)鐘周期更長(zhǎng),總共需要12個(gè)時(shí)鐘周期(從開始到最后輸出密文),我們可以通過(guò)提高時(shí)鐘頻率的方式來(lái)彌補(bǔ)現(xiàn)階段的不足。

本文設(shè)計(jì)的AES 加密系統(tǒng)包括以下兩個(gè)模塊:

(1)串口通信輸入模塊。通過(guò)串口通信接收PC 端輸入的128 位密鑰和明文,并對(duì)所接收的128 位數(shù)據(jù)進(jìn)行串行數(shù)據(jù)向并行數(shù)據(jù)的轉(zhuǎn)換。

(2)AES 加密模塊。該模塊的功能是實(shí)現(xiàn)密鑰的擴(kuò)展過(guò)程和加密運(yùn)算。

(3)串口通信輸出模塊。用于暫存加密單元產(chǎn)生的密文,進(jìn)行并行數(shù)據(jù)向串行數(shù)據(jù)的轉(zhuǎn)換并通過(guò)串口通信傳輸?shù)絇C 端。

AES 加密系統(tǒng)RTL 邏輯模塊結(jié)構(gòu)圖如圖2所示。

圖2 AES 加密系統(tǒng)RTL 邏輯模塊結(jié)構(gòu)圖

頂層模塊輸入輸出端口的定義如表1所示。

表1 輸入輸出端定義

該系統(tǒng)功能實(shí)現(xiàn)的過(guò)程為:定義好時(shí)鐘、復(fù)位、控制信號(hào),運(yùn)用串口調(diào)試工具通過(guò)串口通信在電腦PC 端口輸入128 位待加密的明文和初始密鑰,設(shè)計(jì)了一個(gè)標(biāo)志信號(hào)表示輸入完成的狀態(tài),標(biāo)志信號(hào)有效時(shí),串口通信輸入模塊讀取電腦PC 端傳送過(guò)來(lái)的明文和初始密鑰,AES 加密核模塊開始進(jìn)行密鑰擴(kuò)展和加密的工作,經(jīng)過(guò)10 輪循環(huán)(一個(gè)完整的循環(huán)變換)完成加密之后,經(jīng)過(guò)加密的密文數(shù)據(jù)將通過(guò)串口通信輸出模塊(通過(guò)串口通信)返回到電腦PC 端上的串口調(diào)試工具進(jìn)行顯示。整個(gè)設(shè)計(jì)的核心便是AES 加密核的設(shè)計(jì),同時(shí)FPGA 與PC 的串口通信也是整個(gè)設(shè)計(jì)中至關(guān)重要的一部分,決定著數(shù)據(jù)在PC 與FPGA 之間能否正常通信。

該系統(tǒng)設(shè)計(jì)的算法代碼分為頂層模塊和子模塊,頂層模塊為整個(gè)系統(tǒng)的架構(gòu),子模塊為實(shí)現(xiàn)各個(gè)分支功能的模塊,AES 加密系統(tǒng)頂層模塊代碼程序存放于AES_top,串口通信輸入模塊代碼程序存放于UART_RX,串口通信輸出模塊代碼程序存放于UART_TX,加密核模塊存放于aes_cipher_top,加密模塊調(diào)用了S 盒變換、列異或變換和密鑰擴(kuò)展等子模塊,被調(diào)用的各種變換的代碼程序另外儲(chǔ)存。

3 結(jié)果

在進(jìn)行加密模塊功能仿真的時(shí)候,采用的測(cè)試數(shù)據(jù)為:明文為9798c4640bad75c7c3227db910174e72;密鑰為00000 000000000000000000000000000;輸出的密文為a9a1631bf49 96954ebc093957b234589。(該數(shù)據(jù)由AES 高級(jí)加密標(biāo)準(zhǔn)的資料所提供)

AES 系統(tǒng)加密核的功能仿真波形如圖3所示。

圖3 加密核的功能仿真波形圖

得到輸出結(jié)果之后,為了驗(yàn)證輸出結(jié)果的正確性,我們需要獲取經(jīng)過(guò)AES 加密計(jì)算出的數(shù)據(jù),于是采用AES 加密的軟件Rijindael.exe 得到所需的數(shù)據(jù)進(jìn)行數(shù)據(jù)比對(duì),以驗(yàn)證本文設(shè)計(jì)算法的正確性與可行性,如圖4所示。

圖4 實(shí)測(cè)數(shù)據(jù)驗(yàn)證圖

通過(guò)對(duì)比輸出結(jié)果和測(cè)試數(shù)據(jù),得出所設(shè)計(jì)的AES 加密系統(tǒng)得出的數(shù)據(jù)與測(cè)試數(shù)據(jù)相一致,基于FPGA 的AES加密算法的功能實(shí)現(xiàn)準(zhǔn)確無(wú)誤。

4 結(jié) 論

本文主要介紹了基于FPGA 平臺(tái)的AES 加密算法的實(shí)現(xiàn),運(yùn)用Verilog 硬件描述語(yǔ)言結(jié)合邏輯電路的方式來(lái)完成系統(tǒng)構(gòu)建。信息技術(shù)的進(jìn)步和發(fā)展超乎人們的想象,而信息的安全性和秘密性自然也受到人們的高度重視,應(yīng)用范圍不僅僅局限于民生領(lǐng)域,更與國(guó)家的政治、經(jīng)濟(jì)和軍事安全聯(lián)系緊密。而對(duì)于信息加密,自20世紀(jì)以來(lái)諸多學(xué)者已經(jīng)提出不少加密方法,AES 加密算法一直以來(lái)都表現(xiàn)突出,受到反復(fù)的攻擊仍然屹立不倒。AES 加密算法的實(shí)際應(yīng)用場(chǎng)景十分廣闊,為信息安全提供了重大保障,為信息安全的發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。

主站蜘蛛池模板: 99久久国产精品无码| 日韩美一区二区| 毛片免费在线| 亚洲an第二区国产精品| 久久无码av一区二区三区| 亚瑟天堂久久一区二区影院| 亚洲中文字幕97久久精品少妇| a级毛片免费播放| 黄色网址手机国内免费在线观看 | 制服无码网站| 国产精品免费入口视频| 日韩在线播放欧美字幕| 国产黑丝视频在线观看| 国产女人水多毛片18| av在线人妻熟妇| 一级片一区| 亚洲国产成人精品无码区性色| 日韩高清中文字幕| 激情爆乳一区二区| 国产经典三级在线| 欧美在线国产| 99这里只有精品免费视频| 国产主播在线一区| 波多野结衣第一页| 亚亚洲乱码一二三四区| 婷婷亚洲天堂| 国产综合精品一区二区| 中文毛片无遮挡播放免费| 精久久久久无码区中文字幕| 国产成人综合亚洲网址| 成人综合久久综合| 91丝袜乱伦| 色婷婷在线影院| 综合色88| 国产真实乱人视频| 尤物国产在线| 91九色视频网| 乱人伦视频中文字幕在线| 91精品国产情侣高潮露脸| 在线观看亚洲国产| 国产在线日本| 亚洲91精品视频| 亚洲另类色| 亚洲永久色| 小蝌蚪亚洲精品国产| 国产在线日本| 99精品免费欧美成人小视频| 欧美日韩综合网| 久青草国产高清在线视频| 日本在线免费网站| 久热精品免费| 波多野结衣在线se| 国产成人精品免费视频大全五级| 亚洲欧美精品日韩欧美| 中文字幕人妻av一区二区| 狠狠色婷婷丁香综合久久韩国 | 2020极品精品国产| 国产精品一老牛影视频| 久久窝窝国产精品午夜看片| 91久久国产综合精品女同我| 久久福利网| 91破解版在线亚洲| 草草影院国产第一页| 国产精品网址你懂的| 亚洲AV免费一区二区三区| 制服丝袜 91视频| 久久不卡国产精品无码| a网站在线观看| 亚洲国产成人超福利久久精品| 久草视频中文| 国产精品香蕉在线| 日韩国产 在线| 国产精品观看视频免费完整版| 青青青国产视频| 在线另类稀缺国产呦| 久久99国产精品成人欧美| 国产成人8x视频一区二区| 国产丰满大乳无码免费播放| 天天做天天爱夜夜爽毛片毛片| 综合网天天| 狠狠色香婷婷久久亚洲精品| 四虎亚洲国产成人久久精品|