#elgamal #encryption-decryption #private-key #additive-homomorphic

no-std elgamal_ristretto

A pure-Rust implementation of ElGamal encryption using the Ristretto group over Curve25519

7 releases

0.2.3 Feb 20, 2020
0.2.2 Feb 20, 2020
0.1.3 Jan 15, 2020
0.1.2 Nov 27, 2019

#6 in #elgamal

29 downloads per month
Used in 2 crates

MIT license

40KB
678 lines

crates.io

ElGamal

Efficient pure-Rust library for the ElGamal additive homomorphic encryption scheme using the Ristretto primer order group using the ristretto255 implementation in [curve25519-dalek][curve-dalek].

This library provides implementations of:

  • Additively Homomorphic ElGamal Encryption and decryption.
  • Zero Knowledge Proofs using the toolkit for proof generation zkp supporting proof generation and verification of correct encryption, correct decryption and knowledge of private key.
  • EdDSA generation and verification.

Important: while we have followed recommendations regarding the scheme itself, this library should currently be seen as an experimental implementation. In particular, no particular efforts have so far been made to harden it against non-cryptographic attacks, including side-channel attacks.

Dependencies

~4–5MB
~98K SLoC