$P(x) = \sum_{i=0}^{d} a_i \cdot X^i$

同态加法

同态加法满足一下3个性质

  1. 对于大部分的 x,在给给定 E(x) 的情况下很难求解出 x
  2. 不同输入会得到不同的输出,if x ≠ y, then E(x) ≠ E(y)
  3. 如果某人知道 E(x) and E(y),则他可以计算出 E(x+y)

如果 A 有两个数字 x、y,他需要向 B 证明数字之和是 z,那么需要一下步骤:

  1. A 计算出 E(x), E(y) 并发送给 B
  2. B 通过A 发来的 E(x) E(y) 计算出 E(x+y)
  3. B 计算出 E(z) and assert E(z) == E(x+y)

椭圆曲线运算

基于椭圆曲线的算法 RSA、ECC 都支持同态加法运算,具体原理参考这个讲解:

https://www.bilibili.com/video/BV1BY411M74G

同态加法拓展到多项式