Home

Awesome

HEIR: Homomorphic Encryption Intermediate Representation

GitHub Workflow Status (with event) GitHub Contributors GitHub Discussions GitHub License OpenSSF Scorecard

An MLIR-based toolchain for homomorphic encryption compilers. Read the docs at the HEIR website.

For more information on MLIR, see the MLIR homepage.

Demo: HEIR Jupyter Playground

This is a way to start running HEIR compiler passes in a Jupyter notebook or IPython notebook without having to build the entire HEIR project from scratch.

Uses the nightly HEIR build. In this demo, we'll run locally in this github clone to access some external dependencies (e.g. Yosys).

Usage

Load Jupyter in the scripts/jupyter notebook:

cd scripts/jupyter
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
jupyter notebook

The demo is in Demo.ipynb.

Then connect to your Jupyter runtime and start executing the demo!

Contributing

There are many ways to contribute to HEIR:

Citations

The HEIR project can be cited in in academic work through following entry:

@Misc{HEIR,
  title={{HEIR: Homomorphic Encryption Intermediate Representation}},
  author={HEIR Contributors},
  year={2023},
  note={\url{https://github.com/google/heir}},
}

Support disclaimer

This is not an officially supported Google product.