零知识证明根据通信双方是否交互可以分为交互零知识证明和非交互零知识证明两种。交互式零知识证明(Interactive Zero Knowledge Proof)是指执行协议的两方(证明者P和验证者V)进行有连接的通信,一方P执行完一步协议后,对方产生应答,P再相应做出反应,以交互式应答的方式执行完整的协议。这种交互式零知识证明包括成员的零知识证明和知识的零知识证明。
1.成员的零知识证明
通俗来讲,成员的交互证明系统(P,V)是由P和V两方所执行的一个协议。证明者P试图通过执行协议,说服验证者V相信某个定理T是正确的。若T为假,即使P不遵守协议,采取任何欺骗策略,也无法说服V相信T为真。
成员的零知识证明系统的定义:设L⊂{0,1}*是一个语言,(A,B)是一个交互协议,如果(P,V)对L是一个成员的交互证明系统并且关于L是一个完全(统计、计算)零知识协议,我们说(P,V)对语言L是一个成员的安全零知识证明系统。
通常将计算零知识证明系统称为零知识证明系统,简称零知识证明。(www.daowen.com)
在零知识证明协议(P,V)中,有时要求P和V之间依次执行若干轮;有时也可要求P和V并行地一次把这些轮全部完成。前者通常称为串行协议,对应的零知识证明称为串行零知识证明;后者通常称为并行协议,对应的零知识证明称为并行零知识证明。
2.知识的零知识证明
在成员的零知识证明中,证明者向验证者泄露的消息为x∈L,但是在某些场合,要求证明系统不能泄露任何消息。例如:在大多数现有的识别技术(如IC卡、信用卡、计算机口令等)中,证明者P通过提交i(P)来证明他的身份。这样,一个与不诚实的验证者合作的攻击者就能得到i(P),从而攻击者可使用i(P)来假扮P。解决这个问题的一个方法是证明者P使用零知识证明来使验证者V相信他知道i(P),而不泄露i(P)的任何一个比特。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。