密码学主要关注安全通信,包括隐藏对手的信息和个人身份验证。
哈希,非对称加密和对称加密经常一起使用,以实现安全的通信。在流行的密码系统中,像PGP,OTR和VPN,经常使用不同的算法,包括:
- 散列函数使我们能够方便地识别文件,文本和密钥
- 非对称加密功能可以安全地在不安全的通道上交换加密密钥
- 对称加密功能有效地加密大量的数据
- 密钥交换功能可以在不安全的通道上安全地协商加密密钥
零知识证明是用来证明你知道某事而不透露它是什么的加密方案。例如,您可以毫无疑问地显示您知道拼图的答案,而没有真正公开解决方案。
零知识证明还是比较新的,最近才在加密货币中找到了一个常见的用例。
互动的零知识证明
互动的零知识证明需要个人(或计算机系统)之间的相互作用,证明他们的知识和验证证明的个人。
该系统为零知识证明创造了一个额外的有趣特征:您不仅可以证明自己知道的东西,而不会泄露您所知道的内容,但是您也只是向与之交互的个人揭示它。只是观察你的人将无法验证你的说法。
虽然这对于增加隐私是有好处的,但是当试图向多个人证明某些东西时,它也会带来相当大的额外的努力和成本。
零知识证明如何工作
情况:
设想一种无臭,无味,无色的有毒液体,看起来和感觉完全像水。如果有人把这个玻璃放在一个完全相同的玻璃杯旁边呢?你们没有办法区分两种液体。事实上,你甚至可能不知道他们彼此不同。
索赔:
有人声称,他们有一个非凡的视野,让他们分开两个眼镜。但是他们不想告诉你哪个是哪个。你怎么能证实自己的主张,却不知道哪个玻璃杯是毒药,哪个是水?
证据:
你(验证者)将声称分开两眼的人(证明人)蒙上眼睛,并随机决定是否切换眼镜。在取下眼罩之后,请问证明者眼镜是否改变了位置。
如果他们真的可以很容易地分辨两种液体,他们将能够告诉你,如果他们切换的地方。否则,他们将有50%的机会出错。
如果你重复这个实验,那么证明者(如果他们只是猜测的话)将会有75%的错误率。
经过10次重复的测试,如果证明者每次都是正确的,那么他们已经有99.9%的机会没有猜测了,很可能他们确实有办法区分这两个眼镜。重复测试n次后:
1 - 0.5 ^ n * 100%
当然,我们这里的例子有一些实际的弱点。他们可能是安装摄像头或运动传感器,但在抽象的数学世界,我们可以肯定。
为什么要零知识证明工作
你,验证者现在可以确信99.9%的确信对方确实有办法识别眼镜,尽管你还不知道哪个玻璃杯充满毒素,哪个玻璃杯里充满了水。
然而,观察你和证明者的人并不相信。理论上,核查人员和证明人可以相互勾结,并以预定的动作进行表演。