3 releases
0.0.12 | Nov 5, 2023 |
---|---|
0.0.11 | Aug 22, 2023 |
0.0.10 | Jul 27, 2023 |
#49 in #zkp
210KB
5K
SLoC
ElGamal Encryption
This crate provides additive homomorphic ElGamal encryption over jubjub curve and also supports fully no_std
and parity-scale-codec
.
Specification
Alice has balance $a$ and public key $b$.
She generates the randomness $r$ and computes encrypted balance $(g^r, g^a * b^r)$.
When Bob transfers $c$ to Alice, he generates the randomness $r'$ and computes encrypted transfer amount $(g^{r'}, g^c * b^{r'})$.
The sum of encrypted balance and transfer amount is folloing.
$$ (g^{r + r'}, g^{a + c} * b^{r + r'}) $$
Test
$ cargo test
Dependencies
~2.7–3.5MB
~73K SLoC