Lattice-Crypto

在開發密碼系統中使用 q-ary 格

  • September 24, 2015

為什麼 q-ary 格被用於大多數密碼系統而不是格。在大多數論文中都使用了 q-ary 格。有什麼優勢嗎?和

給定

$$ B=(v_1,v_2,v_3,…..v_n) $$是基礎,由 B 生成的點陣 $$ L(B)={a_1v_1 + …….. + a_nv_n\ |\ a_1……..,a_n ∈ Z} $$ 固定 q 並給定一個矩陣$$ A ∈ Z_{q}^{n×m} $$ m維晶格 $ Λ(A^T) $ 定義為 $$ Λ(A^T)={y ∈ Z^m | y ≡ A^Ts\ (\text{mod } q) \text{ for some } s ∈ Z^n_q} $$ 我們怎麼能說上面的點集形成了格子,並且它是否完全包含 $ q^n $ 積分?

使用的主要優點 $ q $ -ary lattices 是它允許密碼系統設計者依賴標準的短整數解決方案 (SIS) 和學習錯誤 (LWE) 問題,這些問題至少與最壞情況的格問題一樣難。因此 SIS/LWE 問題抽像出與晶格的連接,並“免費”為設計者提供強大的硬度保證。相比之下,如果要“直接”使用晶格,則必須明確描述晶格上的分佈及其秘密“活板門”,顯示(或假設)以這種方式生成的晶格是困難的,等等。

另一個原因是 SIS/LWE 問題很容易處理,並且具有很多通用性;在使用一般晶格時如何獲得可比較的屬性不太明顯。例如,可以對奇偶校驗/生成器矩陣執行算術運算 $ \mathbf{A} $ ,這可以產生許多有趣的屬性和應用(例如,陷門操作、同態等)。這些算術運算中的大多數確實有一般格的解釋,但在使用它們時更容易發現和利用 $ q $ -ary 格和它們的奇偶校驗/生成器矩陣。

關於你的問題 $ \Lambda(\mathbf{A}^t) $ ,這是一個格子,因此它有無數個點。然而,模 $ q $ , 最多有 $ q^n $ 不同的點,每個值最多一個 $ \mathbf{s} $ . 它確實有 $ q^n $ 點當且僅當沒有兩個不同的值 $ \mathbf{s} $ 產生相同的值 $ \mathbf{A}^t \mathbf{s} \pmod{q} $ , 當且僅當右空空間 (mod $ q $ ) 的 $ \mathbf{A}^t $ 簡直就是 $ { \mathbf{0} } $ .

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