Encryption

零知識挑戰-響應協議

  • March 13, 2013

祝大家有美好的一天。

我正在嘗試實現一個電子投票系統(僅供參考 - 雖然它並不重要 - 它在基於改進隱式安全性的網際網路投票協議中有所描述,作者 Abhishek Parakh 和 Subhash Kak 記錄版本首次發布:2010 年 6 月 29 日。) .

我正在嘗試實施的協議提到“投票站通過與註冊管理機構執行零知識挑戰-響應協議來驗証投票人 ID 的簽名來驗証投票人 ID 的有效性。”

我在Google和維基百科上搜尋過這個協議,但我沒有得到太多資訊。對我來說,了解這個協議是什麼、投票站必須向註冊管理機構發送什麼以及註冊管理機構必鬚髮回什麼是非常重要的。基本上,我需要知道如何驗證選民身份。

非常感謝您的寶貴時間。

附言。我剛剛在這個論壇上創建了帳戶。如果您需要為您提供任何進一步的資訊,請提出,我會回答。

閱讀原始論文,我弄清楚了這個問題。該投票方案採用了著名的不可否認簽名方案,該方案由 Chaum 和 Van Antwerpen 在 1989 年提出(或 Chaum 1990 或 Chaum 和 Van Antwerpen 1991)。

  • KeyGen:RA 是簽名者並擁有公鑰 $ X = g^x $ 和一個密鑰 $ x $
  • 簽名:留言 $ m \in \mathbb{G} = \mathbb{Z}p $ ,簽名為 $ \sigma = m^x \in \mathbb{G} $ . (在你的情況下, $ m = r{id} $ .)
  • 確認:驗證者(投票站)和簽名者(RA)互動以驗證令牌 $ (r_{id},\sigma) $ 來自選民是否正確。

在確認中,RA 證明 $ \log_g(X) = \log_{r_{id}}(\sigma) $ . 你可以找到標準 $ \Sigma $ 這個確認的協議,比如說, $ \Sigma $ DDH 語言的協議。

你可以找到 $ \Sigma $ 網路上提供的講義中的 DDH 語言協議。

不幸的是,你可能無法填寫缺失的細節,除非你有大量的加密經驗(聽起來你沒有)。

你可以從閱讀零知識證明開始。有很多關於該主題的資訊。您需要先了解它,然後才能進步。聽起來您是在說論文沒有指定要使用的特定零知識證明協議;他們只是聲稱可以發明一個。因此,要填補缺失的細節,顯然您將不得不發明零知識證明協議。這需要相當多的零知識證明知識和經驗。

在實踐中,認為您將能夠在合理的時間範圍內自學這一點可能是不現實的。因此,我認為你應該放棄嘗試實現這個協議。聽起來協議沒有完全指定,因此還沒有真正準備好實施。如果協議沒有完全指定,這可能是一個很好的暗示,表明它還沒有準備好進行實際部署,並且實施它將超出該領域專家的能力範圍。

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