作者:资讯 / 来源:PlatON
导语:本课堂用通俗易懂的系列内容为大家呈现区块链与密码学领域相关知识。这里有知识也有故事,从感兴趣到有乐趣,全民课堂等你来学。
这个系列中的课程内容首先从区块链伊始着手进行入门介绍,再延伸至区块链的相关技术原理与发展趋势,然后深入浅出地依次介绍在区块链中应用的各类密码学技术。欢迎大家订阅本公众号,持续进行学习。
【本课堂内容全部选编自 PlatON 首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】
10-3
零知识证明
零知识证明系统是交互证明系统的一个实例。
零知识证明系统所要完成的任务是「证明某一个事实并且不泄露知识」。
简而言之,零知识证明是一个两方参与的交互协议,其中证明者向验证者证明某一个断言的正确性,并且满足以下三个条件:
-
正确性 -即若断言为真,则验证者总是接受证明;
-
可靠性 -即若断言为假,则验证者总是拒绝证明;
-
零知识 -即验证者无法从该证明过程中获取额外的信息。
零知识证明系统自身所具有的保密性和认证性正是密码学所追求的基本安全属性。
对于语言,以及一对交互图灵机,其中 P 拥有无限的计算能力,称为证明者,为概率多项式时间的验证者。
称为语言 L 的零知识交互证明系统,如果满足以下条件:
完备性 (Completeness):对于任何公共输入
≤
可靠性 (Soundness):对于任意公共输入和任意无限计算能力的证明者
≥
零知识 (Zero-knowledge):对任意概率多项式时间验证者,都存在一个概率多项式时间的模拟器,使得任意的,
≈
其中,为一个可忽略函数,表示计算不可区分。
** 可靠性的两种形式**
可靠性能够防止验证者相信不诚实的证明者()。
根据不诚实证明者的敌手能力,可分为:
计算可靠性(Computational zero-knowledge)
如果,对任意的无限计算能力的,验证者接受的概率不大于 1/3。对应的是交互论证系统。
统计可靠性(Statistical zero-knowledge)
如果,对任意的多项式时间计算能力的,验证者接受的概率不大于 1/3。对应的是交互证明系统。
** 零知识性的三种形式**
零知识性能够防止证明者向验证者泄露不必要的信息。
根据模拟器的输出分布与真实协议的输出分布之间的关系,可分为:
计算零知识性(Computational zero-knowledge)
两个分布是计算不可区分的,即没有有效的算法能够区分两个分布。
统计零知识性(Statistical zero-knowledge)
两个分布是统计不可区分的,即它们的统计距离是可忽略的。
完美零知识性(Perfect zero-knowledge)
两个分布是同分布的。
今天的课程就到这里啦,下节课我们将开始学习经典交互式零知识证明,敬请期待!
同学们可以关注 PlatON 公众号,持续学习哦。我们下节课见啦。