專利名稱:處理有限域運算的方法與運算電路的制作方法
技術(shù)領域:
本發(fā)明是與有限域(Galios Field)的運算有關(guān),尤指先進加密標準(AES, Advanced encryption Standard)中字節(jié)取代運算(SubByte)電路與反字節(jié)取代運算 (InvSubByte)電路的架構(gòu)以及其相關(guān)方法。
背景技術(shù):
先進加密標準(Advanced Encryption Mandards,AEQ是美國聯(lián)邦信息處理 標準(Federal Information Processing Standards, FIPS)所認可,并由美國國家標 準禾口技術(shù)局(National Institute of Standards and Technology,NIST)于公元 2000 年采用Rijndael密碼算法來加以實現(xiàn),主要是用來保護電子數(shù)據(jù),而先進加密標準所 采用的Rijndael密碼算法是一種對稱的加解密標準,其可對信息進行加密而成為密 文(ciphertext),亦可將密文解密而還原成原本的明文(plaintext)以保障該文件的 安全。在先進加密標準中,算法可使用1 位長度、192位長度、以及256位長度的密鑰 (cryptographic key)對1 位長度的數(shù)據(jù)塊(data block)進行加密/解密。先進加密標準的加密/解密架構(gòu)是由幾個主要的運算以及其反運算構(gòu)成,亦 即回合金鑰加法運算(AddRoimdKey)、字節(jié)取代運算(SubByte)與反字節(jié)取代運算 anvSubByte)、位移列運算(ShiftRow)與反位移列運算QnvShiftRow)以及混合行運算 (MixColumn)與反混合行運算anvMixColumn)。由于先進加密標準是通過反復進行多回合 的前述運算以進行加密/解密,因此,如何有效率地設計先進加密標準的運算電路以及其 相對應地反運算電路,來控制先進加密標準電路進行加密及/或解密運算所需的時間以及 整體電路面積是相當重要的。在先進加密標準中,字節(jié)取代運算是非線性(nonlinear)的字節(jié)替換運算,每一 個輸入的字節(jié)皆是使用一個代換盒(S-Box)獨立執(zhí)行運算。代換盒與反代換盒(inverse S-box, InvS-box)兩者的運算皆包含有一乘法反運算(Multiplicative Inverse)以及 一仿射運算(affine transformation),只是在代換盒與反代換盒兩者進行乘法反元素與 仿射轉(zhuǎn)換的先后順序不同而已。由于直接在有限域(在先進加密標準的規(guī)定中為felois Field GF(28))中實際進行代換盒與反代換盒的運算相當龐雜,一些先進加密標準的實際 設計方式中,就通過分別使用查表的方式來取代代換盒與反代換盒的實際運算,然而,這種 查表法需要使用大量的存儲器來加以實現(xiàn),因而導致了先進加密標準在實際硬件電路上面 臨了大量電路面積與數(shù)據(jù)吞吐量(throughput)的限制。因此,亟需提出一種創(chuàng)新的代換盒以及/或反代換盒處理機制,不僅可達到高速 的運算效能,更同時能減少所需的電路面積,進以解決已知先進加密標準架構(gòu)所面臨的問題。
發(fā)明內(nèi)容
因此,本發(fā)明的目的之一即在于提出一種處理有限域運算的方法與運算電路,其通過基底轉(zhuǎn)換(change of basis)來降低運算復雜度,因而降低電路面積與提升數(shù)據(jù)吞吐量。根據(jù)本發(fā)明的一實施例,其揭露一種處理有限域運算的方法。此方法包含有提 供一運算電路,此運算電路至少包含有一乘法反元素運算(multiplicative inverse)單 元;以及,使用該乘法反運算單元來通過至少執(zhí)行多次同構(gòu)轉(zhuǎn)換(Isomorphic transform, Isomorphic map)以求得一輸入數(shù)據(jù)于一特定有限域中的一乘法反元素,其中該多次同構(gòu) 轉(zhuǎn)換包含有基底轉(zhuǎn)換(change of basis)。根據(jù)本發(fā)明的另一實施例,其揭露一種處理有限域運算的運算電路,此運算電路 至少包含有一乘法反運算單元。該乘法反運算單元用以求得一輸入數(shù)據(jù)于一特定有限域中 的一乘法反元素,其中該乘法反運算單元至少執(zhí)行多次同構(gòu)轉(zhuǎn)換,且該多次同構(gòu)轉(zhuǎn)換包含 有基底轉(zhuǎn)換。較佳地,其是利用基底轉(zhuǎn)換來求得乘法反元素,以有效降低有限域運算中的復雜度。較佳地,其是使用基底轉(zhuǎn)換與合成域(composite field)運算來求取乘法反元素。較佳地,其是通過適當?shù)剡x擇運算中的正交基底(normal basis)以簡化所需的電 路架構(gòu)。較佳地,其是經(jīng)由考慮不可約多項式(irreducible polynomial)的系數(shù),有效地 節(jié)省運算所需的電路面積。較佳地,其是同時考慮仿射轉(zhuǎn)換以及乘法反運算中的變換矩陣(transform matrix)來選取不可約多項式的系數(shù),以有效地節(jié)省運算所需的電路面積。較佳地,其是提供一種可供代換盒(S-box)與反代換盒(Inverse S-box, Inv S-box)運算共享的架構(gòu)(乘法反運算單元),其是同時考慮代換盒運算與反代換盒運算中 的仿射轉(zhuǎn)換以及反仿射轉(zhuǎn)換(inverse affine transform)來選取適當?shù)牟豢杉s多項式,以 有效地節(jié)省運算所需的電路面積。較佳地,其是提供一種可供代換盒運算與反代換盒運算共享的架構(gòu),其是依據(jù)同 時考慮代換盒以及反代換盒中仿射轉(zhuǎn)換的線性部分/反仿射轉(zhuǎn)換的線性部分以及乘法反 運算中的多個變換矩陣,以提供適當?shù)夭豢杉s多項式,以提升其效能。
圖1所示為本發(fā)明的先進加密標準運算中計算輸入字節(jié)在有限域GW28)中基于 多項式基底的乘法反元素的一實施例的流程示意圖。圖2所示為本發(fā)明的先進加密標準運算中計算輸入字節(jié)在有限域GW28)中基于 多項式基底的乘法反元素的另一實施例的流程示意圖。圖3為本發(fā)明運算電路的第一實施例的示意圖。圖4為本發(fā)明運算電路的第二實施例的示意圖。圖5為本發(fā)明運算電路的第三實施例的示意圖。圖6為本發(fā)明運算電路的第四實施例的示意圖。圖7為圖1至圖6中依據(jù)漢明權(quán)重計算的不可約多項式的較佳實施例。[主要元件標號說明]
權(quán)利要求
1.一種處理有限域運算的方法,包含有提供一運算電路,其至少包含有一乘法反運算單元;以及使用該乘法反運算單元來至少執(zhí)行多次同構(gòu)轉(zhuǎn)換以求得一輸入數(shù)據(jù)于一特定有限域 中的一乘法反元素,其中該多次同構(gòu)轉(zhuǎn)換包含有基底轉(zhuǎn)換。
2.根據(jù)權(quán)利要求1所述的方法,其中該基底轉(zhuǎn)換包含有于一多項式基底與一正交基底 之間進行轉(zhuǎn)換。
3.根據(jù)權(quán)利要求1所述的方法,其中該多次同構(gòu)轉(zhuǎn)換包含有一第一同構(gòu)轉(zhuǎn)換、一第 二同構(gòu)轉(zhuǎn)換、一第三同構(gòu)轉(zhuǎn)換以及一第四同構(gòu)轉(zhuǎn)換;該第一同構(gòu)轉(zhuǎn)換是由該特定有限域 GF(2K)的一多項式基底轉(zhuǎn)換至一合成域GF(2)μ的一多項式基底,K = L*M ;該第二同構(gòu)轉(zhuǎn) 換是由該合成域GF01廣的該多項式基底轉(zhuǎn)換至該特定有限域GFQk)的一正交基底;該 第三同構(gòu)轉(zhuǎn)換是由該特定有限域GFQk)的一正交基底轉(zhuǎn)換為一合成域GF(2l)m的一多項 式基底;以及該第四同構(gòu)轉(zhuǎn)換是由該合成域GF Q^m的該多項式基底轉(zhuǎn)換為該特定有限域 GF (2K)的一多項式基底。
4.根據(jù)權(quán)利要求3所述的方法,其中該合成域GF(2L)M是由一有限域GFQL)與一M次 方的不可約多項式所構(gòu)成,以及提供該運算電路的步驟包含有選取該不可約多項式的系數(shù)來設計該乘法反運算單元。
5.根據(jù)權(quán)利要求4所述的方法,其中選取該不可約多項式的系數(shù)的步驟包含有依據(jù) 至少該多次同構(gòu)轉(zhuǎn)換的運算來選取。
6.根據(jù)權(quán)利要求5所述的方法,其中求得該輸入數(shù)據(jù)于該特定有限域中的該乘法反元 素的步驟還包含有于一有限域GFO^m的該正交基底上執(zhí)行一冪次運算來計算該乘法反 元素;以及選取該不可約多項式的系數(shù)的步驟包含有依據(jù)至少該多次同構(gòu)轉(zhuǎn)換的運算以 及該冪次運算來選取。
7.根據(jù)權(quán)利要求6所述的方法,其中該多次同構(gòu)轉(zhuǎn)換的運算以及該冪次運算為多個線 性運算,以及設計該乘法反運算單元的步驟包含有合并該多個線性運算中至少二線性運算來提供一相對應的變換矩陣。
8.根據(jù)權(quán)利要求7所述的方法,其中該特定有限域GFQk)為一有限域GF(28),以及該 合成域GF (2L) m為一合成域GF (24)2。
9.根據(jù)權(quán)利要求8所述的方法,其中該不可約多項式為m(x)=χ2+λχ+ρ,其系數(shù)λ 以及P是依據(jù)以下所述的數(shù)學式來選取(") = arg二‘其中界代表漢明權(quán)重,s代表該冪次運算所對應的矩陣,T-:是代表該第一同構(gòu)轉(zhuǎn)換,是代表該第二同構(gòu)轉(zhuǎn) 換,TTJ是代表該第三同構(gòu)轉(zhuǎn)換,是代表該第四同構(gòu)轉(zhuǎn)換,以及設計該乘法反運算單元 的步驟是合并7Tr、s與來提供一相對應的變換矩陣。
10.根據(jù)權(quán)利要求8所述的方法,其中該運算電路用來執(zhí)行符合一先進加密標準的一代換盒運算,該運算電路還包含一仿射轉(zhuǎn)換單元;該方法還包含有使用該仿射轉(zhuǎn)換單元來對該乘法反運算單元的輸出執(zhí)行一仿射轉(zhuǎn)換;以及設計該乘法反運算單元的步驟包含有合并該第二同構(gòu)轉(zhuǎn)換、該冪次運算與該第三同構(gòu)轉(zhuǎn)換來提供相對應的一第一變換矩陣以及合并該第四同構(gòu)轉(zhuǎn)換與該仿射轉(zhuǎn)換中的線性部分來提供相對應的一第二變換矩陣。
11.根據(jù)權(quán)利要求10所述的方法,其中該不可約多項式為m(x)=χ2+λχ+ρ,以及系 數(shù)λ以及ρ是依據(jù)以下所述的數(shù)學式來選取
12.根據(jù)權(quán)利要求8所述的方法,其中該運算電路用來執(zhí)行符合一先進加密標準的一 反代換盒運算;該運算電路還包含一反仿射轉(zhuǎn)換單元,該方法還包含有使用該反仿射轉(zhuǎn) 換單元來執(zhí)行一反仿射轉(zhuǎn)換來產(chǎn)生該輸入數(shù)據(jù)至該乘法反運算單元;以及設計該乘法反運 算單元的步驟包含有合并該反仿射轉(zhuǎn)換的線性部分與該第一同構(gòu)轉(zhuǎn)換來提供相對應的一 第一變換矩陣,以及合并該第二同構(gòu)轉(zhuǎn)換、該冪次運算與該第三同構(gòu)轉(zhuǎn)換來提供相對應的 一第二變換矩陣。
13.根據(jù)權(quán)利要求12所述的方法,其中該不可約多項式為m(x)=χ2+λχ+ρ,以及系 數(shù)λ以及ρ是依據(jù)以下所述的數(shù)學式來選取
14.根據(jù)權(quán)利要求8所述的方法,其中該運算電路用來共享該乘法反運算單元來執(zhí)行 符合一先進加密標準的一代換盒運算以及一反代換盒運算;該運算電路還包含一仿射轉(zhuǎn)換 單元以及一反仿射轉(zhuǎn)換單元;該方法還包含有當該運算電路執(zhí)行該代換盒運算時,使用 該仿射轉(zhuǎn)換單元來對該乘法反運算單元的輸出執(zhí)行一仿射轉(zhuǎn)換,以及當該運算電路執(zhí)行該 反代換盒運算時,使用該反仿射轉(zhuǎn)換單元來執(zhí)行一反仿射轉(zhuǎn)換來產(chǎn)生該輸入數(shù)據(jù)至該乘法 反運算單元;以及設計該乘法反運算單元的步驟包含有合并該反仿射轉(zhuǎn)換的線性部分與該 第一同構(gòu)轉(zhuǎn)換來提供相對應的一第一變換矩陣、合并該第二同構(gòu)轉(zhuǎn)換、該冪次運算與該第 三同構(gòu)轉(zhuǎn)換來提供相對應的一第二變換矩陣以及合并該第四同構(gòu)轉(zhuǎn)換與該仿射轉(zhuǎn)換中的 線性部分來提供相對應的一第三變換矩陣。
15.根據(jù)權(quán)利要求14所述的方法,其中該不可約多項式為m(x)=χ2+λχ+ρ,以及系 數(shù)λ以及ρ是依據(jù)以下所述的數(shù)學式來選取
16.根據(jù)權(quán)利要求3所述的方法,其中該第二同構(gòu)轉(zhuǎn)換包含有由該合成域GF01廣的該多項式基底轉(zhuǎn)換至該特定有限域GFQk)的該多項式基底以及將該特定有限域GFQk)的該多項式基底轉(zhuǎn)換至該特定有限域GFQk)的該正交基底。
17.根據(jù)權(quán)利要求3所述的方法,其中該第三同構(gòu)轉(zhuǎn)換包含有將該特定有限域GFQk)的該正交基底轉(zhuǎn)換至該特定有限域GFQk)的該多項式基底;以及該特定有限域GFQk)的該多項式基底轉(zhuǎn)換至該合成域GFO^m的該多項式基底。
18.根據(jù)權(quán)利要求1所述的方法,其中求得該輸入數(shù)據(jù)于該特定有限域中的該乘法反 元素的步驟包含有執(zhí)行一第一同構(gòu)轉(zhuǎn)換以將該輸入數(shù)據(jù)由該特定有限域GFQk)的一多項式基底轉(zhuǎn)換至 一合成域GF(2L)M的一多項式基底,其中K = L*M ;執(zhí)行一第二同構(gòu)轉(zhuǎn)換以由該合成域GF(2L)M的該多項式基底轉(zhuǎn)換至該特定有限域 GF (2K)的一正交基底;于該特定有限域GFQk)的該正交基底上執(zhí)行一冪次運算以得到該輸入數(shù)據(jù)的一預定 冪次;執(zhí)行一第三同構(gòu)轉(zhuǎn)換以將該輸入數(shù)據(jù)的該預定冪次由該特定有限域GFQk)的該正交 基底轉(zhuǎn)換至該合成域GF O1)Μ的該多項式基底;計算該第一同構(gòu)轉(zhuǎn)換所產(chǎn)生的該輸入數(shù)據(jù)與該第三同構(gòu)轉(zhuǎn)換所產(chǎn)生的該輸入數(shù)據(jù)的 該預定冪次的一乘積;求出該乘積于一基本域GFQL)上的一乘法反元素;計算該第三同構(gòu)轉(zhuǎn)換所產(chǎn)生的該輸入數(shù)據(jù)以及該乘積的該乘法反元素的乘積以求得 該輸入數(shù)據(jù)于該基本域GFQL)上的一乘法反元素;以及執(zhí)行一第四同構(gòu)運算以將該基本域GF (2l)上的該乘法反元素由該合成域GF (2l) m的該 多項式基底轉(zhuǎn)換至該特定有限域GFQk)的該多項式基底。
19.一種處理有限域運算的運算電路,包含有一乘法反運算單元,用以求得一輸入數(shù)據(jù) 于一特定有限域中的一乘法反元素,其中該乘法反運算單元至少執(zhí)行多次同構(gòu)轉(zhuǎn)換,且該 多次同構(gòu)轉(zhuǎn)換包含有基底轉(zhuǎn)換。
20.根據(jù)權(quán)利要求19所述的運算電路,其中該乘法反運算單元所執(zhí)行的該基底轉(zhuǎn)換包 含有于一多項式基底與一正交基底之間進行轉(zhuǎn)換。
全文摘要
本發(fā)明提供一種可用以處理有限域運算的方法,包含有提供一運算電路,該運算電路至少包含有一乘法反運算單元;以及使用該乘法反運算單元來通過至少執(zhí)行多次同構(gòu)轉(zhuǎn)換以求得一輸入數(shù)據(jù)于一特定有限域中的一乘法反元素,其中該多次同構(gòu)轉(zhuǎn)換包含有基底轉(zhuǎn)換。
文檔編號G06F7/72GK102043606SQ20091017405
公開日2011年5月4日 申請日期2009年10月20日 優(yōu)先權(quán)日2009年10月20日
發(fā)明者葉宗立, 洪家裕 申請人:瑞昱半導體股份有限公司