Lattice-Crypto

整數集以格中的整數 q 為模

  • March 28, 2020

關於格集的一些文獻 $ \mathbb{Z}_{q} $ 在 $ [-\frac{q}{2}, \frac{q}{2})\cap \mathbb{Z} $ 但不是 $ [0,q-1] $ 例如“沒有陷門的格簽名”和“基於格的盲簽名”,我不知道原因。如果您知道,謝謝您為我解釋原因。

那麼,這些格方案需要定義一個“小向量” $ \epsilon $ 以這樣的方式,兩個小向量元素的乘法 $ \epsilon_0 \times \epsilon_1 $ 還小;也就是說,對於一個隨機元素 $ A $ , 我們還有 $ A \approx A + \epsilon_0 \times \epsilon_1 $

一種方法是將“小向量”定義為其元素都具有小的絕對值;如果您足夠嚴格地定義“小絕對值”,那麼 $ \epsilon_0 \times \epsilon_1 $ (忽略模運算)仍然可能

$$ 1 $$具有絕對值小於 $ q/k $ (這是“足夠接近” - 原來的方案有 $ k=4 $ ). 當然,您可能會問“他們為什麼不定義小向量來包含具有小的非負項的元素?”。好吧,如果他們定義了環 $ x^n+1 $ (例如),然後發生了一些奇怪的事情。元素 $ i $ 的 $ A \times B $ 可以表示為

$$ A_iB_0 + A_{i-1}B_1 + … + A_0B_i - A_{n-1}B_{i+1} - A_{n-2} B{i+2} - … - A_{i+1} B_{n-1} $$

具體來說,有 $ n-i $ 添加到最終產品中的條款,以及 $ i $ 從最終產品中減去的術語。

對於小 $ i $ ,有大量的附加項;如果 $ A, B $ 由小的非負元素組成,那麼結果將被強烈地偏向正。對於大 $ i $ (只是比 $ n $ ),結果將被強烈地偏向負數。因此,結果將有一個明顯的傾斜,這更難推理。

相反,如果使用 generate $ A, B $ 絕對值小(正負之間沒有偏差),不存在這種偏差;結果元素的分佈與向量內的位置無關。


$$ 1 $$:這就是解密失敗機率的來源;大多數係統沒有將錯誤項定義得足夠小,以至於不會發生解密失敗

關於這個問題的一個稍微不同的觀點是,通常是一個格子 $ \Lambda\subseteq\mathbb{Z}^n $ 用於其糾錯特性。晶格是無限對象,但為了效率,我們通常假設它們是周期性模數整數(不一定是素數,儘管選擇了變數) $ q $ ,這被稱為 $ q $ -ary。這為我們提供了晶格的有限尺寸表示,但它知道任何晶格都是 $ \det(\Lambda)^2 $ -ary,所以這樣的表示總是存在的(儘管通常 $ q $ -ary 格假設 $ q $ 小於 $ \det(\Lambda)^2 $ )。存在的條件 $ q $ -ary 可以代數表示為 $ q\mathbb{Z}^n\subseteq\Lambda $ . 我們可以考慮操作 $ \Lambda\bmod q\mathbb{Z}^n $ , 有共域 $ [-q/2,\dots q/2]^n\cap \mathbb{Z}^n $ (對於晶格 $ q\mathbb{Z}^n $ , 對應於減少每個座標 $ \Lambda $ 反對 $ q $ 獨立)。

這是為什麼 $ [-q/2,\dots, q/2] $ 被使用而不是 $ [0, q-1] $ . 雖然它們都可以被視為代表的方式 $ \mathbb{Z}/q\mathbb{Z} $ 內 $ \mathbb{Z} $ , 前者是晶格的基本 Voronoi 單元 $ q\mathbb{Z}^n $ (或者,元素集更接近 $ 0 $ 比任何其他點 $ q\mathbb{Z}^n $ ).

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