Re: [請益] 請問有人知道關於各類魔方的零知識嗎?

看板puzzle (益智遊戲 - 數獨,拼圖,推理,西洋棋)作者 ((short)(-15074))時間17年前 (2008/10/17 01:34), 編輯推噓3(309)
留言12則, 4人參與, 最新討論串2/2 (看更多)
好像離版題遠了些 不過有人問到了這個 所以回個文 ※ 引述《joeyeh (joe)》之銘言: : 推 aegius1r:可以解釋一下零知識嗎@"@? 10/16 23:15 所謂"零知識證明" 是指一個人P宣稱他知道某件事 他想說服另一人V說他知道某件事 但不想告訴V有關這件事的細節 P所用來向V證明的方法(或說兩人之間的互動過程)就叫"零知識證明"(或稱零知識協定) 這證明要成立有三個條件: (1) 完整性: 如果P果真知道這件事 那照這個方法做的V會被說服P的確知道 (2) 健全性: 如果P其實不知道這件事 那照這個方法做的V除了極小的機率之外都可以抓包 (3) 零知識性: 如果P果真知道這件事 那V除了知道「P知道這件事」是真的之外一無所知 (包含所謂"這件事"的細節) 我在前篇推文說要應用在「難」的問題上是表示說 V不會由證明的過程推出P所知道的東西是什麼 (從而知道了V不該知道的東西) 例如: (這是英文維基上的例子) 現在有一個洞窟 裡面岔成兩條路 在後面連起來 但有一個魔法門隔開 P現在宣稱他知道怎麼開這個魔法門 他想在不告訴V怎麼開門的情形下說服V 這裡 「開魔法門」就是那個「難」的問題的類比 P和V都知道有魔法門 但只有P知道怎麼開 這個"零知識證明"如下: 首先 P先進洞 V在外面 然後P隨機選一條岔路進去 接著V進來 大喊著要P從哪條路出來(也是隨機選) 看看P是否真的從那條路出來 重覆這個過程至少十幾二十次 如果P每次都能照所喊的出來 那"P知道怎麼開門"這件事就非常有可能是真的 因為如果P知道 那P一定可以每次都照所喊的路走出來 如果P不知道的話 他只會有1/2的機率猜中答案從所喊的路走出來 因此如果真不知道 重覆20次都猜中的機率就是一百萬分之一了 符合條件(2) 因此在夠多的次數之下 V會被說服P的確知道怎麼開門 符合條件(1) 而且這過程中 V完全不會知道這門怎麼開 他除了"P知道怎麼開門"之外什麼都不知道 符合條件(3) --- 這東西的用途主要是在密碼學 P要向V證明他有某個東西(例如RSA的密碼) 但不能給V知道這個東西是什麼 他就可以用和這個類似的過程來向V證明 --- 上面說的只是概念 尤其條件(3)裡所謂"除此外什麼都不知道"是個滿抽象的詞 是有個定義來定性描述這件事 不過我還沒搞懂 @_@ -- 実琴:「河野!你真的就這樣被物質慾望給吸引過去了嗎?!」 亨:「只要穿著女裝擺出親切的樣子,所有必要花費就能全免,似乎一點都不壞啊。」 実琴:「難道你沒有男人的尊嚴了嗎?!」 亨:(斷然道)「沒有。在節衣縮食生活吃緊學生面前,沒有那種東西。」 --プリンセス・プリンセス 第二話 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.250.80

10/17 07:44, , 1F
講白一點就是V得到的就是單向雜湊的結果,但他知道結果是合
10/17 07:44, 1F

10/17 07:46, , 2F
理的範圍,但他完全不知雜湊函數,所以他沒有機會可以推知
10/17 07:46, 2F

10/17 07:51, , 3F
舉例,某使用者在伺服器A和伺服器B都有使用權,也在兩伺服器
10/17 07:51, 3F

10/17 07:53, , 4F
都有各個設定的密碼,當使用者登入伺服器A想使用伺服器B的資
10/17 07:53, 4F

10/17 07:54, , 5F
源時,就必需得到伺服器的信賴,此時A就會向B證明此user已驗
10/17 07:54, 5F

10/17 07:56, , 6F
證過,讓B不用重覆驗證此user,但兩伺服器卻一點也沒辦法得知
10/17 07:56, 6F

10/17 07:57, , 7F
存在兩者各自的密碼,但B確可以信賴A確實驗證過user了
10/17 07:57, 7F

10/17 07:58, , 8F
因此B會讓user直接使用B的資源而不用再次驗證.
10/17 07:58, 8F

10/17 11:43, , 9F
看起來滿好玩的
10/17 11:43, 9F

10/17 13:59, , 10F
很有趣的問題
10/17 13:59, 10F

10/17 17:45, , 11F
去MIT找一下Kerberos計劃,裡面有些有趣的問題喔
10/17 17:45, 11F

10/17 18:45, , 12F
大概了解了 謝謝XD
10/17 18:45, 12F
文章代碼(AID): #18ztiEfj (puzzle)
文章代碼(AID): #18ztiEfj (puzzle)