零知識證明

2021-06-05 08:52:47 字數 1062 閱讀 7271

零知識證明的幾個例子[原創]  

1)a要向b證明自己擁有某個房間的鑰匙,假設該房間只能用鑰匙開啟鎖,而其他任何方法都打不開。這時有2個方法:(一)a把鑰匙出示給b,b用這把鑰匙開啟該房間的鎖,從而證明a擁有該房間的正確的鑰匙。(二)b確定該房間內有某一物體,a用自己擁有的鑰匙開啟該房間的門,然後把物體拿出來出示給b,從而證明自己確實擁有該房間的鑰匙。後面這個方法屬於零知識證明。好處在於在整個證明的過程中,b始終不能看到鑰匙的樣子,從而避免了鑰匙的洩露。 

2)a擁有b的公鑰,a沒有見過b,而b見過a的**,偶然一天2人見面了,b認出了a,但a不能確定面前的人是否是b,這時b要向a證明自己是b,也有2個方法。(一)b把自己的私鑰給a,a用這個私鑰對某個資料加密,然後用b的公鑰解密,如果正確,則證明對方確實是b。(二)a給出乙個隨機值,b用自己的私鑰對其加密,然後把加密後的資料交給a,a用b的公鑰解密,如果能夠得到原來的隨機值,則證明對方是b。後面的方法屬於零知識證明。

3)有乙個缺口環形的長廊,出口和入口距離非常近(在目距之內),但走廊中間某處有一道只能用鑰匙開啟的門,a要向b證明自己擁有該門的鑰匙。採用零知識證明,則b看著a從入口進入走廊,然後又從出口走出走廊,這時b沒有得到任何關於這個鑰匙的資訊,但是完全可以證明a擁有鑰匙。

「零知識證明」-zero-knowledge proof,是由goldwasser等人在20世紀80年代初提出的。它指的是證明者能夠在不向驗證者提供任何有用的資訊的情況下,使驗證者相信某個論斷是正確的。零知識證明實質上是一種涉及兩方或更多方的協議,即兩方或更多方完成一項任務所需採取的一系列步驟。證明者向驗證者證明並使其相信自己知道或擁有某一訊息,但證明過程不能向驗證者洩漏任何關於被證明訊息的資訊。在goldwasser等人提出的零知識證明中,證明者和驗證者之間必須進行互動,這樣的零知識證明被稱為「互動零知識證明」。80年代末,blum等人進一步提出了「非互動零知識證明」的概念,用乙個短隨機串代替互動過程並實現了零知識證明。非互動零知識證明的乙個重要應用場合是需要執行大量密碼協議的大型網路。大量事實證明,零知識證明在密碼學中非常有用。  在零知識證明中,乙個人(或器件)可以在不洩漏任何秘密的情況下,證明他知道這個秘密..如果能夠將零知識證明用於驗證,將可以有效解決許多問題..

參考

零知識證明

定義 能夠在不向驗證者提供有效資訊的情況下,使得驗證者相信某種論斷的正確性。淺顯易懂的說明 zcash 零知識證明的三條性質 1.完備性 驗證方和證明方都是誠實的,並遵循證明的每乙個步驟 2.合理性 沒人能假冒證明方,阿里巴巴和強盜的故事,存在一種可能的情況 阿里巴巴不知道咒語,但和別人串通好,強盜...

零知識證明

零知識證明 zero knowledge proofs,簡寫為 zkps,最初由 s.goldwasser s.micali 及 c.rackoff 在 1985 年的 互動證明系統的知識複雜性 提出,指的是證明者能夠在不向驗證者提供任何有用資訊的情況下,使驗證者相信某個論斷是正確的。允許證明者 p...

零知識證明

麻省理工學院研究人員在 20 世紀 80 年代提出的一種加密方案 零知識證明 零知識證明 zero knowledge proof 或零知識協議是一種基於概率的驗證方法,包括兩部分 宣稱某一命題為真的證明者 prover 和確認該命題確實為真的驗證者 verifier 顧名思義,零知識證明就是既能充...