Goldreich等人的证明,三种可着色性为零的知识证明,在每一回合中对图形的整个着色都使用位承诺[1]。如果图具有个顶点和边,则安全散列具有位,并且我们寻求错误概率,则总通信成本为Ë b p
超过回合。使用逐渐显示的梅克尔树,可以将总通信量减少为,但代价是增加回合数到。ø (b Ë 日志Ñ 日志(1 / p ))ø (登录Ñ )
无论是在整体交流还是在回合数量上,是否都可以做得更好?
编辑:感谢Ricky Demer指出的缺失因子。
Goldreich等人的证明,三种可着色性为零的知识证明,在每一回合中对图形的整个着色都使用位承诺[1]。如果图具有个顶点和边,则安全散列具有位,并且我们寻求错误概率,则总通信成本为Ë b p
超过回合。使用逐渐显示的梅克尔树,可以将总通信量减少为,但代价是增加回合数到。ø (b Ë 日志Ñ 日志(1 / p ))ø (登录Ñ )
无论是在整体交流还是在回合数量上,是否都可以做得更好?
编辑:感谢Ricky Demer指出的缺失因子。
Answers:
所以这是适合我的论文:
乔·基利安(Joe Kilian),“关于有效的零知识证明和论点的注释。” http://people.csail.mit.edu/vinodv/6892-Fall2013/efficientargs.pdf
为了获得最强的结果,我们需要接受零知识论据而不是证明(以计算为界的证明者);这些是我感兴趣但不知道的术语。
假设有足够的密码学假设,对于,本文给出了总通信量为零知识论据。c = O (1 )
Ishai等人在“关于有效的零知识PCP”(http://www.cs.virginia.edu/~mohammad/files/papers/13%20ZKPCPs.pdf将此结果收紧到轮。
更新:此答案已被我的其他答案淘汰,并带有来自适当引用的完全对数界限。
再次考虑,不需要逐渐显示Merkle树,因此较低的通信版本不需要额外的回合。沟通步骤是
这样可以在O (1 )轮内进行通信。
更新: 这是Merkle树构造的详细信息。为简单起见,通过添加一些断开的节点(这些不会影响三个可着色性或零知识),将图形扩展为正好具有顶点。假设一个安全的散列函数采用任意大小的输入并产生b位输出。对于每个树梅克尔,证明者选择2个一个+ 1 - 1随机b比特随机数,一个用于二进制树的每个叶和非叶。在叶子处,我们对与随机数连接的颜色进行散列以产生叶子的值。在每个非叶子上,我们将两个子值与该noleaf的nonce进行哈希运算以产生nonleaf的值。
在第一轮中,证明者仅发送根值,由于根值与根的现时进行了散列,因此证明者不提供任何信息。在第三轮中,不会传递有关二叉树中任何未扩展节点的信息,因为该节点在该节点处被随机数散列。在这里,我假设证明者和验证者都在计算上受限制并且不能破坏哈希。
编辑:感谢Ricky Demer指出的缺失因子。
(这不适合发表评论。)
我想我现在看到如何显示您的加盐不一定提供
诚实验证者零知识。令为安全哈希。如果我们知道
这已经能够处理任意长度的输入,然后让^ h 1等于H ^ 0,
否则让^ h 1是应用了Merkle-Damgard结构到的结果^ h 0。
(请注意| |表示串联。)
令使得
对于所有3位字符串x和z,对于所有
位字符串,
对于字符串m使得
,
有。
和
对于所有3比特串,对于所有的盐ř,对于用r盐化x所得的字符串如果是
形式的不高于寻址然后
。
并且
对于所有的字符串是既不的这两种形式,
ħ 2(米)
[ b
。
。
因为在每种情况下都涉及相同的位置,所以H 2中的任何碰撞也是H 1中的碰撞。通过Merkle-Damgard的安全性,可以将任何碰撞有效地转换
为H 0中的碰撞。
因此,如果耐碰撞,则H 2耐碰撞。
但是,如果顶点数是2的幂,则通过检查
根哈希的每一端的3位
,可以确定初始
顶点和
最终顶点是否接收到相同颜色的错误概率小于1 /(2 (b - 1 ))。