Skip to content

afDursun/HelBench

Repository files navigation

Helbench

HelBench

License: MIT Python 3 C++17 CMake

Benchmark framework for Fully Homomorphic Encryption (FHE) libraries. Compare SEAL, OpenFHE, and HElib on BFV, BGV, and CKKS schemes with consistent parameters.

Quick Start

git clone --recurse-submodules https://github.com/afDursun/HelBench
cd helbench

pip install -r requirements.txt

cd external/SEAL && cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build && cd ../..
cd external/OpenFHE && cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build && cd ../..

./run_all.sh

Results: results/raw/, results/summary/, results/figures/

Requirements

  • C++17, CMake 3.13+
  • Python 3 (pandas, matplotlib, numpy)
  • HElib: system install (find_package(helib))

Usage

Command Description
./run_all.sh or make all Full pipeline: benchmarks + analysis + figures
make benchmark Run benchmarks only
make analyze Statistical analysis (requires existing CSV)
make figures Generate figures only

Project Layout

Path Description
common/params.json Single config source; edit here to change parameters
benchmarks/{seal,openfhe,helib}/ Per-library benchmarks
scripts/ Python: params generation, analysis, visualization
results/raw/ Raw CSV outputs
results/summary/ Aggregated tables
results/figures/ Plots

Configuration

Edit common/params.json for degrees (N), repeats, plain modulus, etc. The C++ side uses params.h, generated from params.json when you run benchmarks.

License

MIT License. See LICENSE.

About

A Benchmarking Framework for Fully Homomorphic Encryption Libraries

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors