Chapter 19 .Identification and signatures from sigma protocols【基于sigma协议的身份认证和签名】

Chapter 19 .Identification and signatures from sigma protocols【基于sigma协议的身份认证和签名】

    在这个章节当中,主要的内容包括如下节:

19.1 Schnorr’s identification protocol

19.2 From identification protocols to signatures

19.4 Sigma protocols:basic definition

    在目前来说,因为Sigma协议在我的后续博客中,出现的次数最多,所以先补这一小节的内容,虽然这部分内容是很简单的。
    这里值得注意的是Schnorr的认证协议是Sigma协议中的一个有用的协议,是Sigma协议中的特例。接下来会陆陆续续给出Sigma协议的定义:
Definition 19.2 :Effective relation
在这里插入图片描述
    其中这个上面关于(x,y):y是statement;而x是相对于y的witness;因为我是直接读的英文的书籍,所以在这个地方的翻译,我怕造成什么误解,所以对statement和witness就不做过多的翻译;但是其实理解起来也挺容易的,witness-statement:证人-证词;witness-statement:见证-陈述;这俩种翻译是我目前看到的,但是我觉得还是直接用英文的代替也不会有很大的偏差。
Definition 19.3:Sigma protocol【对Sigma协议语法的定义】
在这里插入图片描述
下图是关于Sigma协议的执行:
在这里插入图片描述
其中有一个值得注意的概率是:如果V输出accept的时候,我们称对话(t,c,z)对于y来说是an accepting conversation【即可接受的对话】;
Definition 19.4:Knowledge soundness
在这里插入图片描述
Definition 19.5:Special HVZK:关于这个HVZK特殊的地方:1、这个模拟器simulator将challenge c作为另一个输入,2、就是这个模拟器在statement y 没有其witness x的时候,仍然能产生一个可接受的对话(an accepting conversation)。这就是这个special的地方。
在这里插入图片描述

19.5 Sigma protocols:examples

在这个小节中会展示列举Sigma协议中的一些例子:

19.5.1 Okamoto’s protocol for representation

关于该协议中一些符号的解释:
在这里插入图片描述
在Okamoto的协议中所体现的Sigma协议的关系如下:在这例子中可以看到,每个statement都对应许多的witness;
在这里插入图片描述
这个协议在(P,V)之间的执行过程如下:
在这里插入图片描述
在这里插入图片描述
之后就是基于Okamoto的一个定理的证明,与之前提到的“knowledge soundness”以及“special HVZK”有关,在书上的证明,以及写的很清楚,如下图:
在这里插入图片描述
但是,其实我建议应该自己把这整个过程自己在草稿纸上重复一遍,因为这样子才能更好的理解它们,也顺便加深印象;下面是我自己验算的过程,之后的协议不在给出我的验算过程。其中在Special HVZK中,去构建一个Simulator的过程,其实很简单,只需要根据原本的对话顺序进行反推即可。

在这里插入图片描述

19.5.2 the Chaum-pedersen protocol for DH-triples

在这个协议中是利用Diffie-Hellman中的三元组来构建的,在下面有写,其中在Chaum-Pedersen中给出等价的三元组,如下:值得注意的是一个statement只有一个对应的witness,当且仅当是一个DH三元组。
在这里插入图片描述
Chaum-Pedersen协议在(P,V)之间的运行过程:
在这里插入图片描述
和上面一样,出现一个需要证明的定义Theorem 19.10
在这里插入图片描述

19.5.3 A sigma protocol for arbitrary linear relations【基于任意线性关系的sigma协议】

其实之前所介绍过的不管是Schnorr、Okamoto、还是Chaum-Pedersen协议,这些都是线性关系的真实例子,但是这样的例子是由很多的,所以需要给出一种抽象的概念,即基于任意线性关系的sigma协议。
在介绍这个线性关系之前,给出一个formulas:
在这里插入图片描述
然后给出在Sigma协议中的relation:
在这里插入图片描述
下面介绍为什么将其称为线性关系的集合,是因为如果我们能将离散对数问题写成下面的一系列的线性等式,并且在其中这个formulas的witness,就是最后在协议中,Verifier那方所验证成功之后可以得到的解。
在这里插入图片描述
在这里插入图片描述
在这里也再一次放Okamoto协议,让读者有更明显的对照:
在这里插入图片描述

19.5.4 A Sigma protocol for pre-image of a homomorphism【对于同态原像的Sigma协议】

到目前为止我们介绍的Sigma协议,我们能够使用群同态的语言来将其描述的更加清晰和简介。所以这里介绍几个之后会用到的概念,
1、finite abelian group:有限的交换群(或有限的阿贝尔群)
List item
2、群同态
在这里插入图片描述
其中值得注意的是:在H1上面是加同态,在H2上面是乘同态
在这里插入图片描述
在这个协议中,允许prover去让verifier相信它知道u的原像α在函数φ下,Sigma协议上的relation:
在这里插入图片描述
在这里插入图片描述
而对于加同态和乘同态不了解的,可以看下面的图片,这是摘录自https://blog.csdn.net/mutourend/article/details/92830901这篇博客,我觉得解释的还比较容易懂。
在这里插入图片描述
而对于全同态和半同态的区别:摘录自https://www.zhihu.com/question/399194372
在这里插入图片描述

19.6 Identification and signatures from Sigma

19.7 Combining Sigma protocols:AND and OR proofs

19.8 Witness independence and applications

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值