46、高效知识零知识证明全解析

高效知识零知识证明全解析

1. Σ协议基础

Σ协议在密码学的知识证明领域扮演着关键角色。我们先从基础的Σ协议说起,其目的是让证明者A向验证者B证明自己知道x∈G的一个f原像w。具体步骤如下:
1. 第一步 :A从集合H中随机选取一个元素p,计算a = f(p)并发送给B。
2. 第二步 :B从集合{0, …, q - 1}中随机选取一个挑战值c,并将其发送给A。
3. 第三步 :A计算z = pw^c并发送给B,B则验证f(z)是否等于a x^c(这些计算都在群G中进行)。

这个基础协议实际上是Guillou/Quisquater的RSA协议和Schnorr的离散对数协议的推广。它满足完整性、特殊稳健性和特殊诚实验证者零知识(special HVZK),知识误差为1/q。

接下来,我们需要为承诺关系设计一个Σ协议。即A要证明自己知道(x, m)对应的(e, s),使得f(s)x^(-e) = m。具体步骤如下:
1. 第一步 :A从集合H中随机选取ρ,从集合{0, …, q - 1}中随机选取σ,计算a = f(ρ)x^σ并发送给B。
2. 第二步 :B从集合{0, …, q - 1}中随机选取挑战值c并发送给A。
3. 第三步 :A需要找到z1∈H和z2∈{0, …, q - 1},使得f(z1)x^z2 = a m^c。A首先计算满足f(˜w) = x^q的˜w,以及整数0 ≤ α <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值