Chapter 20. Proving properties in zero-knowledge[零知识中的证明性质]

Chapter 20.Proving properties in zero-knowledge[在零知识证明中的一些证明性质]

    在之前的章节中,(之会陆陆续续补齐)我们有已经介绍过了怎么样使用Sigma协议去构建认证和签名方案;在这些应用中,我们使用Sigma协议去作为“proofs of knowledge[知识的证明]”——主要去使用rewinding和knowledge soundness,我们即可以从任何令人信服的prover那里提取一个witness。
    在这个章节中,我们将看到如何使用Sigma协议去证明一个确切的事实是真的(但是却不揭露其他更多的信息);在应用案例中以这种方式使用Sigma协议,这个安全主要取决于宣称的事实真相,而不是关于knowledge[知识]的概念。比如说:在Chaum-Pedersen协议(section 19.5.2)中,其允许prover让verifier去相信所给定的群元素的三元组是DH三元组;这个能力对于它自己而言在构建和分析一些有意思的密码协议时,它会是一个很有用的工具。
然后主要是分为下面的几个部分说明。

接下来就开始进行具体的介绍;

20.1 Languages and existential soundness

        在这个章节中,主要是定义与有效关系(effective relation R)相关联的概念the language of true statements:这个概念仅仅是statement(对于存在相关的witness的statement)的一系列集合。之后我们还定义了对于Sigma协议的“existential soundness”的概念,这个概念意味着对于任何prover而言,去让verifier接受不真实的statement的这种做法是不可行的。(比如没有witness的prover)。这个概念与“knowledge soundness”的区别在于:在这个概念中,我们不需要任何种类的witness extractor;但是有一点我们必须知道“knowledge soundness”意味着“existential soundness”。
    接下来我会摆出很多定义。其中“language”这个术语是出自于复杂理论。
xyi
    在这章中我们会看到很多有意思的关系R和语言LR;在这里给出一个之前章节中的例子,回顾Sigma协议中Chaum-Pedersen协议,其有如下的关系:
在这里插入图片描述
在这里插入图片描述

    其中,language LR被这个关系R定义:是(u,v,w)所有的DH三元组的集合.
    现在我们定义关于“existential soundness”的概念,其适用下面的attack game定义:
在这里插入图片描述

用图描述一下上面的这个Attack Game 20.1:
在这里插入图片描述

    这其中Adversary能赢的条件也已经描述的很清楚,就是即V(y)输出accept并且y不属于LR【LR中的y都是真实的statement y】中;ESadv[A,II]在定义中也有描述。
Definition 20.2:如果对于所有有能力的攻击者A,其Sigma协议II都是“existentially sound”,则ESadv[A,II] is negligible;即攻击者不可能找到这样的一个y,并且也不能使得这个challanger作为verifier的时候输出accept;
在这里插入图片描述
    定理20.1:主要是说若这个Sigma协议若能提供“knowledge Soundness”,则其一定是“extentially Soundness”.证明简介如下:
在这里插入图片描述
    在这个定理的证明中,在上面的英文描述中其实已经很清楚了,之后的章节中会直接对那面这个定理进行引用;但是如果你对上面的这个定理还不太清楚,在接下来我还会对其进行进一步的展开描述。这里重新对Knowledge Soundness进行介绍:
在这里插入图片描述
    在清楚了Knowledge Soundness之后,对上面的定理20.1进行证明介绍:如果要证明一个Sigma协议II是“existential soundness”,只需要证明找不出这样的一个y【其是不属于真实的关系中的statement,即对于这样的y,没有witness对应】;但是如果一个Sigma协议II是"knowledge soundness"的,则所给定的y,和对于y的两个可接受的对话(t,c,z)和(t,c’,z’),即总是存在一个Ext算法可以输出其statement y所对应的witness x;
    将其逻辑反转过来,则可以很容易的知道一个事实:如果Sigma协议II是“knowledge soundness”,即不会存在statement y没有其相对应的witness x;即很明显这样证明了找不出不属于LR关系中的statement y;即其是“existentially sound”;

20.2 Proving properties on encrypted data【在加密数据上的证明性质】

     在这节中主要是给出一系列的例子去阐述“existential soundness”这个性质;这些例子以加密数据的证明性质为中心展开。
     在许多的应用中,会出现下面的场景:Alice用Bob的公钥加密m生成c;之后Alice想要向一个第三方Charlie去证明(其中这个第三方只能知道c,但不知道m),这个被加密的明文m满足一些特定的特性,但是不能向Charlie揭露关于明文m的任何信息。
    一个Sigma协议,它是“existentially sound”以及“special HVZK”能够解决这个类型的问题,但是这个协议不能完全解决这个问题;原因是:因为HVZK的性质只能在Charlie是诚实遵循验证协议的假设下,才能确保不会向Charlie泄露关于m的任何信息。
    另一种方法能解决这个问题的是使用在19.6.1节中,将交互式认证协议转变为签名的相同的想法;【之后我会补齐前面的】,这种方法将在下节中进行详细介绍;现在,我们主要去看一些有意思的、重要的案例,这些案例能展示出如何使用Sigma协议在加密数据上证明一些性质。
Example 20.1(Equal plaintexts【相同的明文】) :
在这里插入图片描述
    这个案例大概的意思就是:Alice将明文m分别用Bob的公钥u0和Bill的公钥u1加密分别生成了不同的密文(v0,e0)和(v1,e1);然后现在Alice要向Charlie去证明她向Bob和Bill发送的消息m,确实是相同的消息;我们这些案例主要是使用Sigma协议在加密数据上的一些证明。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43479839/article/details/112986815
今日推荐