後量子密碼學 03:二維晶格密碼學的正確性

作者:
黃承瑋
閱讀時間:
10
分鐘
# 後量子密碼學 03:二維晶格密碼學的正確性 ## 系統回顧 ### 密鑰生成 **公共參數**: 一個大整數 $q$。 **私鑰**: 兩個小整數 $f$ 和 $g$,滿足 \begin{align} f < \sqrt{\frac{q}{2}}\\ \sqrt{\frac{q}{4}}< g <\sqrt{\frac{q}{2}} \\ \mathrm{gcd}(f,qg)=1 \end{align} **公鑰**: \begin{align} h = f^{-1}g \mod q \end{align} ### 加密(Encryption) 傳送者 Bob 選擇明文 $m$ 與一個隨機數 $r$,並都限制在 \begin{align} 0< m < \sqrt{\frac{q}{4}}\\ 0< r < \sqrt{\frac{q}{2}} \end{align} 計算密文為 \begin{align} e = r h + m \mod q \end{align} 傳送 $e$ 給 Alice ### 解密(Decryption) Alice 用私鑰進行 \begin{aligned} a &= fe \mod q \\ b &= f^{-1}a \mod g \end{aligned} 則可得 $b=m$。 ## 正確性證明 首先注意到因為 \begin{align} h = f^{-1}g \mod q \end{align} 所以解密過程中: \begin{aligned} a & =f e=f(r h+m)=r f h+f m \\ & =r g+f m \end{aligned} 又根據我們對 $r, g, f, m$ 的條件: \begin{aligned} 0< m <\sqrt{\frac{q}{4}} \\ 0< r <\sqrt{\frac{q}{2}} \\ 0< f <\sqrt{\frac{q}{2}} \\ \sqrt{\frac{q}{4}} < g < \sqrt{\frac{q}{2}} \end{aligned} 於是我們知道 \begin{align} rg+fm \leq \sqrt{\frac{q}{2}}\sqrt{\frac{q}{2}}+\sqrt{\frac{q}{2}}\sqrt{\frac{q}{4}} < q \end{align} 也就是說,$rg + fm$ 這個數字,從構造條件上就確保了他不會超過 $q$,因此,Alice 根據我們密碼系統所算出來的 $a = fe$ ,完完全全等於 $rg + fm$。 請注意一個決定性的差別:上面提到「在模除 $q$ 的環中」, \begin{align} a=r g+f m \quad \bmod q \end{align} 這裡的等號是指說,從整數的觀點看,數字 $a$ 與 $rg + fm$ 差了整數倍的 $q$。 而因為 $rg + fm$ 根本就不會超過 $q$ ,所以我們確保 $a$ 與 $rg + fm$ 在整數上根本完完全全相等,「並不是差了整數倍的 $q$ ,而是完完全全的相等」。 此時,我們就可以寫下 \begin{align} a=r g+f m \end{align} 現在將這個方程式左右都取模除 $g$ (比較數學的講法是說同時投影至模除 $g$ 的整數環)得到 \begin{align} a=r g+f m \quad \bmod g \end{align} 那其實根本就是 \begin{align} a=f m \quad \bmod g \end{align} 兩邊同時乘上 $f$ 在模除 $g$ 下的反元素: \begin{align} b=f^{-1} a=f^{-1} f m=m \quad \bmod g \end{align} 再次根據我們的構造條件: \begin{align} 0< m < \sqrt{\frac{q}{4}}, \quad \sqrt{\frac{q}{4}} < g < \sqrt{\frac{q}{2}} \end{align} 我們於是知道 $m$ 根本就是一個小於 $g$ 的數字,所以,跟剛剛一樣的理由,這裡的 $b$ 也完完全全等於 $m$ 。 ## 為何是二維晶格? 觀察加密與解密的核心條件: \begin{align} h \equiv f^{-1} g \quad(\bmod q) \end{align} 若想在不知 $(f, g)$ 的情況下偽造一組 $(F, G)$ 也能成功解碼,你就需要 \begin{align} F h \equiv G \quad(\bmod q) \end{align} 而且你還需要 \begin{align} rG + Fm < q \end{align} 這樣才能正確解密,但是因為你不知道 $r$ 跟 $m$ 的確切值,所以你只能希望這些 $F$ 與 $G$ 「盡量得小」 換句話說,存在某個整數 $R$ 使得 \begin{align} F h=G+R q \end{align} 將其轉到 $\mathbb{Z}^2$ 的向量形式,可寫作: \begin{align} (F, G)=F(1, h)+(-R)(0, q) . \end{align} 且其中 $F$ 與 $G$ 盡量的小。有沒有發現這相當於「我們要找到向量 $(1, h)$ 以及 $(0, q)$ 的整係數線性組合,好讓結果 $(F, G)$ 越小越好。」。是不是變成「短向量問題了呢?」 在高維度情況下,「尋找短向量 (SVP, Shortest Vector Problem)」是公認的 NP-hard 問題。但若僅是二維,情況就非常簡單:**我們可以用高斯化約 (Gauss Reduction) 非常快速地找到那個短向量**。這也代表在二維下,系統顯示出致命安全缺陷。 相關的攻擊方式請見此[連結](https://ithelp.ithome.com.tw/articles/10351576)。
課程目錄