毕业论文要用到零知识证明,这个听起来很酷的名词,看起来也有点别扭。请教一位老师,他说这个问题比较难,曾经研究了一年半但都没有太大收获,建议我在做论文这么短的时间内不要去碰它,先保证论文能做完并能够答辩通过。在网上找了一下,虽然文字上说的也不难理解,但真正做起来应该难度是很大的。
所谓零知识证明,指的是示证者在证明自己身份时不泄露任何信息,验证者得不到示证者的任何私有信息,但又能有效证明对方身份的一种方法。比如:
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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7406370/viewspace-977924/