Gcm

GCM多項式是如何找到的?

  • May 15, 2017

據我了解,沒有通用方法可以列舉特定有限域中的不可約多項式,這些多項式在性質上類似於整數上的素數。

GCM 模式有限域有階 $ 2^{128} $ ,它與 AES 的塊大小匹配,並使用不可約多項式(參見第 8 頁)

$$ x^{128} + x^7 + x^2 + x + 1 $$ 為什麼源 PDF 沒有詳細說明選擇以及如何找到它?它甚至沒有證明多項式是不可約的。

對於 GCM 模式多項式,他們很可能只是在 table 中查找它。低權不可約多項式 $ {\rm GF}(2) $ 足夠有用,以至於人們花時間編寫它們的列表;我在上面連結的那個(Seroussi 1998)經常被引用,並且確實包含 GCM 多項式。

當然,這只是將問題轉變為如何首先編譯此類列表。正如上面連結的論文所指出的,基本過程是簡單地生成連續的低權重多項式並測試它們的不可約性。

Seroussi 用來生成連結表的具體測試顯然是基於 Victor Shoup 的 NTL 庫,現在可以在這裡找到;該GF2XFactoring庫中的模組提供了一個IterIrredTest()實現“基於 DDF 的迭代確定性不可約性測試”的函式。BuildIrred()方便的是,還有一些BuildSparseIrred()函式可以用於查找給定次數的“規範”不可約多項式 $ {\rm GF}(2) $ .

有關不可約性測試的實際工作原理的更多詳細資訊,您可能需要查看math.SE 上的這個答案以及從中連結的這些幻燈片(Brent & Zimmermann 2008)。特別是,根據幻燈片,對於大多數實際目的(即對於次數小於 1 億左右的多項式)而言,似乎是測試多項式是否為 $ p(x) $ 學位 $ d $ 是不可約的 $ {\rm GF}(2) $ 就是簡單地用重複平方和模約簡來測試是否

$$ x^{2^d} \equiv x \pmod{p(x)}. $$ (Ps。顯然還有一篇關於有限域上多項式因式分解的維基百科文章,您可能會發現它很有用。)

引用自:https://crypto.stackexchange.com/questions/47426