Module curdleproofs::commitments
source · [−]Expand description
GroupCommitment commitment scheme
We implement the following commitment scheme which allows us to commit to a group element $T$:
$GroupCommitment( (G_T, H); \ T; \ r_T) = com_T = (com_{T,1}, com_{T,2}) = ( r_T G_T, \ T + r_T H)$
This commitment scheme is statistically binding and hiding under the DDH assumption. It is also equipped with a homomorphism such that
\[ \begin{align*} & GroupCommitment( (G_T, H); \ A; \ r_{A}) + GroupCommit( (G_T, H); \ B; \ r_{B}) \\ & \hspace{8cm} = GroupCommitment( (G_T, H); \ A + B; \ r_{A} + r_{B}) \\ & \hspace{8cm} = ( (r_A + r_B) G_T, \ (A + B) + (r_A + r_B) H) \end{align*} \]
It is based on the ElGamal encryption scheme.
Structs
A GroupCommitment object