在标准海绵结构中,r
比特在每个吸收步骤中被消耗,并与c
容量比特连接。在第一轮中,容量位是0,所以r
输入位只是得到零扩展。我们能否在第一轮中使用r + c
位,同时维护随机海绵的安全属性?
从直觉上看,在第一步中,容量位似乎没有用,因为上一轮中没有需要传播的状态。不过,我的直觉可能是错的。
如果它是有效的,这个优化将在SNARK编程中特别有用。例如,如果我们将两个字段元素压缩为一个字段元素,这将允许我们使用两个字段元素而不是三个字段元素的状态宽度。
发布于 2020-04-08 01:59:37
其实你不能也不应该这样做!容量位影响海绵结构的安全性,不应直接读写!如果这样做,假设攻击者没有对容量位的直接控制,海绵结构的安全性证明将不再有效。
https://crypto.stackexchange.com/questions/79769
复制