首页 > 代码库 > 密码学之《零知识证明》
密码学之《零知识证明》
零知识证明是什么?
假设我们知道某些秘密信息,如果我们想让别人相信我们知道这些秘密信息,同时还不想让别人知道这些秘密信息,则我们可以用零知识证明来向被人证明我们知道这些密码信息。
从程序猿的角度来看,就相当于我掌握了一个很酷炫的算法,可以计算什么东西,我不想告诉你具体的算法,但是还想让你炫耀。于是让你给我一组数字,我用这个函数做计算之后,把结果告诉你,多次下来,如果我每次都能正确快速的计算,那证明我是有一个很炫的算法的,在证明过程中,你对算法的具体内容完全没有了解。
为了说明,零知识证明,有两个人举了个灰常形象的例子----《零知识洞穴》
C和D之间有一道门,只有咒语能打开。假设P知道咒语,P想向V证明自己知道咒语,但又不想泄露咒语。如下为证明协议:
1. V停留在A,P走到B,然后在左通道和右通道任选一个进入。。
2. V走到B,然后向P下命令说,从左通道(右通道)出来。
3. P收到命令,从对应通道走出去,必要时用咒语开门。
4. 重复以上步骤多次。
如果重复次数很多 ,且P每次都能按照V的要求从洞穴深处返回B,则V就可以相信P知道咒语。
介个就是零知识洞穴。
密码学之《零知识证明》
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。