根据维基,如果通过哈希函数计算挑战c,则有可能实现离散对数的非交互式零知识证明。但是c的目的是什么呢?为什么我不能总是设置c=1?这会使系统变得脆弱吗?
发布于 2021-07-13 14:52:58
这会使系统变得脆弱吗?
是的;如果验证者事先知道将要使用的c的值,则验证程序可以很容易地发出一个证据(即使她不知道离散日志)。
为了证明y的离散日志知识到基本g,验证器发送值r和t,验证器检查是否t \equiv g^r y^c;如果验证器选择了任意r并计算了t = g^r y^c,并发送这些值,则此检查将验证。
在真正的非交互协议中,这是不起作用的,因为c是t的一个复杂函数,因此她不能任意选择t而不影响值c。
https://crypto.stackexchange.com/questions/92053
复制相似问题