perfaram / elgamal

Implementation of additive homomorphic ElGamal using the Ristretto group over Curve25519

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

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.
  • ZK proof of plaintext equality

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.

About

Implementation of additive homomorphic ElGamal using the Ristretto group over Curve25519

License:MIT License


Languages

Language:Rust 98.0%Language:HTML 2.0%