初識零知識證明

longtrue發表於2007-10-21

畢業論文要用到零知識證明,這個聽起來很酷的名詞,看起來也有點彆扭。請教一位老師,他說這個問題比較難,曾經研究了一年半但都沒有太大收穫,建議我在做論文這麼短的時間內不要去碰它,先保證論文能做完並能夠答辯透過。在網上找了一下,雖然文字上說的也不難理解,但真正做起來應該難度是很大的。

所謂零知識證明,指的是示證者在證明自己身份時不洩露任何資訊,驗證者得不到示證者的任何私有資訊,但又能有效證明對方身份的一種方法。比如:

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擁有鑰匙。

以上寫得很生動,闡明零知識最最基本的原理,但真正在資訊保安上用起來要牽扯到很多理論的東西。越是難的東西,好像就越有想去了解它的慾望,不管我最後用不用它,但還是很想深入地去研究一下它。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7406370/viewspace-977924/,如需轉載,請註明出處,否則將追究法律責任。

相關文章