Skip to content

auryn-macmillan/fhe-workshop

FHE Workshop

CI

This repository contains a simple secret ballot implementation using Fully Homomorphic Encryption (FHE) to tally encrypted votes and only decrypt the output. It leverages fhe.rs and is intended as a simple and practical demonstration developing an FHE application.

This code was originally written for a workshop at FHE Summit 2024, in Brussels. As such, you'll find extensive comments in main.rs which served as a script for the workshop and give a high-level overview of FHE, what the various parameters mean, and each of the phases of the computation.

Note: while the encryption scheme used in this repo, Brakerski/Fan-Vercauteren (BFV), is fully homomorphic, the secret ballot implementation only performs additions on the ciphertext inputs, so it it not a true demonstration of the fully homomorphic properties of the scheme.

Usage

  1. Install the Rust toolchain to have cargo installed by following this guide.

  2. Clone this repo

    git clone https://github.com/auryn-macmillan/fhe-workshop.git

    cd fhe-workshop

  3. Run run the application

    cargo run

License

This project is licensed under either of the following, at your choice:

Contributing

Contributions are welcome! Please see our contribution guide for details.

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages