一種高級數據加密標準的逆混合列變換實現電路的製作方法
2023-05-25 20:20:16 2
專利名稱:一種高級數據加密標準的逆混合列變換實現電路的製作方法
技術領域:
本發明涉及數據安全技術領域,尤其涉及在分組加密算法中,一種高級數據加密標準(AES)的逆混合列變換的實現電路。
背景技術:
AES是2001年10月2日由美國國家標準技術局指定的一種數據加密標準,作為一種分組加密算法,AES一次對一個數據塊進行加密或解密,當前,AES正在得到日益廣泛的應用。參見圖1,在使用AES對一個數據塊進行加密時,需要經過移位列變換、字節替換、混合列變換、異或子密鑰的操作,參見圖2,在使用AES對一個數據塊進行解密時,則需要進行與加密相對應的異或子密鑰、逆混合列變換、逆字節替換、逆移位列變換的操作。由於混合列變換比逆混合列變換實現簡單,因此導致加密的過程比解密過程實現快,為了提高利用AES進行數據加密和解密的電路性能,需要對逆混合列變換的實現電路進行優化,以提高該AES電路的整體速度。
下面首先對逆混合列變換所涉及的算法加以介紹逆混合列變換是對每個雙字進行變換,其中,雙字為4個字節,每個字節8比特,雙字共32比特;逆混合列變換對雙字進行如下公式1~公式4所示的變換,其中,在這些公式中,t代表進行變換前的雙字,new_t代表變換後的雙字,t
、t[1]、t[2]、t[3]分別為t的第1、2、3、4個字節,new_t
、new_t[1]、new_t[2]、new_t[3]分別為new_t的第1、2、3、4個字節,用0x表示16進位數,0x0e、0x0b、0x0d、0x09分別表示16進位的0e、0b、0d、09,對應的十進位數分別是14、11、13、9;公式1
new_t
=FFmul(0x0e,t
)^FFmul(0x0b,t[1])^FFmul(0x0d,t[2])^FFmul(0x09,t[3])公式2new_t[1]=FFmul(0x0e,t[1])^FFmul(0x0b,t[2])^FFmul(0x0d,t[3])^FFmul(0x09,t
)公式3new_t[2]=FFmul(0x0e,t[2])^FFmul(0x0b,t[3])^FFmul(0x0d,t
)^FFmul(0x09,t[1])公式4new_t[3]=FFmul(0x0e,t[3])^FFmul(0x0b,t
)^FFmul(0x0d,t[1])^FFmul(0x09,t[2])其中,在上述公式中,符號^表示異或運算,FFmul代表有限域256上的乘法運算,後面將該運算簡稱為有限域乘法或者乘法,FFmul(0x0e,t
)表示16進位數0e與t
進行該乘法運算,公式中其餘的FFmul也表示進行類似計算;在直接實現上述有限域算法的硬體電路中,不但要耗費大量的門電路實現相應算法,而且還會造成電路的邏輯延時非常大,不利於提高時鐘頻率,由於上述逆混合列變換的算法中只使用到了已知一個乘數的有限域乘法,因此,可以針對此點對逆混合列變換的硬體實現電路進行優化,現有技術中,逆混合列變換的硬體電路優化通過以下方案得以實現
在算法方面,在該技術方案中,通過多次進行有限域上的乘2運算來實現上述公式1~公式4所述的逆混合列計算,由於有限域上的乘2運算在硬體電路上易於實現,因此,該方案可以實現對於硬體電路的優化。在以下的敘述中,以FFmul_2表示有限域上的乘0x02運算,其它形如FFmul_2的形式也表示相應的有限域乘法運算,以FFmul_e為例,該現有技術方案中對該FFmul_e的簡化過程如下由於0x0e=0x08^0x04^0x02,根據有限域乘法中FFmul(a,b^c)=FFmul(a,b)^FFmul(a,c)的特性,可以得到如下簡化結果FFmul_e(a)=FFmul_8(a)^FFmul_4(a)^FFmul_2(a);由於在有限域上乘4等於兩次有限域上乘2,有限域上乘8等於3次有限域上乘2,因此可以繼續化簡,從而得到公式5所示的化簡結果公式5FFmul_e(a)=FFmul_2(FFmul_2(FFmul_2(a)))^FFmul_2(FFmul_2(a))^FFmul_2(a)同理,也可以對FFmul_d、FFmul_b、FFmul_9進行化簡,得到如下公式6~公式8所示的化簡結果公式6FFmul_d(a)=FFmul_2(FFmul_2(FFmul_2(a)))^FFmul_2(FFmul_2(a))^a公式7FFmul_b(a)=FFmul_2(FFmul_2(FFmul_2(a)))^FFmul_2(a)^a公式8FFmul_9(a)=FFmul_2(FFmul_2(FFmul_2(a)))^a由上述的化簡結果,可以把上述公式1~公式4所示的逆混合列變換計算轉換為只包括有限域上乘2運算的計算,從而達到在算法方面簡化逆混合列變換算法的效果;在硬體電路實現方面,該現有技術方案採用如圖3所示的FFmul_2實現電路來實現有限域上的乘2運算,該電路中包括有左移模塊、異或(XOR)模塊和選擇模塊,其中,左移模塊實現對輸入的8比特數組進行左移,該左移為將數組的低7位數向左移動一位,並將最後一位用值為0的一比特補齊,以上述左移方式實現乘2運算;在該FFmul_2實現電路中,左移模塊的輸入端輸入數組din[7:0],該數組中保存有需要進行乘2運算的1位元組內容,左移模塊的輸出結果輸入至選擇模塊,由於左移模塊的輸出結果可能會超出有限域的範圍,因此,還需將左移模塊的輸出結果輸入至異或模塊,該異或模塊的另一輸入端輸入預先計算得到的常數0x1b,異或模塊對這兩個輸入進行異或運算後,將運算結果輸入至選擇模塊;選擇模塊根據數組din[7:0]進行左移前的din[7]的數值進行選擇輸出,當該din[7]為0時,則輸出的dout[7:0]就是左移模塊輸入選擇模塊的值,當該din[7]為1時,表明數組din[7:0]在進行上述左移後會溢出有限域的範圍,而由於上述異或模塊所進行的異或運算能夠實現將該溢出的結果轉換為有限域內的乘法結果,因此,選擇模塊選擇異或模塊輸入選擇模塊的結果作為dout[7:0]輸出。
採用該FFmul_2實現電路,可以根據上述公式5所述的化簡結果,利用如圖4所示的實現電路實現FFmul_e的運算;同樣,也可採用該FFmul_2實現電路,根據公式6~公式8所述的FFmul_d、FFmul_b、FFmul_9的化簡結果,採用與該化簡結果相對應並且與上述FFmul_e實現電路形式類似的實現電路加以實現,在採用該FFmul_2實現電路分別實現FFmul_e、FFmul_d、FFmul_b、FFmul_9運算後,根據公式1~公式4所述的內容,還需要對這些運算結果進行異或運算,採用圖5所示的實現電路實現上述的異或運算,從而最終輸出逆混合列變換後的結果new_t;其中,在圖5中,以FFmul_e模塊、FFmul_b模塊、FFmul_d模塊、FFmul_9模塊分別表示上述採用FFmul_2實現電路實現相應運算時的實現電路,根據公式1~公式4的運算內容,這些模塊分別輸入相對應的字節,從而最終輸出相對應的逆混合列變換結果。
由於公式5的化簡結果中至少調用了三次FFmul_2,因此,參見圖4,在該硬體實現電路中相應地調用了三次FFmul_2實現電路,故在該電路中,從電路的輸入到輸出所走路徑最多的最大路徑經過了4次異或和3個選擇模塊,共經過了7級邏輯;同樣,由於公式6~公式8所述的化簡結果也分別調用了三次FFmul_2,因此,這些化簡結果所對應的FFmul_b、FFmul_d、FFmul_9硬體實現電路也需要分別經過7級邏輯,而圖5所示的實現電路表明要完成逆混合列變換還需要再經過2次異或,因此,採用該現有技術實現逆混合列變換共需要6級異或邏輯和3級選擇邏輯,而電路的邏輯數多會導致最大路徑的延時長,從而導致電路的運行速度緩慢,不能很好地實現提高電路運行頻率,進而提高AES電路的整體運行速度的目的。
發明內容
有鑑於此,本發明的主要目的在於提供一種逆混合列變換的實現電路,該電路的邏輯級數少,能夠減小電路中最長路徑的延時,從而提高電路的運行速度,進而達到提高AES電路整體運行速度的目的。
為實現上述目的,本發明採用一種高級數據加密標準的逆混合列變換的實現電路,在該電路的輸入端按順序輸入要進行逆混合列變換的四個字節,該電路的輸出端輸出與輸入的四個字節相對應的逆混合列變換後的四個字節中的一個字節,該電路包括輸入異或模塊組、有限域計算模塊組和輸出異或模塊組輸入異或模塊組,自該模塊組的四個輸入端按順序分別輸入要進行逆混合列變換的四個字節,該模塊組對輸入的四個字節進行異或運算,自該模塊組的第一輸出端將該模塊組第一輸入端所輸入字節與該模塊組第三輸入端所輸入字節的異或結果輸出至有限域計算模塊組中的FFmul_4模塊,自該模塊組的第二輸出端將該模塊組第一輸入端所輸入字節與該模塊組第二輸入端所輸入字節的異或結果輸出至有限域計算模塊組中的FFmul_2模塊,自該模塊組的第三輸出端將該模塊組四個輸入端所輸入字節的異或結果輸出至有限域計算模塊組中的FFmul_8模塊,自該模塊組的第四輸出端將該模塊組第三輸入端所輸入字節與該模塊組第四輸入端所輸入字節的異或結果輸出至輸出異或模塊組;該模塊組的第二輸入端將所輸入的字節輸出至輸出異或模塊組;有限域計算模塊組,該模塊組中用於實現FFmul_2計算的FFmul_2模塊將計算結果輸出至輸出異或模塊組,該模塊組中用於實現FFmul_4計算的FFmul_4模塊將計算結果輸出至輸出異或模塊組,和該模塊組中用於實現FFmul_8計算的FFmul_8模塊將計算結果輸出至輸出異或模塊組;輸出異或模塊組,該模塊組對輸入進行異或運算,將異或運算後所得到的進行逆混合列變換後的新字節自該模塊組的輸出端輸出;在該實現電路的輸入異或模塊組的第一輸入端~第四輸入端分別輸入t
、t[1]、t[2]和t[3]時,該輸出異或模塊組的輸出端輸出new_t
;在該電路的輸入異或模塊組的第一輸入端~第四輸入端分別輸入t[1]、t[2]、t[3]和t
時,該輸出異或模塊組的輸出端輸出new_t[1];在該電路的輸入異或模塊組的第一輸入端~第四輸入端分別輸入t[2]、t[3]、t
和t[1]時,該輸出異或模塊組的輸出端輸出new_t[2];在該電路的輸入異或模塊組的第一輸入端~第四輸入端分別輸入t[3]、t
、t[1]和t[2]時,該輸出異或模塊組的輸出端輸出new_t[3];其中,t表示進行逆混合列變換前的字節,new_t表示進行逆混合列變換後的字節。
其中,所述FFmul_4硬體實現電路包括左移模塊,在該模塊的輸入端輸入保存有一個字節的數組,該模塊對該數組中的8比特進行左移2位操作,將左移後的結果自輸出端輸出至選擇模塊;三個異或模塊,這些異或模塊的一個輸入端分別輸入預先計算得到的十六進位常數1b、36和2d,另一個輸入端則分別輸入所述左移模塊輸出端所輸出的結果,這些異或模塊的輸出端將進行異或運算後的結果輸出至選擇模塊;選擇模塊該模塊根據所述數組左移前的高2位數值從所接收到的輸入中選擇其中的1個作為所述計算結果輸出。
其中,所述FFmul_8硬體實現電路包括左移模塊,在該模塊的輸入端輸入保存有一個字節的數組,該模塊對該數組中的8比特進行左移3位操作,將左移後的結果自輸出端輸出至選擇模塊;七個異或模塊,這些異或模塊的一個輸入端分別輸入預先計算得到的十六進位常數1b、36、2d、6c、77、5a和41,另一個輸入端則分別輸入所述左移模塊輸出端所輸出的結果,這些異或模塊的輸出端將進行異或運算後的結果輸出至選擇模塊;選擇模塊該模塊根據所述數組左移前的高3位數值從所接收到的輸入中選擇其中的1個作為所述計算結果輸出。
其中,所述FFmul_2硬體實現電路包括左移模塊,在該模塊的輸入端輸入保存有一個字節的數組,該模塊對該數組中的8比特進行左移1位操作,將左移後的結果自輸出端輸出至選擇模塊;一個異或模塊,該異或模塊的一個輸入端輸入預先計算得到的十六進位常數1b,另一個輸入端則輸入所述左移模塊輸出端所輸出的結果,該異或模塊的輸出端將進行異或運算後的結果輸出至選擇模塊;選擇模塊該模塊根據所述數組左移前的高1位數值從所接收到的輸入中選擇其中的1個作為所述計算結果輸出。
其中,所述輸入異或模塊組包括異或模塊1自該異或模塊1的第一輸入端輸入所述輸入異或模塊組第一輸入端所輸入的字節,自該異或模塊1的第二輸入端輸入所述輸入異或模塊組第三輸入端所輸入的字節,該異或模塊1對輸入的字節進行異或運算後,將運算結果自所述輸入異或模塊組的第一輸出端輸出;異或模塊2自該異或模塊2的第一輸入端輸入所述輸入異或模塊組第一輸入端所輸入的字節,自該異或模塊2的第二輸入端輸入所述輸入異或模塊組第二輸入端所輸入的字節,該異或模塊2對輸入的字節進行異或運算後,將運算結果自所述輸入異或模塊組的第二輸出端輸出;異或模塊3自該異或模塊3的第一輸入端輸入所述輸入異或模塊組第三輸入端所輸入的字節,自該異或模塊3的第二輸入端輸入所述輸入異或模塊組第四輸入端所輸入的字節,該異或模塊3對輸入的字節進行異或運算後,將運算結果自所述輸入異或模塊組的第四輸出端輸出;異或模塊4自該異或模塊4的第一輸入端輸入所述異或模塊2的輸出端所輸出的運算結果,自該異或模塊4的第二輸入端輸入所述異或模塊3的輸出端所輸出的運算結果,該模塊對輸入的運算結果進行異或運算後,將運算結果自所述輸入異或模塊組的第三輸出端輸出。
其中,所述輸出異或模塊組包括異或模塊5自該異或模塊5的第一輸入端輸入所述輸入異或模塊組第四輸出端所輸出的異或結果,自該異或模塊5的第二輸入端輸入所述輸入異或模塊組第二輸入端所輸入的字節,該異或模塊5對輸入進行異或運算後,自該異或模塊5的輸出端將運算結果輸出至異或模塊7的第一輸入端;異或模塊6,自該異或模塊6的兩個輸入端輸入FFmul_2模塊、FFmul_4模塊和FFmul_8模塊中任意兩個模塊的輸出端所輸出的運算結果,該異或模塊6對輸入進行異或運算後,將運算結果輸出至異或模塊8的第二輸入端;異或模塊7,FFmul_2模塊、FFmul_4模塊和FFmul_8模塊中未將運算結果輸出至異或模塊6的那個模塊將運算結果自異或模塊7的第二輸入端輸入異或模塊7,該異或模塊7對輸入進行異或運算後,將異或運算結果自輸出端輸出至異或模塊8的第一輸入端;異或模塊8,該異或模塊8對輸入進行異或運算後,自其輸出端輸出所述進行逆混合列變換後的新字節。
其中,所述輸出異或模塊組包括異或模塊9自該異或模塊9的第一輸入端輸入所述輸入異或模塊組的第四輸出端所輸出的異或結果,自該異或模塊9的第二輸入端輸入FFmul_2模塊、FFmul_4模塊和FFmul_8模塊中任意一個模塊輸出端所輸出的運算結果,該異或模塊9對輸入進行異或運算後,自該異或模塊9的輸出端將運算結果輸出至異或模塊10的第一輸入端;
異或模塊10FFmul_2模塊、FFmul_4模塊和FFmul_8模塊中未將運算結果輸出至異或模塊9的兩個模塊中的任意一個模塊將該模塊的運算結果自異或模塊10的第二輸入端輸入異或模塊10,異或模塊10對輸入進行異或運算後,將運算結果自輸出端輸出至異或模塊12的第一輸入端;異或模塊11FFmul_2模塊、FFmul_4模塊和FFmul_8模塊中未將運算結果輸出至異或模塊9和異或模塊10的那個模塊將該模塊的運算結果自異或模塊11的第一輸入端輸入異或模塊11,自該異或模塊11的第二輸入端輸入所述輸入異或模塊組第二輸入端所輸入的字節,該異或模塊11對輸入進行異或運算後,將運算結果自輸出端輸出至異或模塊12的第二輸入端;異或模塊12該異或模塊12對輸入進行異或運算後,自輸出端輸出所述進行逆混合列變換後的新字節。
其中,所述異或模塊為異或門。
可見,由於本發明採用了只具有1級異或模塊和1級選擇模塊的FFmul_2、FFmul_4、FFmul_8實現電路,分別實現FFmul_2運算、FFmul_4運算和FFmul_8運算,然後再根據對逆混合列變換的化簡結果,利用上述FFmul_2、FFmul_4、FFmul_8實現電路實現逆混合列變換,從而使得實現AES逆混合列變換的電路中所包括的邏輯級數減少為6級,該6級邏輯可以為4級異或邏輯、1級選擇邏輯和1級反相邏輯,或者也可為5級異或邏輯和1級選擇邏輯,從而使得電路中最長路徑延時減小,加快了電路的運行速度,達到了提高AES電路整體運行速度的目的,並且,由於該電路具有延時小、運行速度快的性能,因此,可以將該電路應用在較高的頻率上,從而提高電路的工作性能。
圖1為AES加密迭代單元所實現操作的流程圖。
圖2為AES解密迭代單元所實現操作的流程圖。
圖3為現有技術中FFmul_2的實現電路示意圖。
圖4為現有技術中FFmul_e的實現電路示意圖。
圖5為現有技術中進行逆混合列變換的實現電路示意圖。
圖6為本發明中FFmul_4的實現電路示意圖。
圖7為本發明中FFmul_8的實現電路示意圖。
圖8為本發明進行逆混合列變換的模塊圖。
圖9為本發明中輸入異或模塊組的示意圖。
圖10為本發明中有限域計算模塊的示意圖。
圖11為本發明一實施例中輸出異或模塊組的示意圖。
圖12為本發明另一實施例中輸出異或模塊組的示意圖。
圖13為本發明一實施例中實現逆混合列變換的電路圖。
具體實施例方式
本發明為一種逆混合列變換的硬體實現電路,該電路採用只具有1級異或模塊和1級選擇模塊的FFmul_2、FFmul_4、FFmul_8實現電路分別實現FFmul_2運算、FFmul_4運算和FFmul_8運算,進而再根據對逆混合列變換的化簡結果,利用上述FFmul_2、FFmul_4、FFmul_8實現電路實現逆混合列變換,該電路只需要經過6級邏輯即可實現逆混合列變換,其運行速度快;其中,上述所述的實現電路所具有的異或模塊的級數為從電路的輸入到輸出所走路徑最多的最大路徑中所包括的異或模塊數量,而上述所述的實現電路所具有的選擇模塊的級數為從電路的輸入到輸出所走路徑最多的最大路徑中所包括的選擇模塊數量。
下面結合附圖對本發明進行詳細說明。
參見圖6,本發明利用只具有1級異或和1個選擇模塊的FFmul_4硬體實現電路實現FFmul_4運算,在該電路中,左移模塊實現對輸入數組din[7:0]的左移2位操作,從而實現有限域上的乘4運算,左移模塊的輸出結果輸入至選擇模塊,同時,為了對可能出現的左移後發生溢出的情況進行處理,左移模塊的輸出結果還輸入至圖中所示的3個異或模塊,這3個異或模塊的另一輸入端分別輸入預先計算得到的常數0x1b、0x36和0x2d,這3個異或模塊的輸出結果分別輸入至選擇模塊,選擇模塊根據進行左移前din[7:0]中的高2位din[7:6]進行選擇輸出如果din[7:6]為0,則dout就等於din左移後的值,若din[7:6]為1則dout等於din[7:0]左移後與0x1b異或的結果,若din[7:6]為2則dout等於din[7:0]左移後與0x36異或的結果,若din[7:6]為3則dout等於din[7:0]左移後與0x2d異或的結果,以上述方式保證左移後的結果在有限域範圍之內;其中,根據din[7:6]的值預先計算得到上述3個異或模塊所輸入的常數,使得該常數與左移後的數組進行異或運算後的結果為左移兩位的結果,以避免由於該數組中高兩位進行左移而出現乘法結果溢出有限域的情況。
參見圖7,本發明利用只具有1級異或模塊和1個選擇模塊的FFmul_8硬體實現電路實現FFmul_8運算,在該電路中,左移模塊實現對輸入數組din[7:0]的左移3位操作,從而實現有限域上的乘8運算,左移模塊的輸出結果輸入至選擇模塊,同時,為了對可能出現的左移後發生溢出的情況進行處理,左移模塊的輸出結果還輸入至圖中所示的7個異或模塊,這7個異或模塊的另一輸入端分別輸入預先計算得到的常數0x1b、0x36、0x2d、0x6c、0x77、0x5a和0x41,這7個異或模塊的輸出結果分別輸入至選擇模塊,選擇模塊根據進行左移前din[7:0]中的高3位din[7:5]進行選擇輸出如果din[7:5]為0,則dout就等於din左移後的值,若din[7:5]為1則dout等於din左移後的值異或0x1b的結果,若din[7:5]為2則dout等於din左移後的值異或0x36的結果,若din[7:5]為3則dout等於din左移後的值異或0x2d的結果,若din[7:5]為4則dout等於din左移後的值異或0x6c的結果,若din[7:5]為5則dout等於din左移後的值異或0x77的結果,若din[7:5]為6則dout等於din左移後的值異或0x5a的結果,若din[7:5]為7則dout等於din左移後的值異或0x41的結果,以上述方式保證左移後的結果在有限域範圍之內;其中,根據din[7:5]的值預先計算得到上述7個異或模塊所輸入的常數,使得該常數與左移後的數組進行異或運算後的結果為左移三位的結果,以避免由於該數組中高三位進行左移而出現乘法結果溢出有限域的情況。
由於本發明採用FFmul_2、FFmul_4、FFmul_8實現電路實現逆混合列變換,因此,需要將公式1~公式4所述的逆混合列變換計算轉換為只涉及上述FFmul_2、FFmul_4和FFmul_8運算,根據有限域算法中的FFmul(a,b^c)=FFmul(a,b)^FFmul(a,c)以及FFmul(0x01,a)=a的特性,可進行對公式1~公式4的轉換,以對第一個字節進行逆混合列變換為例,上述轉換的具體過程為new_t
=FFmul(0x0e,t
)^FFmul(0x0b,t[1])^FFmul(0x0d,t[2])^FFmul(0x09,t[3])=FFmul(0x0d,t
^t[2])^FFmul(0x09,t[1]^t[3])^FFmul(0x02,t
^t[1])^t
=FFmul(0x0c,t
^t[2])^FFmul(0x08,t[1]^t[3])^FFmul(0x02,t
^t[1])^t
^t[1]^t[2]^t[3]^t
=FFmul(0x08,t
^t[1]^t[2]^t[3])^FFmul(0x04,t
^t[2])^FFmul(0x02,t
^t[1])^t[1]^t[2]^t[3]^設u=t
^t[1]^t[2]^t[3],可以得到公式9new_t
=FFmul_8(u)^FFmul_4(t
^t[2])^FFmul_2(t
^t[1])
^t[1]^t[2]^t[3]如公式10~公式12所示,同樣可以得到求逆混合列變換其它幾個字節的優化公式公式10new_t[1]=FFmul_8(u)^FFmul_4(t[1]^t[3])^FFmul_2(t[1]^t[2])^t
^t[2]^t[3]公式11new_t[2]=FFmul_8(u)^FFmul_4(t
^t[2])^FFmul_2(t[2]^t[3])^t
^t[1]^t[3]公式12new_t[3]=FFmul_8(u)^FFmul_4(t[1]^t[3])^FFmul_2(t[3]^t
)^t
^t[1]^t[2]採用上述公式10~公式12所述的優化公式,可以將逆混合列變換計算轉換為只涉及FFmul_2、FFmul_4和FFmul_8運算,本發明根據上述優化結果,採用圖8所示逆混合列變換電路實現逆混合列變換,該電路包括(1)輸入異或模塊組,該模塊組由異或模塊組成,該異或模塊組具有四個輸入端,自這些輸入端輸入要進行逆混合列變換的四個字節,同時,該異或模塊組的第二輸入端將輸入的字節輸入至輸出異或模塊組;該輸入異或模塊組具有四個輸出端,第一輸出端輸出異或運算結果至有限域計算模塊中的FFmul_4模塊,該異或運算結果為FFmul_4模塊進行公式9~公式12中的FFmul_4運算的自變量值;第二輸出端輸出異或運算結果至有限域計算模塊中的FFmul_2模塊,該異或運算結果為FFmul_2模塊進行公式9~公式12中FFmul_2運算的自變量值;第三輸出端輸出異或運算結果至有限域計算模塊中的FFmul_8模塊,該異或運算結果為FFmul_8模塊進行公式9~公式12中的FFmul_8運算的自變量值;第四輸出端則輸出異或運算結果至輸出異或模塊組;其中,輸入異或模塊組各個輸出端所輸出的異或運算結果分別為第一輸出端輸入異或模塊組第一輸入端所輸入的字節與輸入異或模塊組第三輸入端所輸入的字節的異或結果;第二輸出端輸入異或模塊組第一輸入端所輸入的字節與輸入異或模塊組第二輸入端所輸入的字節的異或結果;第三輸出端輸入異或模塊組四個輸入端所輸入的字節的異或結果;第四輸出端輸入異或模塊組第三輸入端所輸入的字節與輸入異或模塊組第四輸入端所輸入的字節的異或結果;(2)有限域計算模塊組該模塊組由FFmul_2模塊、FFmul_4模塊、和FFmul_8模塊組成,FFmul_2模塊實現公式9~公式12中的FFmul_2計算,將計算結果輸出至輸出異或模塊組;FFmul_4模塊實現公式9~公式12中的FFmul_4計算,將計算結果輸出至輸出異或模塊組;FFmul_8模塊實現公式9~公式12中的FFmul_8計算,將計算結果輸出至輸出異或模塊組;(3)輸出異或模塊組該模塊組有五個輸入端和一個輸出端,五個輸入端中的其中三個輸入端分別接收有限域計算模塊組輸出的計算結果,從而得到公式9~公式12中FFmul_2的計算結果、FFmul_4的計算結果、和FFmul_8的計算結果;五個輸入端中的另外兩個輸入端則分別接收輸入異或模塊組第四輸出端所輸出的異或結果和輸入異或模塊組第二輸入端所輸入的字節,從而得到公式9~公式12中除FFmul_2的計算結果、FFmul_4的計算結果、和FFmul_8的計算結果之外的另外三個變量;輸出異或模塊組對其輸入端的輸入進行異或運算後,實現公式9~公式12中的計算,從而得到進行逆混合列變換後的字節,輸出異或模塊組將所得到的逆混合列變換後的字節自其輸出端輸出;其中,要分別得到逆混合列變換後的四個字節,根據公式9~公式12,圖8所示輸入異或模塊組的四個輸入端所輸入的進行逆混合列變換前的四個字節分別為如果要得到new_t
,輸入異或模塊組的四個輸入端所輸入的字節為在第一輸入端輸入t
,在第二輸入端輸入t[1],在第三輸入端輸入t[2],在第四輸入端輸入t[3];如果要得到new_t[1],輸入異或模塊組的四個輸入端所輸入的字節為在第一輸入端輸入t[1],在第二輸入端輸入t[2],在第三輸入端輸入t[3],在第四輸入端輸入t
;如果要得到new_t[2],輸入異或模塊組的四個輸入端所輸入的字節為在第一輸入端輸入t[2],在第二輸入端輸入t[3],在第三輸入端輸入t
,在第四輸入端輸入t[1];如果要得到new_t[3],輸入異或模塊組的四個輸入端所輸入的字節為在第一輸入端輸入t[3],在第二輸入端輸入t
,在第三輸入端輸入t[1],在第四輸入端輸入t[2]。
下面以對t
進行逆混合列變換的實現電路為例,分別對以上模塊加以詳細說明輸入異或模塊組參見圖9,該模塊組中包括2級共4個異或模塊,包括4個輸入端和4個輸出端,具體包括異或模塊1該模塊的第一輸入端與異或模塊2的第一輸入端相連接,共同接收輸入異或模塊組第一輸入端所輸入的字節,在本實施例中,該所輸入的字節為t
;該異或模塊1的第二輸入端與異或模塊3的第一輸入端相連接,共同接收輸入異或模塊組第三輸入端所輸入的字節,在本實施例中,該所輸入的字節為t[2];該異或模塊1對輸入的字節進行異或運算後,將運算結果自輸入異或模塊組的第一輸出端輸出,在本實施例中,所輸出的運算結果為t
^t[2];異或模塊2除了該模塊的第一輸入端與異或模塊1的第一輸入端相連接,以共同接收輸入字節之外,該模塊的第二輸入端自輸入異或模塊組的第二輸入端接收所輸入的字節,本實施例中,該所輸入的字節為t[1];該異或模塊2的輸出端與異或模塊4的第一輸入端相連,並且,自輸入異或模塊組的第二輸出端將該異或模塊2進行異或運算後的結果輸出,在本實施例中,該結果為t
^t[1];異或模塊3除了該模塊的第一輸入端與異或模塊1的第二輸入端相連以接收輸入異或模塊組第三輸入端的字節外,該模塊的第二輸入端自該輸入異或模塊組的第四輸入端接收所輸入的字節,本實施例中,該所輸入的字節為t[3],該異或模塊3的輸出端與異或模塊4的第二輸入端相連,並且,該模塊的輸出端自輸入異或模塊組的第四輸出端將該異或模塊3進行異或運算後的結果輸出,本實施例中,該結果為t[2]^t[3];異或模塊4如上所述,該模塊的第一輸入端和第二輸入端分別與異或模塊2的輸出端和異或模塊3的輸出端相連,該模塊的輸出端自輸入異或模塊組的第三輸出端將該異或模塊4進行異或運算後的結果輸出,本實施例中,該結果為t
^t[1]^t[2]^t[3];其中,上述異或模塊1~異或模塊3為第一級異或模塊,上述異或模塊4為第二級異或模塊;有限域計算模塊組參見圖10,該模塊組中包括實現FFmul_2運算的FFmul_2模塊、實現FFmul_4運算的FFmul_4模塊和實現FFmul_8運算的FFmul_8模塊,其中,FFmul_4模塊和FFmul_8模塊分別採用圖6和圖7的實現電路,FFmul_2模塊採用圖3所示的實現電路,FFmul_2模塊與上述輸入異或模塊組的第二輸出端相連,FFmul_4模塊與上述輸入異或模塊組的第一輸出端相連,FFmul_8模塊與上述輸入異或模塊組的第三輸出端相連,FFmul_2模塊、FFmul_4模塊和FFmul_8模塊的輸出端分別與輸出異或模塊組中所包括的異或模塊相連,將各自的運算結果輸出至這些異或模塊;在本實施例中,在FFmul_2模塊的輸入端輸入上述輸入異或模塊組所輸出的t
^t[1]的值,在FFmul_4模塊的輸入端輸入上述輸入異或模塊組所輸出的t
^t[2]的值,在FFmul_8模塊的輸入端輸入上述輸入異或模塊組所輸出的t
^t[1]^t[2]^t[3]的值,FFmul_2模塊將公式9中FFmul_2(t
^t[1])的計算結果輸出至輸出異或模塊組、FFmul_4模塊將公式9中FFmul_4(t
^t[2])的計算結果輸出至輸出異或模塊組、FFmul_8模塊將公式9中FFmul_8(u)的計算結果輸出至輸出異或模塊組,其中,u=t
^t[1]^t[2]^t[3];輸出異或模塊組該模塊組至少包括3級4個異或模塊,其實現形式可以包括以下幾種(1)參見圖11,該輸出異或模塊組包括以下異或模塊異或模塊5該模塊的第一輸入端與上述輸入異或模塊組的第四輸出端相連,接收該輸出端所輸出的結果,本實施例中,該結果為t[2]^t[3];該模塊的第二輸入端與輸入異或模塊組的第二輸入端相連,接收自輸入異或模塊組第二輸入端所輸入的字節,本實施例中,該字節為t[1];該異或模塊5的輸出端與異或模塊7的第一輸入端相連,將運算結果輸出至異或模塊7,本實施例中,該運算結果為t[1]^t[2]^t[3];異或模塊6,該模塊的第一輸入端和第二輸入端與上述FFmul_2模塊、FFmul_4模塊和FFmul_8模塊的三個輸出端中的任意兩個相連,該模塊的輸出端與異或模塊8的第二輸入端相連,從而將該異或模塊6的運算結果輸入至異或模塊組8,本實施例中,該結果為FFmul_4(t
^t[2])^FFmul_2(t
^t[1]);異或模塊7,除了該模塊的第一輸入端與異或模塊5的輸出端相連之外,該模塊的第二輸入端與FFmul_2模塊、FFmul_4模塊和FFmul_8模塊的三個輸出端中未和異或模塊6相連的那個輸出端相連,該模塊的輸出端與異或模塊8的第一輸入端相連,將該異或模塊7的運算結果輸出至異或模塊8,本實施例中,該運算結果為t[1]^t[2]^t[3]^FFmul_8(u);異或模塊8,如上所述,該模塊的兩個輸入端分別與異或模塊6和異或模塊7的輸出端相連,該模塊的輸出端輸出進行逆混合列變換後的新字節,本實施例中,異或模塊6向異或模塊8的輸入為FFmul_4(t
^t[2])^FFmul_2(t
^t[1]),異或模塊7向異或模塊8的輸入為t[1]^t[2]^t[3]^FFmul_8(u),根據公式9,在異或模塊8對這兩個輸入進行異或運算後,得到的新字節為new_t
;其中,上述異或模塊5為第一級異或模塊,異或模塊6和異或模塊7為第二級異或模塊,異或模塊8為第三級異或模塊;(2)參見圖12,在實現該輸出異或模塊組的另一實施例中,該模塊包括以下異或模塊異或模塊9該異或模塊9的第一輸入端與輸入異或模塊組的第四輸出端相連,接收自該第四輸出端所輸出的結果,本發明實施例中,該結果為t[2]^t[3];該異或模塊9的第二輸入端與FFmul_2模塊、FFmul_4模塊和FFmul_8模塊的三個輸出端中的任意一個相連,本實施例中為與FFmul_4模塊的輸出端相連;該異或模塊9的輸出端與異或模塊10的第一輸入端相連,將該異或模塊9的運算結果輸出至異或模塊10,本實施例中,該運算結果為t[2]^t[3]^FFmul_4(t
^t[2]);異或模塊10除了該異或模塊10的第一輸入端與異或模塊9的輸出端相連外,該異或模塊10的第二輸入端與FFmul_2模塊、FFmul_4模塊和FFmul_8模塊的三個輸出端中未和異或模塊9相連的兩個輸出端中的任意一個輸出端相連,本實施例中為與FFmul_2模塊的輸出端相連;該異或模塊10的輸出端與異或模塊12的第一輸入端相連,將異或模塊10的運算結果輸出至異或模塊12,本實施例中,該運算結果為t[2]^t[3]^FFmul_4(t
^t[2])^FFmul_2(t
^t[1]);異或模塊11該異或模塊11的第一輸入端與FFmul_2模塊、FFmul_4模塊和FFmul_8模塊的三個輸出端中未和異或模塊9和異或模塊10相連的輸出端相連,本實施例中為與FFmul_8模塊的輸出端相連;該異或模塊11的第二輸入端與輸入異或模塊組的第二輸入端相連,接收自該第二輸入端所輸入的字節,本發明實施例中,該字節為t[1],該異或模塊的輸出端與異或模塊12的第二輸入端相連,將該異或模塊的運算結果輸出至異或模塊12,本實施例中,該運算結果為t[1]^FFmul_8(u);異或模塊12異或模塊12的兩個輸入端分別與異或模塊10和異或模塊11的輸出端相連,對這兩個輸入進行異或運算後,得到逆混合列變換後的新字節,異或模塊12的輸出端輸出該新字節,本實施例中,異或模塊10向異或模塊12輸入t[2]^t[3]^FFmul_4(t
^t[2])^FFmul_2(t
^t[1]),異或模塊11向異或模塊12輸入t[1]^FFmul_8(u),根據公式9,異或模塊12對這兩個輸入進行異或運算後,得到的新字節為new_t
;其中,在該實施例中,輸出異或模塊組中的各個異或模塊與有限域計算模塊組中的各個模塊的連接關係還可包括以下形式A異或模塊9的第二輸入端與FFmul_2模塊的輸出端相連,異或模塊10的第二輸入端與FFmul_4模塊的輸出端相連,異或模塊11的第一輸入端與FFmul_8模塊的輸出端相連;B異或模塊9的第二輸入端與FFmul_2模塊的輸出端相連,異或模塊10的第二輸入端與FFmul_8模塊的輸出端相連,異或模塊11的第一輸入端與FFmul_4模塊的輸出端相連;C異或模塊9的第二輸入端與FFmul_4模塊的輸出端相連,異或模塊10的第二輸入端與FFmul_2模塊的輸出端相連,異或模塊11的第一輸入端與FFmul_8模塊的輸出端相連;D異或模塊9的第二輸入端與FFmul_4模塊的輸出端相連,異或模塊10的第二輸入端與FFmul_8模塊的輸出端相連,異或模塊11的第一輸入端與FFmul_2模塊的輸出端相連;E異或模塊9的第二輸入端與FFmul_8模塊的輸出端相連,異或模塊10的第二輸入端與FFmul_2模塊的輸出端相連,異或模塊11的第一輸入端與FFmul_4模塊的輸出端相連;採用上述任意一種形式均可以實現該實施例。
圖13所示為本發明一實施例中,在以上各個模塊具體實現後,進行逆混合列變換的具體實現電路。
以上所述為對t
進行逆混合列變換的實現電路,對t[1]、t[2]和t[3]進行逆混合列變換的實現電路與該實現電路完全一致,只是在進行t[1]、t[2]和t[3]的逆混合列變換時,輸入異或模塊組的四個輸入端輸入t
~t[1]四個字節時的順序不同,具體為根據公式10,在進行t[1]的逆混合列變換時,輸入異或模塊組的四個輸入端的輸入為在第一輸入端輸入t[1],在第二輸入端輸入t[2],在第三輸入端輸入t[3],在第四輸入端輸入t
;相應的,輸出異或模塊組的輸出端輸出進行逆混合列變換後的新字節new_t[1];根據公式11,在進行t[2]的逆混合列變換時,輸入異或模塊組的四個輸入端的輸入為在第一輸入端輸入t[2],在第二輸入端輸入t[3],在第三輸入端輸入t
,在第四輸入端輸入t[1];相應的,輸出異或模塊組的輸出端輸出進行逆混合列變換後的新字節new_t[2];根據公式12,在進行t[2]的逆混合列變換時,輸入異或模塊組的四個輸入端的輸入為在第一輸入端輸入t[3],在第二輸入端輸入t
,在第三輸入端輸入t[1],在第四輸入端輸入t[2];相應的,輸出異或模塊組的輸出端輸出進行逆混合列變換後的新字節new_t[3]。
以上所述的左移模塊可採用連線直接實現,並不需要邏輯門;以上所述的異或模塊可採用異或門實現,而對於進行常數與其它輸入進行異或運算的異或模塊,則也可採用連線與反相器配合實現。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種高級數據加密標準的逆混合列變換的實現電路,在該電路的輸入端按順序輸入要進行逆混合列變換的四個字節,該電路的輸出端輸出與輸入的四個字節相對應的逆混合列變換後的四個字節中的一個字節,其特徵在於,該電路包括輸入異或模塊組、有限域計算模塊組和輸出異或模塊組輸入異或模塊組,自該模塊組的四個輸入端按順序分別輸入要進行逆混合列變換的四個字節,該模塊組對輸入的四個字節進行異或運算,自該模塊組的第一輸出端將該模塊組第一輸入端所輸入字節與該模塊組第三輸入端所輸入字節的異或結果輸出至有限域計算模塊組中的FFmul_4模塊,自該模塊組的第二輸出端將該模塊組第一輸入端所輸入字節與該模塊組第二輸入端所輸入字節的異或結果輸出至有限域計算模塊組中的FFmul_2模塊,自該模塊組的第三輸出端將該模塊組四個輸入端所輸入字節的異或結果輸出至有限域計算模塊組中的FFmul_8模塊,自該模塊組的第四輸出端將該模塊組第三輸入端所輸入字節與該模塊組第四輸入端所輸入字節的異或結果輸出至輸出異或模塊組;該模塊組的第二輸入端將所輸入的字節輸出至輸出異或模塊組;有限域計算模塊組,該模塊組中用於實現FFmul_2計算的FFmul_2模塊將計算結果輸出至輸出異或模塊組,該模塊組中用於實現FFmul_4計算的FFmul_4模塊將計算結果輸出至輸出異或模塊組,和該模塊組中用於實現FFmul_8計算的FFmul_8模塊將計算結果輸出至輸出異或模塊組;輸出異或模塊組,該模塊組對輸入進行異或運算,將異或運算後所得到的進行逆混合列變換後的新字節自該模塊組的輸出端輸出;在該實現電路的輸入異或模塊組的第一輸入端~第四輸入端分別輸入t
、t[1]、t[2]和t[3]時,該輸出異或模塊組的輸出端輸出new_t
;在該電路的輸入異或模塊組的第一輸入端~第四輸入端分別輸入t[1]、t[2]、t[3]和t
時,該輸出異或模塊組的輸出端輸出new_t[1];在該電路的輸入異或模塊組的第一輸入端~第四輸入端分別輸入t[2]、t[3]、t
和t[1]時,該輸出異或模塊組的輸出端輸出new_t[2];在該電路的輸入異或模塊組的第一輸入端~第四輸入端分別輸入t[3]、t
、t[1]和t[2]時,該輸出異或模塊組的輸出端輸出new_t[3];其中,t表示進行逆混合列變換前的字節,new_t表示進行逆混合列變換後的字節。
2.根據權利要求1所述的實現電路,其特徵在於所述FFmul_4硬體實現電路包括左移模塊,在該模塊的輸入端輸入保存有一個字節的數組,該模塊對該數組中的8比特進行左移2位操作,將左移後的結果自輸出端輸出至選擇模塊;三個異或模塊,這些異或模塊的一個輸入端分別輸入預先計算得到的十六進位常數1b、36和2d,另一個輸入端則分別輸入所述左移模塊輸出端所輸出的結果,這些異或模塊的輸出端將進行異或運算後的結果輸出至選擇模塊;選擇模塊該模塊根據所述數組左移前的高2位數值從所接收到的輸入中選擇其中的1個作為所述計算結果輸出。
3.根據權利要求1所述的實現電路,其特徵在於所述FFmul_8硬體實現電路包括左移模塊,在該模塊的輸入端輸入保存有一個字節的數組,該模塊對該數組中的8比特進行左移3位操作,將左移後的結果自輸出端輸出至選擇模塊;七個異或模塊,這些異或模塊的一個輸入端分別輸入預先計算得到的十六進位常數1b、36、2d、6c、77、5a和41,另一個輸入端則分別輸入所述左移模塊輸出端所輸出的結果,這些異或模塊的輸出端將進行異或運算後的結果輸出至選擇模塊;選擇模塊該模塊根據所述數組左移前的高3位數值從所接收到的輸入中選擇其中的1個作為所述計算結果輸出。
4.根據權利要求1所述的實現電路,其特徵在於所述FFmul_2硬體實現電路包括左移模塊,在該模塊的輸入端輸入保存有一個字節的數組,該模塊對該數組中的8比特進行左移1位操作,將左移後的結果自輸出端輸出至選擇模塊;一個異或模塊,該異或模塊的一個輸入端輸入預先計算得到的十六進位常數1b,另一個輸入端則輸入所述左移模塊輸出端所輸出的結果,該異或模塊的輸出端將進行異或運算後的結果輸出至選擇模塊;選擇模塊該模塊根據所述數組左移前的高1位數值從所接收到的輸入中選擇其中的1個作為所述計算結果輸出。
5.根據權利要求1所述的實現電路,其特徵在於所述輸入異或模塊組包括異或模塊1自該異或模塊1的第一輸入端輸入所述輸入異或模塊組第一輸入端所輸入的字節,自該異或模塊1的第二輸入端輸入所述輸入異或模塊組第三輸入端所輸入的字節,該異或模塊1對輸入的字節進行異或運算後,將運算結果自所述輸入異或模塊組的第一輸出端輸出;異或模塊2自該異或模塊2的第一輸入端輸入所述輸入異或模塊組第一輸入端所輸入的字節,自該異或模塊2的第二輸入端輸入所述輸入異或模塊組第二輸入端所輸入的字節,該異或模塊2對輸入的字節進行異或運算後,將運算結果自所述輸入異或模塊組的第二輸出端輸出;異或模塊3自該異或模塊3的第一輸入端輸入所述輸入異或模塊組第三輸入端所輸入的字節,自該異或模塊3的第二輸入端輸入所述輸入異或模塊組第四輸入端所輸入的字節,該異或模塊3對輸入的字節進行異或運算後,將運算結果自所述輸入異或模塊組的第四輸出端輸出;異或模塊4自該異或模塊4的第一輸入端輸入所述異或模塊2的輸出端所輸出的運算結果,自該異或模塊4的第二輸入端輸入所述異或模塊3的輸出端所輸出的運算結果,該模塊對輸入的運算結果進行異或運算後,將運算結果自所述輸入異或模塊組的第三輸出端輸出。
6.根據權利要求1所述的實現電路,其特徵在於所述輸出異或模塊組包括異或模塊5自該異或模塊5的第一輸入端輸入所述輸入異或模塊組第四輸出端所輸出的異或結果,自該異或模塊5的第二輸入端輸入所述輸入異或模塊組第二輸入端所輸入的字節,該異或模塊5對輸入進行異或運算後,自該異或模塊5的輸出端將運算結果輸出至異或模塊7的第一輸入端;異或模塊6,自該異或模塊6的兩個輸入端輸入FFmul_2模塊、FFmul_4模塊和FFmul_8模塊中任意兩個模塊的輸出端所輸出的運算結果,該異或模塊6對輸入進行異或運算後,將運算結果輸出至異或模塊8的第二輸入端;異或模塊7,FFmul_2模塊、FFmul_4模塊和FFmul_8模塊中未將運算結果輸出至異或模塊6的那個模塊將運算結果自異或模塊7的第二輸入端輸入異或模塊7,該異或模塊7對輸入進行異或運算後,將異或運算結果自輸出端輸出至異或模塊8的第一輸入端;異或模塊8,該異或模塊8對輸入進行異或運算後,自其輸出端輸出所述進行逆混合列變換後的新字節。
7.根據權利要求1所述的實現電路,其特徵在於所述輸出異或模塊組包括異或模塊9自該異或模塊9的第一輸入端輸入所述輸入異或模塊組的第四輸出端所輸出的異或結果,自該異或模塊9的第二輸入端輸入FFmul_2模塊、FFmul_4模塊和FFmul_8模塊中任意一個模塊輸出端所輸出的運算結果,該異或模塊9對輸入進行異或運算後,自該異或模塊9的輸出端將運算結果輸出至異或模塊10的第一輸入端;異或模塊10FFmul_2模塊、FFmul_4模塊和FFmul_8模塊中未將運算結果輸出至異或模塊9的兩個模塊中的任意一個模塊將該模塊的運算結果自異或模塊10的第二輸入端輸入異或模塊10,異或模塊10對輸入進行異或運算後,將運算結果自輸出端輸出至異或模塊12的第一輸入端;異或模塊11FFmul_2模塊、FFmul_4模塊和FFmul_8模塊中未將運算結果輸出至異或模塊9和異或模塊10的那個模塊將該模塊的運算結果自異或模塊11的第一輸入端輸入異或模塊11,自該異或模塊11的第二輸入端輸入所述輸入異或模塊組第二輸入端所輸入的字節,該異或模塊11對輸入進行異或運算後,將運算結果自輸出端輸出至異或模塊12的第二輸入端;異或模塊12該異或模塊12對輸入進行異或運算後,自輸出端輸出所述進行逆混合列變換後的新字節。
8.根據權利要求1所述的實現電路,其特徵在於所述異或模塊為異或門。
全文摘要
本發明公開了一種高級數據加密標準的逆混合列變換的實現電路,該電路包括輸入異或模塊組,該模塊組包括2級共4個異或模塊,在該模塊組的四個輸入端分別輸入需要進行逆混合列變換的4個字節,輸出端輸出運算後的結果;有限域計算模塊組,該模塊組包括只具有1級異或和1個選擇模塊的FFmul_2、FFmul_4和FFmul_8硬體實現電路,該模塊組的輸入端分別與輸入異或模塊組相應輸出端相連,輸出端分別輸出該模塊組的運算結果;輸出異或模塊組,該模塊組包括3級共4個異或模塊,該模塊組的輸入端分別與有限域計算模塊組的輸出端相連,其它輸入端與輸入異或模塊組的相應輸入端和輸出端相連,輸出端輸出逆混合列變換後的新字節。
文檔編號H04L9/06GK1625098SQ20031011887
公開日2005年6月8日 申請日期2003年12月4日 優先權日2003年12月4日
發明者張贊, 黃勇 申請人:華為技術有限公司