午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

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

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