網際網路實用密鑰交換
在 Vikram Singh 的論文A practice Key Exchange for the internet using Lattice Cryptography的第 3.2 節(第 10 頁)中,他給出了每個集合中奇數的元素數 $ q $ . 但是,結果與我對奇數組中元素數的計算不匹配 $ q $ .
例如,給定一個奇數素數 $ q=17 $ ,可以看到計算結果不匹配。誰能解釋這種差異?
$ \textbf{Randomized Rounding Procedure:} $
讓 $ q=17 $ . 因此 $ q\bmod 4 = 17\bmod 4 = 1 \implies q \equiv 1 \pmod4 $
現在,
$$ I_0 = \mathbb{Z}_q \cap \left[0,\tfrac{q}4\right) = \mathbb{Z}_q \cap \left[0,\tfrac{17}4\right) = \left[0,4\right) $$ $$ I^{\prime}_1 = \mathbb{Z}_q \cap \left[\tfrac{q}4,\tfrac{q}2\right) = \left[\tfrac{17}4,\tfrac{17}2\right) = \left[4,8\right) $$ $$ I^{\prime}_0 = \mathbb{Z}_q \cap \left[\tfrac{q}2,\tfrac{3q}4\right) = \left[\tfrac{17}2,\tfrac{51}4\right) = \left[8,12\right) $$ $$ I_1 = \mathbb{Z}_q \cap \left[\tfrac{3q}4,q\right) = \left[\tfrac{51}4,17\right) = \left[12,17\right) $$ 對於奇數 $ q $ 每個集合中的元素數量為:
$$ \left(\begin{array}{cc}#I_1 & #I_0 \ #I^{\prime}_0 & #I^{\prime}_1\end{array}\right) = \left(\begin{array}{cc}\tfrac{q-1}4 & \tfrac{q+3}4 \ \tfrac{q-1}4 & \tfrac{q-1}4\end{array}\right) \textrm{ for } q \equiv 1\pmod4 $$ $$ = \left(\begin{array}{cc}\tfrac{16}4 & \tfrac{20}4 \ \tfrac{16}4 & \tfrac{16}4\end{array}\right) $$ $$ = \left(\begin{array}{cc}4 & 5 \ 4 & 4\end{array}\right) $$ 但 $ I_0 = \left[0,4\right) = \left{0,1,2,3\right} $ (元素的數量不是 5),並且 $ I_1 = \left[12,17\right) = \left{12,13,14,15,16\right} $ (元素數量不是 4)
所以,元素個數 $ I_0 $ 不是 5. 為什麼?
$ 4 < 17/4 = 4.25 $ , 所以 $ 4 \in [0, 17/4) = [0, 4.25) $ . 因此 $ I_0 = {0,1,2,3,4} $ , 不是 $ {0,1,2,3} $ .