I am trying to implement Efficient Robust Private Set Intersection using additive ElGamal.
I am trying to run the full protocol mentioned in Section 3.4 on the following inputs:
- $p = 17$ (prime)
- $g = 6$ (generator)
- $x = 5$ (private key)
- $k = g^x \pmod p = 6^5 \pmod{17} = 7$ (public key)
Suppose the clients inputs are 1, 2. Then $P(x) = (x-1)(x-2) = x^2-3x+2$, and therefore the coeffiecients to encrypt are $(1, -3, 2)$. I chose $y = 10$ and so the encrypted values are:
- $1$ becomes $(15,12)$
- $-3$ becomes $(15, 1)$
- $2$ becomes $(15, 4)$.
The Server Side Input Set $S=\{1\}$ and the random value $r0$ corresponding to $\{1\}$ is $r_0=2$.
With the above problem in context, I have some questions:
What does
P 0,j
refer to in Step 7. Can you please give an example?In Step 8, suddenly variable
i
is introduced along withj
. What doesi, j
, refer to?In Step 8,
ENC()
function has a;
in between. How do we interpretENC(a;b)
?