Oblivious-Transfer

請幫助我理解這個 k-out-of-n 不經意傳輸協議

  • February 25, 2017

我有以下 k-out-of-n 不經意傳輸的協議規範(作為某些電子投票協議的一部分),這讓我感到困擾,因為我對密碼學的基本知識無法理解它。

顯示協議描述的圖像

這個特定的實現看起來與我在 Internet 上可以找到的通常的 n 中取一“接收器生成多個公鑰但只有一個有效”的範例完全不同。

  1. 這個 OT 是否以某種方式基於 ElGamal 加密方案?尤其是素數組內的取冪讓我想起了它,但我不明白PK和SK是什麼?
  2. 為了讓它工作,並根據最終方程 $ m_{sj} = c_{sj} \oplus k_j $ 我期待得到 $ m_j $ 從簡單化 $ c_{sj} \oplus k_j $ .

$ m_j = k\oplus c\ m_j = H(b\cdot g^{-sr}) \oplus c\ m_j = H((\Gamma(s_j)\cdot g^{r})^s \cdot g^{-sr}) \oplus c\ m_j = H(\Gamma(s_j)^s \cdot g^{sr} \cdot g^{-sr}) \oplus c\ m_j = H(\Gamma(s_j)^s) \oplus c\ m_j = H(\Gamma(s_j)^s) \oplus (m\oplus k)\ m_j = H(\Gamma(s_j)^s) \oplus (m\oplus H(\Gamma(i)^s)) $

所以, $ H(\Gamma(s_j)^s) $ 必須等於 $ H(\Gamma(i)^s) $

這個怎麼可能?怎麼會有反 $ i $ 等於發件人查詢 $ s_j $ ? 是選擇 $ s $ 基本上是指數 $ m $ 他想收到。

  1. 回想一下 ElGamal 加密方案:密鑰是隨機的 $ r \in \mathbb{Z}_q $ , 公鑰是 $ h := g^r $ ,連同組序 $ q $ 和發電機 $ g $ 該組的 $ \mathcal{G} $ . 加密消息 $ m \in \mathcal{G} $ , 隨機選擇一個 $ s \in \mathbb{Z}_q $ 併計算密文 $ (c_1, c_2) := (g^s, m \cdot g^{rs}) $ . 為了解密密文,計算 $ c_2 \cdot (c_1)^{-r} = c_2 \cdot (g^s)^{-r} = m $ .

如果是您的 OT 計劃, $ g $ 和 $ q $ 假設是已知的,因此不是公鑰的一部分。現在,而不是發送 $ g^{r_j} $ ,接收方發送 $ \Gamma(s_j) \cdot g^{r_j} $ . 當發件人將此提升到 $ s $ ,這導致 $ \Gamma(s_j)^s \cdot g^{r_j s} $ . 因此, $ d = g^s $ 和 $ b_j = \Gamma(s_j)^s \cdot g^{r_j s} $ 發送方發送的對應加密 $ \Gamma(s_j)^{s} $ . 然後接收器使用它來獲得 $ H_{\ell}(\Gamma(s_j)^s) $ ,它又被用來(一次性)加密實際消息。這裡的技巧是允許發件人加密 $ \Gamma(s_j)^s $ 不知道 $ \Gamma(s_j) $ . 2. 是的,選擇 $ s_j $ 對應於 $ j $ 接收者想要接收的索引。

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