Finite-Field
域乘法的密碼學性質
在閱讀AES-GCM時,我發現有一個乘法 $ \operatorname{GF}(2^{128} $ )。我的問題是關於它的加密屬性,例如:
- 取一個隨機元素 $ X $ 從 $ \operatorname{GF}(2^{128} $ ) (這不是 $ 0 $ 或者 $ 1 $ )。乘以一個常數 $ Y $ (例如,在同一欄位上定義的明文, $ Y\neq 0 $ )。鑑於產品 $ XY $ , 是否可以恢復 $ Y $ (或一些關於 $ Y $ )?
- 如果產品 $ XY $ 滿足一些規律性條件(例如 $ XY=1 $ ), 是否有可能獲得關於 $ Y $ ?
- 如果給出多個這樣的條件,是否有可能獲得關於 $ Y $ ? 我的意思是,說隨機選擇 $ X_i $ 的,產品 $ X_iY $ 是給定的。
如果上述問題難以解決,可能有限域乘法可以作為側通道掩蔽對策的一種方法(至少在理論上)。
你問的是乘法運算 $ GF(2^{128}) $ ; 事實證明,如果我們排除元素 0,那麼對修改後的集合的乘法運算 $ 2^{128}-1 $ 元素是一個組操作;例如,逆存在。
並且,對於任何組操作 $ \odot $ , 我們有:
- 對於任何元素 $ Y $ ,如果我們將它乘以一個隨機(且獨立)的元素 $ X $ , 結果 $ X \odot Y $ 是隨機的(並且揭示它不會揭示任何關於 $ Y $ ).
這回答了您的問題一(通過修改您的問題 $ X $ 僅排除 0 元素,不排除 1 元素)。請記住,0 不是組的成員(即使它是欄位的成員;我們在定義組時故意將其排除在外);相反,1 是組的成員,避免它會洩漏一些資訊,特別是 $ Y $ 不是(因為 $ Y \ne X \odot Y $ )
- 如果兩者 $ X $ 和 $ Y $ 未知,然後揭示 $ X \odot Y $ 不透露有關的任何資訊 $ Y $
這回答了你的第二個問題。
- 揭示 $ X_i \odot Y $ 對於大量隨機 $ X_i $ 價值觀也沒有透露任何關於 $ Y $ .
這回答了你的問題三。
如果上述問題難以解決,可能有限域乘法可以作為側通道掩蔽對策的一種方法(至少在理論上)。
有可能,但並不理想。一方面,我們不得不故意排除 0 值;一個真正的掩蔽實現不能忽略這樣一個可能的值;特別是,如果你有一個 $ Y=0 $ 值,在這種情況下,掩蔽不起作用。在更實際的情況下,屏蔽通常涉及計算逆,而在計算乘法逆時 $ GF(2^{128}) $ 不是那麼難,也不是特別微不足道。