王志俊 姜詠梅
【摘要】矩陣是現(xiàn)代數(shù)學(xué)中最基本的概念之一.本文從矩陣運(yùn)算的角度對(duì)高級(jí)加密標(biāo)準(zhǔn)中的字節(jié)代替變換和列混合變換給予解釋,說明了字節(jié)代替變換是狀態(tài)數(shù)組字節(jié)上的仿射變換,列混合變換是狀態(tài)數(shù)組列上的線性變換.
【關(guān)鍵詞】矩陣;高級(jí)加密標(biāo)準(zhǔn);仿射變換;線性變換
2001年美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所(NIST)正式公布了高級(jí)加密標(biāo)準(zhǔn)(AES),并于2002年5月正式生效.AES被認(rèn)為是沒有明顯缺點(diǎn)和安全漏洞的,能夠抵抗目前已知各種方法攻擊的、安全性能良好的密碼體制.AES是一種分組密碼,分組長(zhǎng)度為128 bits,其加密和解密中的每個(gè)中間狀態(tài)也是128 bits.
設(shè)s是一個(gè)中間狀態(tài),將s按從左到右的順序分為16個(gè)字節(jié),然后,將這16個(gè)字節(jié)排成一個(gè)稱為狀態(tài)數(shù)組的4階方陣
一、字節(jié)代替變換
字節(jié)代替變換是將狀態(tài)數(shù)組中的每個(gè)字節(jié)通過S盒非線性地變換為另一個(gè)字節(jié).在教學(xué)過程中如果只簡(jiǎn)單地通過S盒查表得到字節(jié)代替變換的輸出,會(huì)使部分學(xué)生產(chǎn)生一些困惑:這個(gè)S盒是如何得到的?為什么會(huì)有這樣的輸出?有了狀態(tài)數(shù)組矩陣,S盒產(chǎn)生輸出的過程就可以用矩陣的加法和乘法運(yùn)算來代替:設(shè)a0a1a2a3a4a5a6a7是字節(jié)替代變換前狀態(tài)數(shù)組中(i,j)位置的一個(gè)字節(jié),并將其看成是有限域GF(28)中的元素,先求出其乘法逆元,不妨假設(shè)為b0b1b2b3b4b5b6b7,則在字節(jié)替代變換后狀態(tài)數(shù)組中(i,j)位置的結(jié)果是通過下面的仿射變換得到的.
這樣的解釋既能夠讓學(xué)生聽懂,揭開S盒的神秘面紗,又可以讓學(xué)生學(xué)習(xí)到一個(gè)新的數(shù)學(xué)概念——仿射變換.
二、列混合變換
列混合變換是對(duì)狀態(tài)數(shù)組逐列進(jìn)行變換,它將狀態(tài)數(shù)組中的每一列看作GF(28)上的一個(gè)多項(xiàng)式,然后,與多項(xiàng)式 做模x4+1乘法.客觀地說,要從這個(gè)角度講清列混合變換是有一定難度的,比如,為什么要與多項(xiàng)式c(x)做乘法,為什么模多項(xiàng)式是x4+1,等等,這需要具有有限域上多項(xiàng)式環(huán)、商環(huán)等抽象代數(shù)的基礎(chǔ).基于這個(gè)原因,上面對(duì)列混合變換的處理顯得比較抽象,由于學(xué)習(xí)本課程的學(xué)生已經(jīng)具備線性代數(shù)的基礎(chǔ),我們可以用簡(jiǎn)單的矩陣乘法來代替:任意取列混合變換前狀態(tài)數(shù)組的一列,比如,第j列,則列混合變換后狀態(tài)數(shù)組的第j列可以通過下面的矩陣乘法來表示
用上面矩陣乘向量(也可以理解為線性變換)來解釋列混合變換比較直觀,學(xué)生容易接受.當(dāng)然,這樣處理也會(huì)產(chǎn)生一個(gè)問題:上面兩種處理列混合變換的方法是否等價(jià)?具體來講,給定狀態(tài)數(shù)組的一列,用上面兩種方法得到的結(jié)果是否相同?對(duì)此問題我們可以通過下面的計(jì)算給出簡(jiǎn)單的證明.
將所得多項(xiàng)式的系數(shù)寫成列向量的形式就會(huì)發(fā)現(xiàn)它恰好可以用上面矩陣的乘法來表示.
三、結(jié)束語(yǔ)
現(xiàn)代密碼學(xué)與代數(shù)學(xué)(包括線性代數(shù)和抽象代數(shù))之間有著緊密的聯(lián)系,許多密碼體制(比如,EIGamal公鑰密碼體制)的安全性都是基于代數(shù)學(xué)中的一些問題的難解性.所以,要在現(xiàn)代密碼學(xué)有深入的研究,離不開堅(jiān)實(shí)的代數(shù)學(xué)知識(shí).
【參考文獻(xiàn)】
[1]林東岱,曹天杰.應(yīng)用密碼學(xué)[M].北京:科學(xué)出版社,2009:73-82.
[2]陳魯生,沈世鎰.現(xiàn)代密碼學(xué)[M].北京:科學(xué)出版社,2008:58-72.
[3]江龍,程林鳳,胡建華,魏琦瑛.線性代數(shù)[M].北京:高等教育出版社,2012:21-33.
[4]付麗,丁慧.代數(shù)在密碼學(xué)中的應(yīng)用[J].通化師范學(xué)院學(xué)報(bào),2014(35):29-31.