Homomorphic-Encryption

主動攻擊者如何破解 CPA 安全的 LWE 密碼系統?

  • December 15, 2021

LWE 加密系統僅是 CPA 安全的,例如基於格的密碼學的十年中所述。考慮那裡描述的以下系統(第 5.2 節)

  • 密鑰是統一的 LWE 密鑰 $ s \in \mathbb{Z}_q^n $ , 公鑰是一些 $ m \approx (n+1) \log(q) $ 樣品 $ (\bar{a}_i, b_i = \left <\bar{a}_i, s \right > +e $ 收集為矩陣的列 $ A $ $$ A = \begin{pmatrix} \bar{A} \ b^t \end{pmatrix} \in \mathbb{Z}_q^{(n+1) \times m} $$ 在哪裡 $ b^t = s^t \bar{A} +e e^t \mod q $ .
  • 加密一點 $ \mu \in \mathbb{Z}_2 = {0,1} $ 使用公鑰 $ A $ , 選擇一個 unifrom $ x \in {0,1}^m $ 並輸出密文 $$ c = A \cdot x + (0, \mu \cdot \lfloor \frac{q}{2} \rceil) \in \mathbb{Z}_q^{n+1} $$
  • 使用密鑰解密 $ \mathbb{s} $ ,一個計算: $$ (-s, 1)^t \cdot c = (-s, 1)^t \cdot A \cdot x +\mu \cdot \lfloor \frac{q}{2} \rceil) \in \mathbb{Z}_q^{n+1} $$ $$ = e^t \cdot x + \mu \cdot \lfloor \frac{q}{2} \rceil) \in \mathbb{Z}_q^{n+1} $$ $$ \approx \mu \cdot \lfloor \frac{q}{2} \rceil \in \mathbb{Z}_q^{n+1} \mod q $$ 並測試它是否更接近 $ 0 $ 或者 $ \frac{q}{2} \mod q $ .

該論文指出,“我們注意到系統在主動或選擇密文攻擊下很容易被破壞”。

這樣的攻擊會是什麼樣子?我會考慮加密 $ 0 $ 位與 $ x $ 成為一切 $ 1 $ -s 向量檢索 $ e $ 然後檢索 $ s $ 通過 $ \bar{A}^{-1} \cdot (b-e) $ . 還有其他已知的方法嗎?是否有已知的方法可以將這些攻擊擴展到 NIST-pqc 入圍候選人的 CPA 安全版本,例如 Kyber?

考慮到對手 $ A $ 選擇兩條消息 $ m_1 = 0 $ 和 $ m_2 = 1 $ 根據Ind-CCA1比賽並與挑戰者比賽。

  • 敵手 A 發送 $ m_1 $ 和 $ m_2 $ 給挑戰者。

  • 挑戰者隨機選擇 $ b $ 之間 $ 0 $ 和 $ 1 $ ; $ b \stackrel{$}{\leftarrow} $ {0,1}

  • 挑戰者計算 $ c:=Enc(s,m_b) $ 並且寄出 $ c $ 至 $ A $ .

  • 對手在多項式時間內執行其他操作,包括對加密/解密預言機的呼叫,用於不同的密文 $ c $ .

    • $ c_0 = EncOracle(0) $
    • $ c’ = c \oplus c_0 $

    即執行同態加法 $ m_b $ 零!

    • $ m’ = DecOracle(c’) $

    這是一個有效的請求,因為 $ c’ \neq c $ .

    • 我們有 $ m’ = m_b $
  • 如果 $ m’ = 0 $ 返回 $ 0 $

否則返回 $ 1 $

對手以優勢 1 贏得比賽。

換句話說,密文是可延展的,沒有完整性來保護 CCA1 對手。

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