fully-homomorphic-encryption  by google

FHE compiler for C++

created 4 years ago
3,594 stars

Top 13.7% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides a C++ transpiler for Fully Homomorphic Encryption (FHE), enabling computations on encrypted data without decryption. It targets developers and researchers seeking to leverage FHE for enhanced data privacy in applications, particularly for offloading computations to untrusted environments like the cloud. The primary benefit is the ability to perform complex operations on sensitive data while maintaining end-to-end privacy.

How It Works

The FHE C++ Transpiler converts standard C++ code into an FHE-compatible version. This process involves a modular architecture that allows for interchangeable FHE libraries, program descriptions, and output languages. This design aims to bridge the significant performance gap between FHE computations and plaintext operations by optimizing the translation process, making FHE more practical for real-world applications.

Quick Start & Requirements

The transpiler is located in the transpiler subdirectory. Specific installation and execution commands are not detailed in the README, but it is a C++ library. Prerequisites are not explicitly listed, but FHE typically requires significant computational resources and specialized libraries.

Highlighted Details

  • A general-purpose transpiler for converting C++ to FHE-C++.
  • Modular architecture allowing for varying underlying FHE libraries and output languages.
  • Aims to address the performance bottleneck hindering FHE adoption.
  • Cited in "A General Purpose Transpiler for Fully Homomorphic Encryption" (Cryptology ePrint Archive, Paper 2021/811).

Maintenance & Community

The project is maintained by Google and is not currently accepting external contributions. Issues filed in the repository will be responded to. A public discussion group is available for updates, roadmap, and events. Contact is also available via a private email alias (fhe-open-source@google.com).

Licensing & Compatibility

The project is licensed under the Apache License 2.0. This license is permissive and generally compatible with commercial use and closed-source linking.

Limitations & Caveats

The README notes that HEIR is the next-generation FHE compiler framework. This repository is described as "not an officially supported Google product." Performance remains a significant challenge for FHE in general, and the transpiler's effectiveness in mitigating this is a key consideration.

Health Check
Last commit

1 day ago

Responsiveness

1 week

Pull Requests (30d)
9
Issues (30d)
0
Star History
34 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.