256 位和 512 位分組密碼的 GCM 加密
伽羅瓦/計數器操作模式 (GCM) 本文描述了使用具有 128 位和 64 位分組密碼的 GCM 模式。我們可以將此模式用於 256 位和 512 位分組密碼嗎?
您可以,但是不能以明顯方式翻譯的一個部分是伽羅瓦域表示;您需要為 $ GF(2^{256}) $ 和 $ GF(2^{512}) $ ,因為這些尺寸尚未預定義。
這是問題所在;GCM 在內部進行欄位乘法;也就是說,它需要兩個 $ N $ 位向量(其中 $ N $ 是密碼的塊大小),將它們解釋為 $ GF(2^N) $ , 將這兩個元素相乘,並將結果返回為 $ N $ 位向量。
為什麼這是個問題?那麼,位向量和欄位元素之間的映射到底是什麼?事實證明,有很多似是而非的映射;從安全的角度來看,這並不重要(GCM 證明所有工作都有效,無論表示如何);然而,它對互操作性非常重要。
對於領域 $ GF(2^{128}) $ 和 $ GF(2^{64}) $ ,這都是標准定義的;在這兩種情況下,我們都使用多項式表示,使用不可約多項式 $ x^{128}+x^7+x^2+x+1 $ 為了 $ GF(2^{128}) $ 和不可約多項式 $ x^{64}+x^4+x^3+x+1 $ 為了 $ GF(2^{64}) $ (並且位順序與您期望的相反;因此乘法恆等式(1)由位模式表示 $ 80 $ $ 00 $ $ 00 $ $ 00 $ .. $ 00 $ ).
對於 NIST 指定的兩種塊大小,一切都很好,但您詢問的是 256 位和 512 位塊大小;即使我們保持多項式表示(以及相同的向後位排序),您仍然需要選擇正確次數的不可約多項式。
瀏覽網路,我看到一個聲稱多項式 $ x^{256}+x^{10}+x^5+x^2+1 $ 和 $ x^{512}+x^8+x^5+x^2+1 $ 是不可約的;我無法確認(並且該網站也有警告);但是,如果是這樣,它們將是可行的選擇。 本文還列出了一些原始(因此不可約)多項式,但它們不是最小的(這將是顯而易見的)