專利名稱:一種基于fpga的aes加解密網絡通訊裝置及其實現(xiàn)方法
技術領域:
本發(fā)明涉及互聯(lián)網網絡通訊技術和電子電路技術,尤其涉及一種基于FPGA的AES加解密網絡通訊裝置及其實現(xiàn)方法。
背景技術:
現(xiàn)今數據在網絡傳輸過程中容易被別人竊取,因此網絡數據傳輸的安全隱患很大,為了解決這一問題,應對在網絡傳輸的數據進行加密。而在加密 技術領域中,最受廣泛應用的加密算法是77年美國頒布的國家標準DES算法,但是相比于傳統(tǒng)的DES算法或3DES算法,AES算法在速度和安全性方面均具有明顯的優(yōu)勢。另外現(xiàn)今通常利用軟件程序從而實現(xiàn)對數據進行加密,但是其時延大和處理速度慢。
發(fā)明內容
為了解決上述技術問題,本發(fā)明的目的是提供一種數據處理速度快以及邏輯結構簡單的基于FPGA的AES加解密網絡通訊裝置。本發(fā)明的目的是提供一種數據處理效率高以及易于實現(xiàn)的基于FPGA的AES加解密網絡通訊實現(xiàn)方法。本發(fā)明所采用的技術方案是一種基于FPGA的AES加解密網絡通訊裝置,包括 MCU單元,用于對由網口傳來的網絡數據包進行接收后控制接收的網絡數據包進行分
組以及將網絡數據組進行轉發(fā);
AES加解密單元,用于對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后將結果返回到MCU單元進行AES加解密網絡數據包輸出。進一步,所述MCU單元與AES加解密單元之間設有用于對網絡數據組進行緩沖以及再次分組的緩沖調度單元。進一步,所述AES加解密單元包括復合域優(yōu)化Sbox查表和復用加解密Sbox乘法求逆模塊以及
AES控制模塊,用于對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,將插入數據標簽的網絡數據組發(fā)送到AES加解密模塊,并且通過控制信號控制AES加解密模塊對網絡數據組進行加解密的功能選擇以及控制與加解密過程中相對應的不同數據通路的連通與關閉;
AES加解密模塊,用于對插入數據標簽的網絡數據組進行接收,采用復合域優(yōu)化Sbox查表和復用加解密Sbox乘法求逆模塊并根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后將結果通過AES控制模塊返回到MCU單元進行AES加解密網絡數據包輸出。進一步,所述緩沖調度單元采用乒乓操作對網絡數據組進行緩沖調度以及再次分組。
進一步,所述緩沖調度單元包括輸入數據選擇控制模塊、第一數據緩沖模塊、第二數據緩沖模塊以及輸出數據選擇控制模塊,輸入數據選擇控制模塊通過切換控制第一數據緩沖模塊和第二數據緩沖模塊的輸入端,從而將由MCU單元傳來的網絡數據組進行再次分組以及緩沖存儲在第一數據緩沖模塊或第二數據緩沖模塊,同時輸出數據選擇控制模塊通過切換控制第一數據緩沖模塊和第二數據緩沖模塊的輸出端,從而從第一數據緩沖模塊或第二數據緩沖模塊取出網絡數據組后轉發(fā)到AES加解密單元。本發(fā)明所采用的另一技術方案是一種基于FPGA的AES加解密網絡通訊實現(xiàn)方法,該方法的步驟包括
A、MCU單元對由網口傳來的網絡數據包進行接收后控制接收的網絡數據包進行分組以及將網絡數據組進行轉發(fā);
C、AES加解密單元對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數 據組進行AES加解密后將結果返回到MCU單元進行AES加解密網絡數據包輸出。進一步,所述步驟A與步驟C之間包括步驟B,所述步驟B為,緩沖調度單元對由MCU單元傳來的網絡數據組進行緩沖以及再次分組后將網絡數據組轉發(fā)到AES加解密單
J Li o進一步,所述步驟A包括
AUMCU單元實現(xiàn)ARP應答后對網絡數據包進行接收;
A2、判斷接收的網絡數據包的大小,根據判斷結果控制網絡數據包進行分組以及將網絡數據組進行轉發(fā)。進一步,所述步驟C具體為,
AES加解密單元對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,通過控制信號控制對網絡數據組進行加解密的功能選擇以及控制與加解密過程中相對應的不同數據通路的連通與關閉,同時采用復合域優(yōu)化Sbox查表和復用加解密Sbox乘法求逆模塊并根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后將結果返回到MCU單元進行AES加解密網絡數據包輸出。進一步,所述步驟B中緩沖調度單元采用乒乓操作對由MCU單元傳來的網絡數據組進行緩沖以及再次分組后將網絡數據組轉發(fā)到AES加解密單元。本發(fā)明的有益效果是本發(fā)明的裝置既具備FPGA高速的硬件并行處理的優(yōu)點,同時也具備了 MCU良好的通信和智能控制能力,因此本發(fā)明的裝置能夠快速穩(wěn)定地并行對網絡數據組進行AES加解密,大大提高有效工作效率以及通信和智能控制能力強。本發(fā)明的另一有益效果是本發(fā)明的實現(xiàn)方法不僅利用FPGA高速的硬件并行處理的優(yōu)勢,同時也利用了 MCU良好的通信和智能控制能力,因此本發(fā)明的實現(xiàn)方法能夠快速穩(wěn)定地并行對網絡數據組進行AES加解密,大大提高有效工作效率以及通信和智能控制能力強。
下面結合附圖對本發(fā)明的具體實施方式
作進一步說明
圖I是本發(fā)明一種基于FPGA的AES加解密網絡通訊裝置的結構框圖;圖2是本發(fā)明一種基于FPGA的AES加解密網絡通訊裝置中四個操作子模塊循環(huán)進行AES加解密處理的流程 圖3是采用本發(fā)明一種基于FPGA的AES加解密網絡通訊裝置的通信系統(tǒng)的系統(tǒng)框圖; 圖4是本發(fā)明一種基于FPGA的AES加解密網絡通訊裝置的步驟流程圖。
具體實施例方式字節(jié)替換操作子模塊表示為現(xiàn)今AES加解密算法原理中的SubBytes,行位移變換操作子模塊表示為現(xiàn)今AES加解密算法原理中的ShiftRows,列混合變換操作子模塊表示為現(xiàn)今AES加解密算法原理中的MixColumns,密鑰邏輯變換操作子模塊表示為現(xiàn)今AES加解密算法原理中的AddRoundKey。由圖I所示,一種基于FPGA的AES加解密網絡通訊裝置,包括
MCU單元,用于對由網口傳來的網絡數據包進行接收后控制接收的網絡數據包進行分組以及將網絡數據組進行轉發(fā),所述網絡數據包為UDP網絡數據包,所述網口為RJ45網口,計算機通過RJ45網口將網絡數據包發(fā)送到MCU單元;
AES加解密單元,用于對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后將結果返回到MCU單元進行AES加解密網絡數據包輸出。所述網絡數據包為加密密鑰包、解密密鑰包或待加解密的網絡數據包,若網絡數據包為加密密鑰包或解密密鑰包,MCU單元以加密密鑰的通信方式或解密密鑰的通信方式將加密密鑰或解密密鑰通過緩沖調度單元發(fā)送到AES加解密單元,數據流就此結束;若網絡數據包為待加解密的網絡數據包,則MCU單元通過緩沖調度單元將待加解密的網絡數據包發(fā)送到AES加解密單元根據先前的加密密鑰或解密密鑰進行AES加解密。而本發(fā)明主要針對的處理對象為待加解密的網絡數據包。進一步作為優(yōu)選的實施方式,所述MCU單元與AES加解密單元之間設有用于對網絡數據組進行緩沖以及再次分組的緩沖調度單元。由于本發(fā)明進行AES加解密,而AES加解密算法的數據分組長度為128位,因此MCU單元對網絡數據包接收后就會判斷接收的網絡數據包的大小,若網絡數據包的大小是128位的整數倍,則對網絡數據包進行分組,每個網絡數據組的尾數為128位;若網絡數據包的大小不是128位的整數倍,則在網絡數據包的包尾插入00補全后,對網絡數據包進行分組,每個網絡數據組的位數為128位。分組后,MCU單元就會將128位的網絡數據組發(fā)送到緩沖調度單元,然后MCU單元就會進入阻塞等待返回結果的狀態(tài)。所述MCU為8位數據線,因此需寫入16次才能把一個128位的網絡數據組發(fā)送到緩沖調度單元。而緩沖調度單元接收滿32位數據后就會將這個32位的網絡數據組發(fā)送到AES加解密單元進行AES加解密,即經過緩沖調度單元后,對128位的網絡數據組進行再次分組,分成4組,每個網絡數據組的位數為32位,那么緩沖調度單元通過4個緩沖周期將128位的網絡數據組發(fā)送到AES加解密單元。進一步作為優(yōu)選的實施方式,所述緩沖調度單元采用乒乓操作對網絡數據組進行緩沖調度以及再次分組。進一步作為優(yōu)選的實施方式,所述緩沖調度單元包括輸入數據選擇控制模塊、第一數據緩沖模塊、第二數據緩沖模塊以及輸出數據選擇控制模塊,輸入數據選擇控制模塊通過切換控制第一數據緩沖模塊和第二數據緩沖模塊的輸入端,從而將由MCU單元傳來的網絡數據組進行再次分組以及緩沖存儲在第一數據緩沖模塊或第二數據緩沖模塊,同時輸出數據選擇控制模塊通過切換控制第一數據緩沖模塊和第二數據緩沖模塊的輸出端,從而從第一數據緩沖模塊或第二數據緩沖模塊取出網絡數據組后轉發(fā)到AES加解密單元,所述第一數據緩沖模塊和第二數據緩沖模塊采用先入先出隊列方式。所述緩沖調度單元采用乒乓操作的具體的實施方式為,
在第一個緩沖周期,輸入選擇控制模塊將網絡數據組緩沖存儲到第一數據緩沖模塊;在第二個緩沖周期,輸入數據選擇控制模塊切換控制第一數據緩沖模塊和第二數據緩沖模塊的輸入端,即流入網絡數據組進行緩沖存儲的輸入端,從第一數據緩沖模塊的輸入
端切換到第二數據緩沖模塊的輸入端,因此,在第二個緩沖周期,網絡數據組流入到第二數據緩沖模塊進行緩沖存儲,同時輸出數據選擇控制模塊將第一數據緩沖模塊在第一個緩沖周期緩沖存儲的網絡數據發(fā)送到AES加解密單元進行加解密;
在第三個緩沖周期,輸入數據選擇控制模塊再次切換控制第一數據緩沖模塊和第二數據緩沖模塊的輸入端,即流入網絡數據組進行緩沖存儲的輸入端,從第二數據緩沖模塊的輸入端切換到第一數據緩沖模塊的輸入端,因此,在第三個緩沖周期,網絡數據組流入到第一數據緩沖模塊進行緩沖存儲,同時,輸出數據選擇控制模塊切換控制第一數據緩沖模塊和第二數據緩沖模塊的輸出單,即輸出網絡數據組的輸出端,從第一數據緩沖模塊的輸出端切換到第二數據緩沖模塊的輸出端,輸出數據選擇控制模塊從第二數據緩沖模塊取出在第二個周期緩沖存儲的網絡數據組后發(fā)送到AES加解密單元進行加解密;后續(xù)的緩沖調度如上述不斷地循環(huán)。因此緩沖調度單元中的輸入數據選擇控制模塊和輸出數據選擇控制模塊就能按節(jié)拍和相互配合地進行來回切換控制,從而使進行緩沖調度的網絡數據組不間斷不停頓地發(fā)送到AES加解密單元進行AES加解密處理。進一步作為優(yōu)選的實施方式,所述AES加解密單元包括復合域優(yōu)化Sbox查表和復用加解密Sbox乘法求逆模塊以及
AES控制模塊,用于對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,將插入數據標簽的網絡數據組發(fā)送到AES加解密模塊,并且通過控制信號控制AES加解密模塊對網絡數據組進行加解密的功能選擇以及控制與加解密過程中相對應的不同數據通路的連通與關閉;
AES加解密模塊,用于對插入數據標簽的網絡數據組進行接收,采用復合域優(yōu)化Sbox查表和復用加解密Sbox乘法求逆模塊并根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后將結果通過AES控制模塊返回到MCU單元進行AES加解密網絡數據包輸出。由上述可知,緩沖調度單元將128位的網絡數據組再次分成4組,每網絡數據組的位數為32位,然后依次發(fā)送到AES加解密單元中的AES控制模塊,AES控制模塊對32位的網絡數據組進行接收后在每網絡數據組后插入用于記錄地址以及記錄輪數的數據標簽。由此可知,所述的數據標簽包括兩部分,一部分是用于記錄地址的,另一部分是用于記錄輪數的。根據AES加解密算法的原理可知,對網絡數據組進行AES加解密是需要四個不同的操作子模塊,因此AES加解密模塊包括字節(jié)替換操作子模塊、行位移變換操作子模塊、列混合變換操作子模塊以及密鑰邏輯變換操作子模塊,并且根據密鑰長度是128位、192位或256位,決定進行AES加解密的輪數,分別對應為10輪、12輪或14輪,而這四個操作子模塊根據輪數被循環(huán)調用,在本發(fā)明中由于密鑰長度為128位,因此AES加解密模塊進行10輪主循環(huán)加解密,而這四個操作子模塊在10輪主循環(huán)加解密運算中被循環(huán)調用。而且在本發(fā)明中,字節(jié)替換操作子模塊、行位移變換操作子模塊、列混合變換操作子模塊以及密鑰邏輯變換操作子模塊均各自擁有自身的模擬地址以及路由轉發(fā)表,即相當于現(xiàn)今網絡中四個獨立的路由器,因此,上述提到數據標簽一部分是用于記錄地址,其記錄的是這四個操作子模塊的模擬地址,數據標簽另一部分是用于記錄輪數,其記錄的就是該網絡數據組進行的輪數,若任一操作子模塊檢測到該網絡數據組的輪數為3,即表示該網絡數據組正在進行第三輪的循環(huán)。還有,由于在AES加密和AES解密的過程中,復合域優(yōu)化Sbox查表、復用加解密Sbox乘法求逆模塊、字節(jié)替換操作子模塊、行位移變換操作子模塊、列混合變換操作子模塊以及密鑰邏輯變換操作子模塊,它們之間的數據路由通路不一致,因此AES控制模塊通過 控制信號控制AES加解密模塊對網絡數據組進行加解密的功能選擇,即通過控制信號從而控制AES加解密模塊是進行AES加密或AES解密,根據判定32位網絡數據組進行AES加密或AES解密后,AES控制模塊同時通過控制信號從而控制復合域優(yōu)化Sbox查表、復用加解密Sbox乘法求逆模塊、字節(jié)替換操作子模塊、行位移變換操作子模塊、列混合變換操作子模塊以及密鑰邏輯變換操作子模塊,它們之間不同數據通路的連通與關閉,這樣基于FPGA的硬件電路設計簡單,而且復用加解密Sbox乘法求逆模塊,能夠大大減少硬件資源以及成本費用,同時將復用加解密Sbox乘法求逆模塊的乘法求逆運算映射到GF (28)的同構域GF((24)2)中,在域階大為降低的同構域GF((24)2)中進行乘法求逆后再將結果映射回GF (28),這樣更適合于硬件實現(xiàn)。AES加解密模塊對插入數據標簽的32位網絡數據組進行接收后,采用復合域優(yōu)化Sbox查表和復用加解密Sbox乘法求逆模塊,根據檢測數據標簽中記錄四個操作子模塊的模擬地址以及輪數,從而實現(xiàn)四個操作子模塊輪內路由控制進而對網絡數據組進行AES加解密。例如,AES控制模塊發(fā)送32位網絡數據組到字節(jié)替換操作子模塊后,字節(jié)替換操作子模塊就會檢測該網絡數據組的數據標簽,根據數據標簽中的輪數從而得知該網絡數據組的具體操作,根據數據標簽中記錄的模擬地址以及自身的路由轉發(fā)表,從而得知該網絡數據組的路由信息,即字節(jié)替換操作子模塊對該網絡數據組處理后應將其發(fā)送到下一個操作子模塊,該網絡數據組被發(fā)送到下一個操作子模塊后,該操作子模塊同樣地對數據標簽進行檢測從而獲得該網絡數據組的路由信息以及具體操作,如此四個操作子模塊循環(huán)實現(xiàn)輪內路由控制進行加密或解密,直到滿足AES加解密算法的輪數后結束,從而輸出AES加解密網絡數據組。如圖2所示,其為四個操作子模塊循環(huán)實現(xiàn)輪內路由控制從而進行AES加解密處理的流程圖,圖中F表示控制信息。首先判斷F是否為1,若F為1,網絡數據組則進行AES解密,首先網絡數據組被發(fā)送到密鑰邏輯變換操作子模塊進行操作處理后啟動主循環(huán),其主循環(huán)的過程為網絡數據組依次經過行位移變換操作子模塊、字節(jié)替換操作子模塊、密鑰邏輯變換操作子模塊以及列混合變換操作子模塊進行操作處理,判斷是否滿足輪數條件,即判斷是否已進行10次循環(huán),若否則繼續(xù)進行主循環(huán),反之則結束主循環(huán),結束后再依次經過行位移變換操作子模塊、字節(jié)替換操作子模塊以及密鑰邏輯變換操作子模塊進行操作處理后輸出AES解密網絡數據組;若F不為I,網絡數據組則進行AES加密,首先網絡數據組被發(fā)送到密鑰邏輯變換操作子模塊進行操作處理后啟動主循環(huán),其主循環(huán)的過程為網絡數據組依次經過字節(jié)替換操作子模塊、行位移變換操作子模塊、列混合變換操作子模塊以及密鑰邏輯變換操作子模塊進行操作處理,判斷是否滿足輪數條件,即判斷是否已進行10次循環(huán),若否則繼續(xù)進行主循環(huán),反之則結束主循環(huán),結束后再依次經過字節(jié)替換操作子模塊、行位移變換操作子模塊以及密鑰邏輯變換操作子模塊進行操作處理后輸出AES加密網絡數據組。在AES加密或解密的過程中,四個操作子模塊均是根據檢測網絡數據組的數據標簽而獲取網絡數據組的路由信息以及具體操作信息,從而四個操作子模塊各自實現(xiàn)自身的輪內路由控制以及并行處理網絡數據組。另外,在AES加解密過程中密鑰邏輯變換操作 子模塊使用了密鑰。由上述可知,由于對網絡數據組插入數據標簽后,四個操作子模塊能夠并行運行,通過檢測數據標簽從而獲取該網絡數據組的路由信息以及具體操作,這樣就將復雜的集中控制功能分散到四個操作子模塊中,而且每個操作子模塊的控制負擔十分精簡,只需檢測數據標簽即可獲得該網絡數據組的路由信息以及具體操作,因此,大多數時鐘周期都會有多于一個的操作子模塊處于有效工作狀態(tài),甚至四個操作子模塊同時工作,這樣大大提高工作效率以及大大提高硬件資源的利用率。AES加解密模塊進行輪內路由控制的具體實施例
字節(jié)替換操作子模塊的模擬地址為6’ b00,行位移變換操作子模塊的模擬地址為6’ bOl,列混合變換操作子模塊的模擬地址為6’ blO,密鑰邏輯變換操作子模塊的模擬地址為6’ bll,該網絡數據在的輪數為0,即為首輪。該網絡數據組的編碼為6’ bOOllll,而由于根據AES加解密算法原理,首輪循環(huán)中字節(jié)替換操作子模塊、行位移變換操作子模塊以及列混合變換操作子模塊均不工作,只有密鑰邏輯變換操作子模塊進行操作,因此,該網絡數據組從AES控制模塊輸入時,該網絡數據組的編碼被設置為6’ bllllll,根據AES加解密算法原理的順序設定,字節(jié)替換操作子模塊、行位移變換操作子模塊以及列混合變換操作子模塊對該網絡數據組的數據標簽進行檢測,若檢測到數據標簽為6’ bllllll,則將該網絡數據組發(fā)送到下一操作子模塊,直到該網絡數據組來到密鑰邏輯變換操作子模塊時,密鑰邏輯變換操作子模塊對該網絡數據組進行操作,并將該網絡數據組的數據標簽設置為6’ b 110001,以供下一輪循環(huán)操作。然而,當4組32位的網絡數據組依次進行AES加解密后就將4組32位的AES加解密網絡數據組整合為128位AES加解密網絡數據組,然后通過調度緩沖單元將128位AES加解密網絡數據組返回到MUC單元,而MCU單元對128位AES加解密網絡數據組接收后就會將下一組128位網絡數據組通過緩沖調度單元發(fā)送到AES加解密單元進行AES加解密,如此重復操作,直到將先前接收到的網絡數據包處理完畢為止,最后將已進行AES加解密的網絡數據包通過RJ45網口返回到計算機。如圖3所示,采用本發(fā)明裝置的通信系統(tǒng),包括發(fā)送端、接收端、與發(fā)送端相應的第一基于FPGA的AES加解密網絡通訊裝置以及與接收端相應的第二基于FPGA的AES加解密網絡通訊裝置,發(fā)送端發(fā)送私人密鑰和待發(fā)信息到第一基于FPGA的AES加解密網絡通訊裝置,第一基于FPGA的AES加解密網絡通訊裝置根據私人密鑰將待發(fā)信息進行加密,然后將加密待發(fā)信息作為密文返回到發(fā)送端,然后發(fā)送端通過互聯(lián)網將密文發(fā)送到接收端。接收端對密文進行接收,將事先與發(fā)送端約定好的私人密鑰和密文發(fā)送到第二基于FPGA的AES加解密網絡通訊裝置進行解密并返回解密后的信息內容到接收端。因此,只要別人不知道私人密鑰,就無法獲取用戶發(fā)送的真實信息,從而可以解決傳統(tǒng)的通信信息傳輸中存在的安全隱患,防止信息赤裸裸地暴露在互聯(lián)網中,避免被別人竊取監(jiān)聽,大大提高信息在通信過程中的安全性。如圖4所示,一種基于FPGA的AES加解密網絡通訊實現(xiàn)方法,該方法的步驟包括
A、MCU單元對由網口傳來的網絡數據包進行接收后控制接收的網絡數據包進行分組以
及將網絡數據組進行轉發(fā);
C、AES加解密單元對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后將結果返回到MCU單元進行AES加解密網絡數據包輸出。進一步作為優(yōu)選的實施方式,所述步驟A與步驟C之間包括步驟B,所述步驟B為,緩沖調度單元對由MCU單元傳來的網絡數據組進行緩沖以及再次分組后將網絡數據組轉發(fā)到AES加解密單元。進一步作為優(yōu)選的實施方式,所述步驟A包括
AUMCU單元實現(xiàn)ARP應答后對網絡數據包進行接收,所述網絡數據包為UDP網絡數據包,因此所述MCU單元能夠實現(xiàn)ARP協(xié)議和UDP通信協(xié)議;
A2、判斷接收的網絡數據包的大小,根據判斷結果控制網絡數據包進行分組以及將網絡數據組進行轉發(fā),即判斷若網絡數據包的大小是128位的整數倍,則對網絡數據包進行分組,每個網絡數據組的尾數為128位;若網絡數據包的大小不是128位的整數倍,則在網絡數據包的包尾插入00補全后,對網絡數據包進行分組,每個網絡數據組的位數為128位。進一步作為優(yōu)選的實施方式,所述步驟C具體為,
AES加解密單元對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,通過控制信號控制對網絡數據組進行加解密的功能選擇以及控制與加解密過程中相對應的不同數據通路的連通與關閉,同時采用復合域優(yōu)化Sbox查表和復用加解密Sbox乘法求逆模塊并根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后將結果返回到MCU單元進行AES加解密網絡數據包輸出。進一步作為優(yōu)選的實施方式,所述步驟B中緩沖調度單元采用乒乓操作對由MCU單元傳來的網絡數據組進行緩沖以及再次分組后將網絡數據組轉發(fā)到AES加解密單元。以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施例,熟悉本領域的技術人員在不違背本發(fā)明精神的前提下還可做作出種種的等同變形或替 換,這些等同的變形或替換均包含在本申請權利要求所限定的范圍內。
權利要求
1.一種基于FPGA的AES加解密網絡通訊裝置,其特征在于包括 MCU單元,用于對由網口傳來的網絡數據包進行接收后控制接收的網絡數據包進行分組以及將網絡數據組進行轉發(fā); AES加解密單元,用于對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后將結果返回到MCU單元進行AES加解密網絡數據包輸出。
2.根據權利要求I所述一種基于FPGA的AES加解密網絡通訊裝置,其特征在于所述MCU單元與AES加解密單元之間設有用于對網絡數據組進行緩沖以及再次分組的緩沖調度單元。
3.根據權利要求I所述一種基于FPGA的AES加解密網絡通訊裝置,其特征在于所述AES加解密單元包括復合域優(yōu)化Sbox查表和復用加解密Sbox乘法求逆模塊以及 AES控制模塊,用于對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,將插入數據標簽的網絡數據組發(fā)送到AES加解密模塊,并且通過控制信號控制AES加解密模塊對網絡數據組進行加解密的功能選擇以及控制與加解密過程中相對應的不同數據通路的連通與關閉; AES加解密模塊,用于對插入數據標簽的網絡數據組進行接收,采用復合域優(yōu)化Sbox查表和復用加解密Sbox乘法求逆模塊并根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后將結果通過AES控制模塊返回到MCU單元進行AES加解密網絡數據包輸出。
4.根據權利要求2所述一種基于FPGA的AES加解密網絡通訊裝置,其特征在于所述緩沖調度單元采用乒乓操作對網絡數據組進行緩沖調度以及再次分組。
5.根據權利要求2或4所述一種基于FPGA的AES加解密網絡通訊裝置,其特征在于所述緩沖調度單元包括輸入數據選擇控制模塊、第一數據緩沖模塊、第二數據緩沖模塊以及輸出數據選擇控制模塊,輸入數據選擇控制模塊通過切換控制第一數據緩沖模塊和第二數據緩沖模塊的輸入端,從而將由MCU單元傳來的網絡數據組進行再次分組以及緩沖存儲在第一數據緩沖模塊或第二數據緩沖模塊,同時輸出數據選擇控制模塊通過切換控制第一數據緩沖模塊和第二數據緩沖模塊的輸出端,從而從第一數據緩沖模塊或第二數據緩沖模塊取出網絡數據組后轉發(fā)到AES加解密單元。
6.一種基于FPGA的AES加解密網絡通訊實現(xiàn)方法,其特征在于該方法的步驟包括 A、MCU單元對由網口傳來的網絡數據包進行接收后控制接收的網絡數據包進行分組以及將網絡數據組進行轉發(fā); C、AES加解密單元對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后將結果返回到MCU單元進行AES加解密網絡數據包輸出。
7.根據權利要求6所述一種基于FPGA的AES加解密網絡通訊實現(xiàn)方法,其特征在于所述步驟A與步驟C之間包括步驟B,所述步驟B為,緩沖調度單元對由MCU單元傳來的網絡數據組進行緩沖以及再次分組后將網絡數據組轉發(fā)到AES加解密單元。
8.根據權利要求6所述一種基于FPGA的AES加解密網絡通訊實現(xiàn)方法,其特征在于所述步驟A包括AUMCU單元實現(xiàn)ARP應答后對網絡數據包進行接收; A2、判斷接收的網絡數據包的大小,根據判斷結果控制網絡數據包進行分組以及將網絡數據組進行轉發(fā)。
9.根據權利要求7所述一種基于FPGA的AES加解密網絡通訊實現(xiàn)方法,其特征在于所述步驟C具體為, AES加解密單元對網絡數據組進行接收后對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,通過控制信號控制對網絡數據組進行加解密的功能選擇以及控制與加解密過程中相對應的不同數據通路的連通與關閉,同時采用復合域優(yōu)化Sbox查表和復用加解密Sbox乘法求逆模塊并根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后將結果返回到MCU單元進行AES加解密網絡數據包輸出。
10.根據權利要求7所述一種基于FPGA的AES加解密網絡通訊實現(xiàn)方法,其特征在于所述步驟B中緩沖調度單元采用乒乓操作對由MCU單元傳來的網絡數據組進行緩沖以及再次分組后將網絡數據組轉發(fā)到AES加解密單元。
全文摘要
本發(fā)明公開了一種基于FPGA的AES加解密網絡通訊裝置及其實現(xiàn)方法,包括MCU單元和AES加解密單元。該方法的步驟包括,首先MCU單元對由網口傳來的網絡數據包進行接收后控制接收的網絡數據包進行分組以及將網絡數據組進行轉發(fā),然后AES加解密單元對網絡數據組插入用于記錄地址以及記錄輪數的數據標簽,根據插入的數據標簽對網絡數據組進行輪內路由控制以及并行對網絡數據組進行AES加解密后進行AES加解密網絡數據包輸出。本發(fā)明既具備FPGA高速的硬件并行處理的優(yōu)點,同時也具備了MCU良好的通信和智能控制能力,因此大大提高有效工作效率以及通信和智能控制能力強。本發(fā)明作為一種基于FPGA的AES加解密網絡通訊裝置及其實現(xiàn)方法廣泛應用在網絡通訊領域中。
文檔編號H04L9/06GK102664729SQ20121012984
公開日2012年9月12日 申請日期2012年4月28日 優(yōu)先權日2012年4月28日
發(fā)明者蔡鋼, 陳弟虎, 陳敏 申請人:中山大學