FHE Compilers: Bridging Theory and Real-World Applications
In our last blog post we reviewed how libraries serve as ready-made cryptographic building blocks. In this blog, we’ll review compilers (or transpilers) that help transform code into programs that can run securely on encrypted data. Libraries and compilers bridge the gap between theory and real-world application.
Writing efficient FHE programs by hand is complex. Developers must manage encryption parameters, ciphertext noise growth, and other cryptographic details that require specialized expertise. FHE compilers and transpilers bridge this gap by translating code or domain-specific descriptions into efficient FHE implementations.
These tools handle tasks like noise management, parameter selection, and insertion of encryption-specific operations, making FHE more accessible and practical for non-experts. This lowers the barrier to adopting FHE, enabling use cases where developers can write programs that run on encrypted inputs with minimal cryptographic know-how.
HEIR
HEIR (Homomorphic Encryption Intermediate Representation) is Google’s next-gen FHE compiler framework built on MLIR. It aims to unify established techniques in FHE, automating low-level cryptographic concerns, providing modular frontends and backends.
HEIR makes it easy for developers to get started with FHE by letting them write Python programs and simply mark secret data types. It offers hardware designers flexible integration points for targeting accelerators at different levels of abstraction. For researchers, HEIR provides a ready-made compiler infrastructure with standard optimizations, benchmarks and examples.
Key Features: HEIR compiles programs to encrypted equivalents, supports modern FHE schemes, and supports code generation for standard FHE libraries (Lattigo, OpenFHE) and hardware accelerators (GPU, TPU, FPGA and ASICs). HEIR supports frontends like Python and Torch.
HEIR was last updated in 2025, including Python Frontend, new schemes, improved noise modelling, parameter selection and more.
Concrete
Concrete is an open-source FHE compiler developed by Zama. It is built on TFHE technology and leverages LLVM, making FHE programming accessible to developers without deep cryptography expertise.
For example, a Python developer can write a function f(x,y) that operates on integers, and Concrete’s toolchain will produce a corresponding function that operates on encrypted integers (LWE ciphertexts) of specified bit-width, handling all cryptographic details in the background. This dramatically improves usability: it requires no knowledge of noise budgets or key switching.
Key Features: It includes a simple Python API for FHE operations, GPU acceleration support, automatic parameter selection, built-in performance analysis tools and integration with existing Python code.
Concrete is regularly updated by ZAMA and contributed to, with the latest release made in 2025, including added compatibility to TFHE-rs.
Key Innovations in FHE Compiler Development
Several early FHE compilers paved the way for today’s tools, each introducing key innovations at the time; here’s a quick look at who built them, when, and what impact they had.
- CHET (2019, Microsoft Research)
Domain-specific compiler for encrypted neural networks using CKKS; It influenced later tools like EVA but was never open-sourced and has not been updated since its 2019 research release. - EVA (2020, Microsoft Research, MIT license)
Built on CHET, EVA simplified CKKS programming with a Python DSL for vector arithmetic, targeting ML inference; open-sourced in 2020 and remains under active community use, though Microsoft’s updates have slowed after 2022. - Google’s FHE Transpiler (2021, Google)
Released as an open-source transpiler converting C++ into FHE code, first using TFHE and later integrated with OpenFHE; last updated in 2023 with ongoing improvements and complemented by Google’s newer HEIR project. - E3 (2018, NYU Abu Dhabi’s MoMA Lab)
An early backend-agnostic C++ framework supporting multiple libraries (HElib, SEAL, PALISADE, TFHE, FHEW), notable for its “bridging” of arithmetic and Boolean FHE; last updated publicly around 2020, with limited further development.
Conclusion
FHE compilers and transpilers are steadily making homomorphic encryption more practical, bridging high-level programming with optimized cryptographic backends and lowering the barrier for developers to build privacy-preserving applications.