我对密码学很陌生,我试图熟悉ZKsnarks。下面是这个博客上的一个解释:https://blog.z.cash/snark-explain/在页面中间从$E(x) = g^x$到达$E(x+y)$ = $E(x) \cdot (y)$,这听起来不对,因为我们通常有:
$$ \bmod n=$bmod$
因此,上述公式应是:
$$E(x+y) = \bmod p$
RSA的乘法性也是如此。你能告诉我我错过了什么吗?
发布于 2018-02-13 17:02:15
你能告诉我我错过了什么吗?
通常,当我们编写$a \乘b$时,运算符$\times$不一定是对整数(或reals或复数)的乘法。相反,在某种程度上类似于我们在小学时学到的更常见的乘法运算,往往是一些群/环/场运算。
这正是这里发生的事。在这种情况下,元素$a,b$ (或在本例中是$E(x),E(y)$)被理解为组$\mathbb{Z}^*_p$中的元素,因此乘法是在该组中完成的。这个乘法可以通过执行一个标准整数乘法来实现,然后接受结果模$p$;显式地写出结果就会得到结果。
那么,为什么我们要做这么短的手呢?我们懒吗?嗯,部分地,是的,我们没有理由把这些方程和那些被充分理解的东西弄乱。另一方面,有时我们处理一些事情,例如扩展字段或椭圆曲线组,它们没有这样简单的“做一个正常的加法/乘法,然后把事情修好”的方法来查看事物;试图在‘小学认可的符号’中显式地写出东西是很棘手的.
https://crypto.stackexchange.com/questions/55607
复制相似问题