This repository contains revoLUT, a Rust library that reimagines TFHE's Look-Up Tables (LUTs) in the context of homomorphic encryption. The LUTs are using as a first-class object to implement some data-oblivious algorithms.
The paper related to this repository is available here (it hasn't been published yet but it was accepted as a poster at FHE.org 2025).
Warning: The library is currently under development and refactoring. However, here what we can do to start playing with the library.
There are few examples in the folder examples that can be run by using the following command:
cargo run --example EXAMPLE_NAMEwhere EXAMPLE_NAME is the name of the example file without the .rs extension.
For the moment, the main function generate the private key files for the different parameters and save them in files named PrivateKey<param_name>.toml.
cargo run --releaseSeveral tests are present in the lib.rs file. To run them, use the following command:
cargo test --release TEST_NAME -- --nocaptureSome benchmarks are present in the benches folder, especially for the different sorting algorithms. To run them, use the following command:
cargo bench --bench BENCH_NAME