Awesome
HEIR: Homomorphic Encryption Intermediate Representation
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:
- Come to our twice-monthly meetings to discuss active work on HEIR and future project directions. The meetings are recorded and posted to our blog
- Work on an issue marked "good first issue" or browse issues labeled by topic.
- Tell us about what you'd like to use HEIR for in an offline discussion thread.
- Help us understand new FHE research: either
- Read a paper tagged under research synthesis and summarize the novel techniques that could be ported to HEIR.
- File new issues under research synthesis to alert us of papers that should be investigated and incorporated into 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.