Schnorr的识别协议被认为是一种诚实的验证零知识协议。这是否意味着,如果验证者是不诚实的,它将不起作用?我在想,如果是这样的话,那就意味着诚实的证明者总是会被行为不当的验证者拒绝授权。
发布于 2015-02-23 19:08:13
不,不是这样的。我们不能保证一个诚实的证明者被一个不诚实的验证者所验证(他们总是可以撒谎说“不,你失败了”),但是他们很可能得到不诚实的验证者的授权(除了为每个人撒谎和说“你通过了”之外,如果对他们有利的话,他们也可以像诚实的验证者那样行事。)一个不诚实的验证者通常可以做任何事情,所以不可能说出这个验证者是否会被他们验证。此外,最有可能的不诚实验证者(似乎是遵循协议的人,以至于看到消息的第三方不知道他们不诚实)将始终对诚实的验证者进行身份验证。
“诚实的验证者”指的不是认证位,而是零知识。我们不能阻止一个不诚实的验证者拒绝验证一个诚实的证明者;然而,我们也许能够阻止他们了解这个秘密。对于随机选择挑战的诚实验证者,我们可以证明诚实的验证者不可能学习任何关于秘密的知识。但是这个证明并不适用于一个非常谨慎地选择挑战的验证者;没有任何已知的证据证明他们不能了解这个秘密(其他协议有证据证明一个作弊的验证者什么都学不到,但Schnorr没有)。这并不意味着我们知道他们可以学到什么;我们不知道这样或那样的方法。
发布于 2015-02-24 15:16:23
在这种情况下,如果协议参与者遵循协议,则可以将其命名为诚实的协议参与者。诚实验证意味着他随机挑选他的挑战,如指定的,所以模拟文字记录将无法区别于一个真实的。任何(意思是不诚实的)验证者都会将他的挑战计算为散列,所以他无法模拟任何这样的文字记录,从而没有零的知识属性。
https://crypto.stackexchange.com/questions/24066
复制相似问题