Score:2

Chaum-Pedersen protocol adapted to elliptic curves

cg flag

Is it possible to adapt the Chaum-Pedersen protocol for using elliptic curves by simply replacing the exponentiation with scalar products?

zk protocol

For example, if g is a point in the curve, then g^k is the scalar multiplication k*g as defined for elliptic curves. Would that still work?

I took the diagram from here.

Update: In the verification process, there is this: g^s * y1^c, which would be like a product of points; as far as I know, point multiplication is not typically defined for elliptic curves. What is the equivalent operation there?

Daniel S avatar
ru flag
Yes it would. Similarly for any cyclic group in which the discrete logarithm is hard.
Myria avatar
in flag
You'd need to choose the generator point $g$ carefully so that it has order $q$. Unlike what you'd do in this protocol for the multiplicative group, with elliptic curves you might as well have $q$ as close as possible to the number of points--you wouldn't choose $q$ to be quite a bit smaller than $p$. Also, you might to take care with invalid curve point attacks and subgroup confinement attacks.
gagiuntoli avatar
cg flag
Thank you, I miss that in the verification process; there is this: `g^s * y1^c`. This would be like a product of points; as far as I know, point multiplication is not defined. What is the equivalent operation there?
knaccc avatar
es flag
In additive notation, exponentiation becomes multiplication, and multiplication becomes addition. So it would be $s*G+c*Y_1$. The two operations are scalar multiplication (a point added to itself many times), and point addition.
gagiuntoli avatar
cg flag
Thanks for that; it is crystal clear and makes full sense!
Score:0
es flag

After the Fiat–Shamir heuristic is applied, the non-interactive version would be:

$Y_1=xG$ and $Y_2=xH$, where $G$ and $H$ are generator points on the curve and $x$ is a scalar.

We intend to prove discrete-log equivalence, along with knowledge of $x$.

We pick a uniformly random scalar $k$, and calculate the challenge $c=H(kG\mathbin\| kH)$, where $H()$ means to hash the input to a scalar value, and $\mathbin\|$ means concatenation.

The proof is $(c,s)$, where $s=k-cx$. This operation should be modulo the order of the group.

Verification: check $c\overset{?}{=} H(sG + cY_1\mathbin\| sH+cY_2)$

I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.