Zero-Knowledge-Proofs

零知識證明和挑戰響應協議之間的區別

  • December 26, 2020

零知識證明和挑戰響應認證之間到底有什麼區別?

我在網上搜尋,我能找到的最好的是這些:

  1. techtarget.com

零知識密碼證明系統依賴於使雙方(客戶端和伺服器)能夠相互驗證的加密方法。這些系統允許每一方相互確認他們擁有正確的密碼,但無需相互共享該密碼

  1. cse.scu.edu:暗示它們兩者都是不同的,並且一種改進了另一種。

我大學的一位講師在其中一項作業中提出了這個問題,當我收到相同的答案時,我發現了這個問題:

區分挑戰響應和零知識實體身份驗證。

挑戰-響應辨識 - 強身份驗證。密碼質詢-響應協議是一個實體(索賠人)通過證明知道與該實體相關聯的秘密知識向另一個實體(驗證者)“證明”其身份,而不在協議期間向驗證者透露秘密本身. 這是通過提供對時變質詢的響應來完成的,其中響應取決於實體的秘密和質詢。挑戰通常是一個實體在協議開始時(隨機和秘密)選擇的數字。如果通信線路受到監控,辨識協議的一次執行的響應不應為對手提供後續辨識的有用資訊,因為後續挑戰會有所不同。

零知識證明——ZKP 概念。簡單密碼協議的一個缺點是,當請求者 A(在零知識協議的上下文中稱為證明者)向驗證者 B 提供她的密碼時,B 可以隨後冒充 A。挑戰-響應協議對此進行了改進:A 響應 B挑戰以時變方式證明 A 的秘密知識,提供 B 不能直接重用的資訊。ZKP 的範例。Fiat-Shamir 辨識協議。Feige-Fiat-Shamir 辨識協議。Guilou-Quisquate 辨識協議。

我覺得要麼措辭錯誤,要麼完全錯誤(傾向於後者)。

那麼,它們之間到底有什麼區別,或者它們根本沒有區別?如果可能的話,請用一個例子以及使用這些算法的實際算法進行解釋。

它們只是不同的東西。一個協議可能是挑戰-響應,也可能不是零知識;所有四種組合都是可能的。

  1. 普通密碼認證不是挑戰-響應,也不是零知識。
  2. 舊遊戲中的手動查找複製保護是挑戰響應而不是零知識。另一個例子是驗證碼。
  3. 非互動式零知識證明是零知識,而不是挑戰-響應。例如:沃利在哪裡?
  4. 色盲朋友問題是零知識證明和挑戰響應的一個例子。

維基百科說普通密碼身份驗證是質詢響應,因為“告訴我密碼”是一個質詢,而 Modal Nest 的回答說同樣的話。根據這個定義,我認為任何證明都必然是質詢響應,因為“證明它”是一個挑戰。但我認為這個定義過於寬泛,使得“挑戰-響應”這個術語在很大程度上毫無用處。我將其限制為證明者在獲得挑戰後必須做大量工作的協議,並且可以’ t 只是返回一個預設的響應。)

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