提问人:Orny 提问时间:11/8/2023 最后编辑:Orny 更新时间:11/12/2023 访问量:22
Circom 电路中的对手可以改变不受约束的公共信号吗?
Can a non-constrained public signal be changed by an adversary in a Circom circuit?
问:
我有一个电路来验证证明器是否具有哈希的前映像,并且我想另外提交一些额外的数据。
有点像签名方案,其中私钥是前映像,公钥是哈希值,我想对一些消息进行签名。
将消息作为不受约束的公共信号发送到电路是否安全? (电路将验证我是否拥有哈希的前映像,其中前映像是私有信号,哈希是公共信号)
或者,攻击者可以接受我的证明并将消息(公共信号)交换为他们想要的任何值,因为它是不受约束的?
答:
0赞
Orny
11/12/2023
#1
看起来如果我添加一个中间信号来平方公共信号,它会使其不可篡改
正如您在信号量电路中看到的那样:
// Dummy square to prevent tampering signalHash.
signal signalHashSquared;
signalHashSquared <== signalHash * signalHash;
https://github.com/semaphore-protocol/semaphore/blob/main/packages/circuits/semaphore.circom#L83
评论