尬聊区块链区块链研习社区块链研究

隔墙有耳?不存在的——简述“零知识证明”机制

2018-04-04  本文已影响25人  烈火坚冰

零知识证明能在证明者不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。

也就是说,我们可以在不暴露任何隐私的情况下达成我们的目的。比如说,我要向警察叔叔证明我有能力开车,我不用拿出我的驾照,因为驾照上有我的隐私信息,我的照片、年龄、身份证号、驾照办理日期、有效期,这些信息其实与我有没有能力开车没有关系。在区块链中,通过全网验证,只需输出一个令人信服的结果,即“我有能力开车”,而无需泄露任何隐私信息

那么,如果我需要授权某人获取我的某些信息呢?该如何处理?如何在既保护我的隐私不被其他未授权的人获取的前提下,点对点地提供给授权的人呢?而且授权的人只能看到我允许他看到的信息范围。

这里就要提到两种加密算法:对称加密算法非对称加密算法

对称加密算法是在加密和解密时使用的是同一个密钥。

非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(简称公钥)私有密钥(简称私钥)

同一组公钥与私钥是天生一对,若用公钥对数据进行加密,只有用对应的私钥才能解密。反之,若用私钥对数据进行加密,那只有用对应的公钥才能解密。

就如同字面意思一样,由于加密与解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

举个例子,B要向A传递一条秘密信息。

A的手里有一把私钥一把公钥。

于是:

A把公钥给了B。

得到A的公钥的B使用这个公钥对机密信息进行了加密,然后再发送给A。

A再用他自己手中保存的另一把私钥对加密以后的信息进行解密。这其中,A只能用他的私钥进行解密(由对应公钥加密的信息)。

这样一来,在信息的传输过程中,即使信息被人拦截,并且他得到了A的公钥,也无法将其,因为公钥和私钥是一对的,由A的公钥加密的信息,只有用A的私钥才能解密。

反过来,如果A要回复机密信息给B,那么需要B先公布B的公钥给A用于加密,A用B的公钥对机密信息进行加密,而B用自己保存的私钥解密。

显然,我们可以看出,非对称加密与对称加密相比,安全性更好。

非对称加密的缺点是加密和解密花费时间长、速度略慢。

在数字货币的交易中,可以通过私钥来对文本进行签名。同时向全网广播你的公钥。而别人拿到了你的公钥就可以对文本的签名进行解密,若可以解密,即认证你拥有私钥。这样就能证明你拥有存款。这也是比特币的加密算法之一。


喜欢作者,欢迎来撩,我们是一群痴迷于区块链的怪大叔。

文| 怪大叔(个人微信:xuemei_prince)

微信公众号:怪大叔尬聊区块链

上一篇下一篇

猜你喜欢

热点阅读