“加密時明文按照 128位為單位進行分組,每組包含 16個位元組,按照從上到下、從左到右的順序排列成一個 4× 4的矩陣,稱為明文矩陣。AES的加密過程在一個大小同樣為 4× 4的矩陣中進行,稱為狀態矩陣,狀態矩陣的初始值為明文矩陣的值。每一輪加密結束後,狀態矩陣的值變化一次。輪函式執行結束後,狀態矩陣的值即為密文的值,從狀態矩陣得到密文矩陣,依次提取密文矩陣的值得到 128位的密文。
“以 128位金鑰為例,金鑰長度為 16個位元組,也用 4× 4的矩陣表示,順序也是從上到下、從左到右。AES透過金鑰編排函式把金鑰矩陣擴充套件成一個包含 44個字的金鑰序列,其中的前 4個字為原始金鑰用於初始加密,後面的 40個字用於 10輪加密,每輪使用其中的 4個字。金鑰遞迴產生規則如下:
“如果 i不是 4的倍數,那麼由等式 w[i]= w[i4]⊕ w[i1]確定;
“如果 i是 4的倍數,那麼由等式 w[i]= w[i4]⊕ T(w[i1]確定;
“加密的第 1輪到第 9輪的輪函式一樣,包括 4個操作:位元組代換、行位移、列混合和輪金鑰加。最後一輪迭代不執行列混合。另外,在第一輪迭代之前,先將明文和原始金鑰進行一次異或加密操作。
“解密過程仍為 10輪,每一輪的操作是加密操作的逆操作。由於 AES的 4個輪操作都是可逆的,因此,解密操作的一輪就是順序執行逆行移位、逆位元組代換、輪金鑰加和逆列混合。同加密操作類似,最後一輪不執行逆列混合,在第 1輪解密之前,要執行 1次金鑰加操作。
AES加密的輪函式操作包括位元組代換 Suns、輪金鑰加 AddRoundKey等等,每一個的步驟都是緊密相連。”
“……”
“至於非對稱加密演算法RSA,則是1977年三位數學家&nan設計了一種演算法,可以實現非對稱加密,使用非對稱加密演算法需要生成公鑰和私鑰,使用公鑰加密,使用私鑰解密。”
“……”
王東來說的滔滔不絕,簡單清楚又明瞭,一看就知道是真的瞭解這些內容。
韓華在心裡其實也逐漸相信起這篇論文是王東來自己寫出來的,不過還是挑了幾個問題問了起來,“什麼是互質關係?”
這個問題很簡單,只要看過書都能知道,但是根據課程,王東來還沒有學過。
&ne&nber又稱素數,有無限個。一個大於 1的自然數,除了 1和它本身外,不能被其他自然數整除,換句話說就是該數除了 1和它本身以外不再有其他的因數;否則稱為合數,如果兩個正整數,除了 1以外,沒有其他公因子,我們就稱這兩個數是互質關係。互質關係不要求兩個數都是質數,合數也可以和一個質數構成互質關係。”
王東來迅速地回答出來。
韓華緊接著問道:“那你再說說尤拉函式。”
“尤拉函式是指對正整數 n,尤拉函式是小於 n的正整數中與 n互質的數的數目,用φ(n表示。”
“例如φ(8= 4,因為 1 3 5 7均和 8互質。”
“若 n是質數 p的 k次冪,除了 p的倍數外,其他數都跟 n互質,則數學公式為……”
&n,n互質,則數學公式為……”
“當 n為奇數時,則數學公式為……”
“當 n為質數時,則數學公式為……”
對答如流,完全不像是一個剛入學的大一新生,其流利程度在韓華看來,已經不弱於一些大三學生了。
在辦公室裡面的三位學長,這個時候也停下了手上的動作,認真地聽著王東來和鵝韓華的一問一答。
“模反元素。”
“如果兩個正整數 a和 n互質,那麼一定可以找到整數 b,使得 ab 1被 n整除,或者說 ab被 n除的餘數是 1。這時,b就叫做 a的‘模反元素’。”
“比如3和 11互質,那麼 3的模反元素就是 4,因為(3× 4 1可以被 11整除。顯然,模反元素不止一個,4加減 11的整數倍都是 3的模反元素{…,18,7, 4, 15, 26,…},即如果 b是 a的模反元素,則 b + k n都是 a的模反元素。”
“那尤拉定理呢?”
“尤拉定理是一個關於同餘的性質。尤拉定理表明,若 n,a為正整數,且 n,a互質,則有a^φ(n≡&nod n。”
“假設正整數 a與質數 p互質,因為φ(p= p1,則尤拉定理可以寫成a^(p1≡&nod p。”
等王東來說完之後,韓華下意識地鼓起掌來。
“好好好,我確實沒想到你會給我這麼大的驚喜。”
“先前,你的論文質量很高,我以為不是你寫的,所以才這麼問你,想看看你究竟懂不懂,倒是沒想到你給了我這麼大的一個驚喜。”
“你的論文沒有問題,論證的過程也很完美,只不過就是有些排版上的小問題以及引用文獻時的錯誤,這些都是小問題,稍微改一下就是了。”
“只不過,你知道你這篇論文真正的價值嗎?”
韓華說完之後,便靜靜地看著王東來,等著他的回答。