欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種適用于有限io資源的fpga的aes加解密電路的制作方法

文檔序號(hào):8626395閱讀:597來(lái)源:國(guó)知局
一種適用于有限io資源的fpga的aes加解密電路的制作方法
【技術(shù)領(lǐng)域】
[0001]本實(shí)用新型涉及通信領(lǐng)域,尤其是涉及一種適用于有限1資源的FPGA的AES加解密電路。
【背景技術(shù)】
[0002]隨著物聯(lián)網(wǎng)的發(fā)展,射頻通信逐漸成為一種常見(jiàn)的信息交換方式。伴隨著現(xiàn)代化的發(fā)展,這種信息交換方式的安全性越為越受到各方面的威脅,因此有必要對(duì)物聯(lián)網(wǎng)框架下的射頻通信方式進(jìn)行信息加密保護(hù)。信息加密技術(shù)是保障信息安全的核心技術(shù)。在物聯(lián)網(wǎng)通信鏈路系統(tǒng)中主要采用的是傳輸加密。信息加密算法有很多種,目前在數(shù)據(jù)通信使用最普遍的算法有AES算法。AES加密算法即密碼學(xué)中的高級(jí)加密標(biāo)準(zhǔn)(AdvancedEncrypt1n Standard,AES),又稱Rijindael加密法,是美國(guó)聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。
[0003]AES加密過(guò)程是在一個(gè)4X4的字節(jié)矩陣上運(yùn)行,這個(gè)矩陣又稱為“體(state) ”,其初值就是一個(gè)明文區(qū)塊(矩陣中一個(gè)元素大小就是區(qū)塊中的一個(gè)Byte)。加密時(shí),各輪AES加循環(huán)(除最后一輪處)均包含四個(gè)步驟:AddRoundKey,SubBytes,ShiftRows,MixColums。
[0004]AddRoundKey:此步驟中,回合密鑰將與原矩陣合并。在每次的加密循環(huán)中,都會(huì)產(chǎn)生一把回合密鑰(通過(guò)Rijndael密鑰生成方案產(chǎn)生),這把密鑰大小會(huì)跟原矩陣一樣,以與原矩陣中每個(gè)對(duì)應(yīng)字節(jié)異或加法,在初始化的第一個(gè)回合中,State每個(gè)狀態(tài)中的字節(jié)與對(duì)應(yīng)Cipher Key的字節(jié)做異或(? )運(yùn)算,生成的結(jié)果做為新的State,在后續(xù)的回合中State只與該回合中的Round Key做異或運(yùn)算。
[0005]SubBytes:此步驟中,矩陣中的各個(gè)字節(jié)通過(guò)一個(gè)固定的S-BOX按公式2進(jìn)行轉(zhuǎn)換,即以State中16進(jìn)制數(shù)為腳標(biāo)去查S-B0X中值,結(jié)果替換原State中的值。
[0006]ShiftRows:此步驟是對(duì)State的每一行進(jìn)行左循環(huán)移位,移位次數(shù)與所在行η (O ^ n ^ 3)有關(guān),第η行移位η次。
[0007]MixColums:每一個(gè)起先的四個(gè)字節(jié)通過(guò)線性變換互相結(jié)合。每一直行的四個(gè)元素分別當(dāng)作l,x,x2,x3的系數(shù),合并即為GF(28)中的一個(gè)多項(xiàng)式,接著將此多項(xiàng)式和一個(gè)固定的多項(xiàng)式 c (X) = 3x2+x2+x+2 在 modulox4+l 下相乘。
[0008]在現(xiàn)有技術(shù)條件下使用FPGA實(shí)現(xiàn)AES加密和解密的過(guò)程中,需要使用大量的1引腳資源,一方面會(huì)使器件成本大大提高,另一方面當(dāng)FPGA的數(shù)據(jù)引腳有限時(shí),因AES加密和解密所需的引腳數(shù)目很多,不能滿足AES加密和解密的需求。
【實(shí)用新型內(nèi)容】
[0009]本實(shí)用新型的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種節(jié)省1資源、程序可移植性強(qiáng)的適用于有限1資源的FPGA的AES加解密電路。
[0010]本實(shí)用新型的目的可以通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):
[0011]一種適用于有限1資源的FPGA的AES加解密電路,包括FPGA芯片、數(shù)據(jù)管理模塊和數(shù)據(jù)處理模塊,所述的數(shù)據(jù)處理模塊包括輸入緩沖區(qū)、加密單元、解密單元和輸出緩沖區(qū)和命令處理單元,所述的加密單元和解密單元分別與輸入緩沖區(qū)和輸出緩沖區(qū)連接,所述的輸入緩沖區(qū)、輸出緩沖區(qū)和命令處理單元分別與FPGA芯片的數(shù)據(jù)引腳連接,所述的數(shù)據(jù)管理模塊與FPGA芯片連接。
[0012]所述的數(shù)據(jù)管理模塊包括數(shù)據(jù)類型管理器和狀態(tài)管理器,所述的數(shù)據(jù)類型管理器輸入端與FPGA芯片的地址引腳連接,第一輸出端分別通過(guò)與FPGA芯片的讀、寫(xiě)使能信號(hào)相與取反后,再分別與輸入緩沖區(qū)和輸出緩沖區(qū)連接,第二輸出端分別與FPGA芯片的讀、寫(xiě)使能信號(hào)相與取反后,再分別與命令處理單元和狀態(tài)管理器連接,所述的狀態(tài)管理器的輸出端和命令處理單元的輸出端共同輸出狀態(tài)信號(hào)到FPGA芯片。
[0013]所述的FPGA通過(guò)復(fù)位引腳分別與輸入緩沖區(qū)、加密單元、解密單元和輸出緩沖區(qū)和命令處理單元連接。
[0014]所述的FPGA通過(guò)時(shí)鐘引腳和鎖相環(huán)分別與輸入緩沖區(qū)、加密單元、解密單元和輸出緩沖區(qū)和命令處理單元連接。
[0015]所述的數(shù)據(jù)引腳為8位數(shù)據(jù)引腳。
[0016]所述的加密單元內(nèi)嵌有AES加密算法的邏輯電路,所述的解密單元內(nèi)嵌有AES解密算法的邏輯電路。
[0017]與現(xiàn)有技術(shù)相比,本實(shí)用新型具有以下優(yōu)點(diǎn):
[0018]一、節(jié)省1資源,相比于其他的AES加密結(jié)構(gòu),本實(shí)用新型能夠節(jié)省75%的1資源,大大提升了 1資源的利用率,復(fù)用通道數(shù)可自由配置。
[0019]二、程序可移植性強(qiáng),適合大部分FPGA開(kāi)發(fā)平臺(tái)。
【附圖說(shuō)明】
[0020]圖1為本實(shí)用新型的系統(tǒng)結(jié)構(gòu)和信號(hào)流圖。
【具體實(shí)施方式】
[0021]下面結(jié)合附圖和具體實(shí)施例對(duì)本實(shí)用新型進(jìn)行詳細(xì)說(shuō)明。
[0022]實(shí)施例:
[0023]如圖1所示,一種適用于有限1資源的FPGA的AES加解密電路,包括FPGA、數(shù)據(jù)管理模塊和數(shù)據(jù)處理模塊,數(shù)據(jù)處理模塊包括輸入緩沖區(qū)31、加密單元32、解密單元33和輸出緩沖區(qū)34和命令處理單元35,加密單元32和解密單元33分別與輸入緩沖區(qū)31和輸出緩沖區(qū)34連接,輸入緩沖區(qū)31、輸出緩沖區(qū)34和命令處理單元35分別與FPGA的8位數(shù)據(jù)引腳連接,加密單元內(nèi)嵌有AES加密算法的邏輯電路,解密單元內(nèi)嵌有AES解密算法的邏輯電路。數(shù)據(jù)管理模塊與FPGA連接,用以控制數(shù)據(jù)處理模塊中數(shù)據(jù)的讀寫(xiě)、控制數(shù)據(jù)的輸入輸出以及地址的選擇。
[0024]數(shù)據(jù)管理模塊包括數(shù)據(jù)類型管理器21和狀態(tài)管理器22,數(shù)據(jù)類型管理器21輸入端與FPGA的地址引腳連接,第一輸出端分別通過(guò)與FPGA的讀、寫(xiě)使能信號(hào)相與取反后,再分別與輸入緩沖區(qū)31和輸出緩沖區(qū)34連接,第二輸出端分別與FPGA的讀、寫(xiě)使能信號(hào)相與取反后,再分別與命令處理單元35和狀態(tài)管理器22連接,狀態(tài)管理器22的輸出端和命令處理單元35的輸出端共同輸出狀態(tài)信號(hào)到FPGA。
[0025]FPGA通過(guò)復(fù)位引腳分別與輸入緩沖區(qū)31、加密單元32、解密單元33和輸出緩沖區(qū)34和命令處理單元35連接,并且FPGA還通過(guò)時(shí)鐘引腳和鎖相環(huán)分別與輸入緩沖區(qū)31、加密單元32、解密單元33和輸出緩沖區(qū)34和命令處理單元35連接。
[0026]本實(shí)用新型提出一種新的設(shè)計(jì)思路:對(duì)加密過(guò)程和解密過(guò)程中具有類似功能引腳(如加密數(shù)據(jù)和解密數(shù)據(jù),都是8位)或同一個(gè)過(guò)程中相似功能引腳(如待加密數(shù)據(jù)和已加密數(shù)據(jù),都是8位數(shù)據(jù)引腳,只是輸入輸出方向不同)進(jìn)行管腳復(fù)用,通過(guò)命令來(lái)控制加、解密過(guò)程。
[0027]設(shè)計(jì)思路是將AES加、解密單元封裝成一個(gè)集成器件,因此必須從四個(gè)方面對(duì)數(shù)據(jù)進(jìn)行管理,一個(gè)是數(shù)據(jù)輸入、輸出方向,一個(gè)是數(shù)據(jù)的寫(xiě)入、讀出,再一個(gè)是數(shù)據(jù)地址管理,最后一個(gè)是數(shù)據(jù)類型管理。
[0028]輸入、輸入:相對(duì)于引腳來(lái)講,數(shù)據(jù)是輸入還是輸出。輸入數(shù)據(jù)包括待加密的數(shù)據(jù)、待解密的數(shù)據(jù)、加密密鑰、解密密鑰、命令數(shù)據(jù)、地址數(shù)據(jù)、讀寫(xiě)信號(hào)、使能信號(hào);輸出數(shù)據(jù)包括已加密數(shù)據(jù)、已解密數(shù)據(jù)。
[0029]寫(xiě)入、讀出:數(shù)據(jù)寫(xiě)入、讀出指令,控制數(shù)據(jù)輸入、輸出。
[0030]數(shù)據(jù)地址管理:因優(yōu)化后的程序模塊中包含三個(gè)程序模塊,一個(gè)是加密單元,一個(gè)解密單元,還有一個(gè)是命令處理單元,復(fù)用后只保留8個(gè)數(shù)據(jù)引腳,因此需要輸入的數(shù)據(jù)應(yīng)當(dāng)被送到哪個(gè)程序模塊中。
[0031]數(shù)據(jù)類型管理:優(yōu)化后的程序模塊中包含兩種數(shù)據(jù)類型,一種是數(shù)據(jù),主要是用戶輸入輸出數(shù)據(jù),一種是命令,命令數(shù)據(jù)通過(guò)命令處理單元解析,解析后的數(shù)據(jù)即加密單元和解密單元的控制指令。
[0032]本實(shí)用新型工作步驟如下:
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
周口市| 嘉黎县| 乐至县| 建宁县| 丰镇市| 扬州市| 特克斯县| 延长县| 曲沃县| 内乡县| 贺兰县| 北碚区| 宁南县| 桑日县| 平武县| 淄博市| 邢台市| 灵台县| 汝南县| 平定县| 吴忠市| 荣成市| 五大连池市| 大港区| 凌云县| 金平| 肥西县| 雷州市| 台山市| 琼海市| 长葛市| 长武县| 紫阳县| 万全县| 白山市| 神木县| 永德县| 兴安盟| 渑池县| 绥化市| 佛山市|