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