第(2/3)頁 相反,如果他對于自己提出來的問題,都無法回答,那就證明王東來的論文有問題,根本不是出自他手。 “導師,您請問。” 王東來并不覺得韓華這么做,是看不上自己,或者是對自己有意見。 設身處地想想,王東來完全能夠理解韓華的行為。 一個剛上大學幾天的新生,就說自己要發表論文,還拿出了專業性這么強的論文,不是什么學術垃圾,第一反應自然是不信。 “好,你在論文提到的對稱加密算法aes和非對稱加密算法rsa,你詳細講一講,可以嗎?”韓華雖然是數學系的教授,可是對于計算機也有不淺的了解,所以就問出了這個問題。 王東來沒有絲毫的猶豫,張口便解釋了起來。 “aes是 advanced encryption standard的縮寫,是最常見的對稱加密算法。aes在密碼學中又稱 rijndael加密法,是白頭鷹聯邦政府采用的一種區塊加密標準。 “它的加密公式為 c=e(k,p),其中k為密鑰,p為明文,c為密文。 “加密過程是首先對明文進行分組,每組的長度都是 128位,然后一組一組地加密,直到所有明文都已加密。密鑰的長度可以是 128、192或 256位。 “在加密函數 e中,會執行一個輪函數,除最后一次執行不同外,前面幾輪的執行是相同的。以 aes-128為例,推薦加密輪數為 10輪,即前 9輪執行的操作相同,第 10輪執行的操作與前面不同。不同的密鑰長度推薦的加密輪數是不一樣的…… “加密時明文按照 128位為單位進行分組,每組包含 16個字節,按照從上到下、從左到右的順序排列成一個 4x 4的矩陣,稱為明文矩陣。aes的加密過程在一個大小同樣為 4x 4的矩陣中進行,稱為狀態矩陣,狀態矩陣的初始值為明文矩陣的值。每一輪加密結束后,狀態矩陣的值變化一次。輪函數執行結束后,狀態矩陣的值即為密文的值,從狀態矩陣得到密文矩陣,依次提取密文矩陣的值得到 128位的密文。 “以 128位密鑰為例,密鑰長度為 16個字節,也用 4x 4的矩陣表示,順序也是從上到下、從左到右。aes通過密鑰編排函數把密鑰矩陣擴展成一個包含 44個字的密鑰序列,其中的前 4個字為原始密鑰用于初始加密,后面的 40個字用于 10輪加密,每輪使用其中的 4個字。密鑰遞歸產生規則如下: “如果 i不是 4的倍數,那么由等式 w[i]= w[i-4]⊕ w[i-1]確定; “如果 i是 4的倍數,那么由等式 w[i]= w[i-4]⊕ t(w[i-1])確定; “加密的第 1輪到第 9輪的輪函數一樣,包括 4個操作:字節代換、行位移、列混合和輪密鑰加。最后一輪迭代不執行列混合。另外,在第一輪迭代之前,先將明文和原始密鑰進行一次異或加密操作。 “解密過程仍為 10輪,每一輪的操作是加密操作的逆操作。由于 aes的 4個輪操作都是可逆的,因此,解密操作的一輪就是順序執行逆行移位、逆字節代換、輪密鑰加和逆列混合。同加密操作類似,最后一輪不執行逆列混合,在第 1輪解密之前,要執行 1次密鑰加操作。 aes加密的輪函數操作包括字節代換 subbytes、行位移 shiftrows、列混合 mixcolumns、輪密鑰加 addroundkey等等,每一個的步驟都是緊密相連。” “……” “至于非對稱加密算法rsa,則是1977年三位數學家 rivest、shamir和 adleman設計了一種算法,可以實現非對稱加密,使用非對稱加密算法需要生成公鑰和私鑰,使用公鑰加密,使用私鑰解密。” “……” 王東來說的滔滔不絕,簡單清楚又明了,一看就知道是真的了解這些內容。 韓華在心里其實也逐漸相信起這篇論文是王東來自己寫出來的,不過還是挑了幾個問題問了起來,“什么是互質關系?” 這個問題很簡單,只要看過書都能知道,但是根據課程,王東來還沒有學過。 “質數(prime number)又稱素數,有無限個。一個大于 1的自然數,除了 1和它本身外,不能被其他自然數整除,換句話說就是該數除了 1和它本身以外不再有其他的因數;否則稱為合數,如果兩個正整數,除了 1以外,沒有其他公因子,我們就稱這兩個數是互質關系。互質關系不要求兩個數都是質數,合數也可以和一個質數構成互質關系。” 王東來迅速地回答出來。 第(2/3)頁