Protocol-Design

證明一個值的知識和使用它的計算

  • May 27, 2022

愛麗絲選擇隨機點P,並且Q在一個 DLP wrt 基點G很難的組中(我在想一個橢圓曲線,但它不一定是)。Alice 不知道這兩點的 DLP。

愛麗絲發送(P,Q)給鮑勃。

Bob 將選擇一個隨機標量r,並在保密的同時返回(r*P,r*Q)給 Alice r

Bob 有沒有辦法向 Alice 證明他知道這一點r,並且他發送給她的這對點是她所期望的,但沒有透露r

這看起來像典型的 Schnorr 辨識協議。這裡 $ r $ 是一些秘密值,我們可以認為它有兩個公鑰 $ r\cdot P $ 和 $ r\cdot Q $ . 您可能會想假設 DLP 以 wrt 為基礎 $ P $ 和 $ Q $ 也很難,否則愛麗絲可以解決這兩個問題之一 $ r $ . 讓我們假設該組具有主要順序 $ n $ .

現在我們可以進行如下操作(類似於@SEJPM 提到的問題):

  1. Bob 隨機選擇 $ s\in \mathbb{Z}/n\mathbb{Z} $ .
  2. 鮑勃發送 $ (s\cdot P, s\cdot Q) $ 給愛麗絲。
  3. 愛麗絲隨機選擇 $ c\in \mathbb{Z}/n\mathbb{Z} $ .
  4. Bob 計算 $ t = (s + cr)\bmod{n} $ .
  5. 鮑勃發送 $ t $ 給愛麗絲。
  6. 愛麗絲檢查 $ tP = (s\cdot P) + c(r\cdot P) $ 和 $ tQ = (s\cdot Q) + c(r\cdot Q) $ .

如果 Alice 的檢查通過,她會相信 Bob 知道 $ r\cdot P $ 和 $ r\cdot Q $ . 我沒有做太徹底的檢查,但 sigma 協議的屬性似乎成立。

此外,秘密必須都等於 $ (t-s)c^{-1}\bmod{n} $ ,所以它們是相同的。

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