Crates.io | she-elgamal |
lib.rs | she-elgamal |
version | 0.0.12 |
source | src |
created_at | 2023-07-27 07:00:02.308982 |
updated_at | 2023-11-05 03:21:41.002189 |
description | lifted elgamal encryption implementation |
homepage | https://github.com/KogarashiNetwork/Kogarashi/ |
repository | https://github.com/KogarashiNetwork/Kogarashi/ |
max_upload_size | |
id | 927168 |
size | 15,302 |
This crate provides additive homomorphic ElGamal encryption over jubjub curve and also supports fully no_std
and parity-scale-codec
.
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'}) $$
$ cargo test