{"id":13470346,"url":"https://github.com/google/fully-homomorphic-encryption","last_synced_at":"2025-05-14T18:01:46.372Z","repository":{"id":37395332,"uuid":"364705340","full_name":"google/fully-homomorphic-encryption","owner":"google","description":"An FHE compiler for C++","archived":false,"fork":false,"pushed_at":"2024-09-04T18:56:40.000Z","size":1994,"stargazers_count":3564,"open_issues_count":4,"forks_count":258,"subscribers_count":89,"default_branch":"main","last_synced_at":"2025-04-11T10:00:21.937Z","etag":null,"topics":["compiler","cryptography","encryption","fhe","fully-homomorphic-encryption","homomorphic-encryption","privacy"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/google.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-05T21:04:00.000Z","updated_at":"2025-04-07T03:11:53.000Z","dependencies_parsed_at":"2024-01-07T08:10:04.382Z","dependency_job_id":"2f3d63df-3183-4cda-b5a0-a329540ca71f","html_url":"https://github.com/google/fully-homomorphic-encryption","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Ffully-homomorphic-encryption","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Ffully-homomorphic-encryption/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Ffully-homomorphic-encryption/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Ffully-homomorphic-encryption/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/google","download_url":"https://codeload.github.com/google/fully-homomorphic-encryption/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254198452,"owners_count":22030964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","cryptography","encryption","fhe","fully-homomorphic-encryption","homomorphic-encryption","privacy"],"created_at":"2024-07-31T16:00:28.800Z","updated_at":"2025-05-14T18:01:46.353Z","avatar_url":"https://github.com/google.png","language":"C++","readme":"# Fully Homomorphic Encryption (FHE)\n\n**Note:** [HEIR](https://github.com/google/heir) is our next generation FHE\ncompiler framework, please see [its GitHub repo](https://github.com/google/heir)\nand its website https://heir.dev.\n\nThis repository contains open-source libraries and tools to perform fully\nhomomorphic encryption (FHE) operations on an encrypted data set.\n\n**About Fully Homomorphic Encryption**\n\nFully Homomorphic Encryption (FHE) is an emerging cryptographic technique that\nallows developers to perform computations on encrypted data. This represents a\nparadigm shift in how data processing and data privacy relate to each other.\n\nPreviously, if an application had to perform some computation on data that was\nencrypted, this application would necessarily need to decrypt the data first,\nperform the desired computations on the clear data, and then re-encrypt the\ndata. FHE, on the other hand, simply removes the need for this\ndecryption-encryption steps by the application, all at once.\n\nIn practice, for an application that needs to perform some computation F on data\nthat is encrypted, the FHE scheme would provide some alternative computation F'\nwhich when applied directly over the encrypted data will result in the\nencryption of the application of F over the data in the clear. More formally:\nF(unencrypted_data) = Decrypt(F'(encrypted_data)).\n\nAs a result, FHE can have an enormous impact to our society. It can change the\nway computations are performed by preserving end-to-end privacy. For example,\nusers would be able to offload expensive computations to cloud providers in a\nway that cloud providers will not have access to the users' data at all.\n\nThe main hindrance for the adoption of FHE has been its very poor performance.\nDespite significant scientific improvements, performing computations on\nencrypted data using FHE is still orders of magnitude slower than performing the\ncomputation on the plaintext. On top of that, converting a program that operates\non unencrypted data to one that FHE-operates on encrypted data is far from being\na trivial translation. If not properly done, this translation can significantly\nincrease the performance gap between computing on unencrypted data and the\nFHE-computation on encrypted data, thus precluding wide FHE adoption.\n\n## FHE C++ Transpiler\n\nThe FHE C++ Transpiler is a general purpose library that converts C++ into\nFHE-C++ that works on encrypted input.\n\nThe transpiler has a modular architecture that allows varying the underlying FHE\nlibrary, the high-level program description and the output language as well. We\nhope that this flexibility will allow researchers from different fields to work\ntogether on this exciting goal of making FHE more efficient and broadly\napplicable.\n\nThe code, examples, and more information is in the [`transpiler`](./transpiler/)\nsubdirectory.\n\n## Support\n\nWe will continue to publish updates and improvements to the FHE library. We are\nnot yet accepting external contributions to this project. We will respond to\nissues filed in this project. If we ever intend to stop publishing improvements\nand responding to issues we will publish notice here at least 3 months in\nadvance.\n\n## Support disclaimer\n\nThis is not an officially supported Google product.\n\n## License\n\nApache License 2.0. See [`LICENSE`](./LICENSE).\n\n## Contact information\n\nWe are committed to open-sourcing our work to support your use cases. We want to\nknow how you use this library and what problems it helps you to solve. We have\ntwo communication channels for you to contact us:\n\n*   A\n    [public discussion group](https://groups.google.com/g/fhe-open-source-users)\n    where we will also share our preliminary roadmap, updates, events, and more.\n\n*   A private email alias at\n    [fhe-open-source@google.com](mailto:fhe-open-source@google.com) where you\n    can reach out to us directly about your use cases and what more we can do to\n    help and improve the library.\n\nPlease refrain from sending any sensitive or confidential information. If you\nwish to delete a message you've previously sent, please contact us.\n\n## Contributors\n\nThe contributors to this project are (sorted by last name):\n\n-   [Eric Astor](https://github.com/ericastor)\n-   [Damien Desfontaines](https://desfontain.es/serious.html)\n-   Christoph Dibak\n-   [Alain Forget](https://people.scs.carleton.ca/~aforget/)\n-   [Bryant Gipson](https://www.linkedin.com/in/bryant-gipson-33478419)\n-   [Shruthi Gorantala](https://github.com/code-perspective) (Lead)\n-   [Miguel Guevara](https://www.linkedin.com/in/miguel-guevara-8a5a332a)\n-   [Aishwarya Krishnamurthy](https://www.linkedin.com/in/aishe-k)\n-   Sasha Kulankhina\n-   [William Lam](https://www.linkedin.com/in/william-m-lam)\n-   [David Marn](http://dmarn.org)\n-   [Rafael Misoczki](https://www.linkedin.com/in/rafael-misoczki-phd-24b33013)\n-   Bernat Guillén Pegueroles\n-   [Milinda Perera](https://milinda-perera.com)\n-   [Sean Purser-Haskell](https://www.linkedin.com/in/sean-purser-haskell-30b5268)\n-   [Sam Ruth](https://www.linkedin.com/in/samuelruth)\n-   [Rob Springer](https://github.com/RobSpringer)\n-   [Yurii Sushko](https://www.linkedin.com/in/midnighter)\n-   [Cameron Tew](https://github.com/cam2337)\n-   [Royce Wilson](https://research.google/people/RoyceJWilson)\n-   [Xinyu Ye](https://github.com/xinyuye)\n-   [Itai Zukerman](https://github.com/izuk)\n-   [Iliyan Malchev](https://github.com/malchev)\n\n## Citing FHE Transpiler\n\nTo cite FHE Transpiler in academic papers, please use the following entry:\n\n```shell\n@misc{cryptoeprint:2021/811,\n      author = {Shruthi Gorantala and Rob Springer and Sean Purser-Haskell and William Lam and Royce Wilson and Asra Ali and Eric P. Astor and Itai Zukerman and Sam Ruth and Christoph Dibak and Phillipp Schoppmann and Sasha Kulankhina and Alain Forget and David Marn and Cameron Tew and Rafael Misoczki and Bernat Guillen and Xinyu Ye and Dennis Kraft and Damien Desfontaines and Aishe Krishnamurthy and Miguel Guevara and Irippuge Milinda Perera and Yurii Sushko and Bryant Gipson},\n      title = {A General Purpose Transpiler for Fully Homomorphic Encryption},\n      howpublished = {Cryptology ePrint Archive, Paper 2021/811},\n      year = {2021},\n      note = {\\url{https://eprint.iacr.org/2021/811}},\n      url = {https://eprint.iacr.org/2021/811}\n}\n```\n","funding_links":[],"categories":["C++","Implementation","Toolkits","Others","相关工具","Products, Frameworks, and Toolchains using OpenFHE","Awesome Privacy Engineering [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)","miscellaneous"],"sub_categories":["FHE","隐私相关领域法规/条例","Homomorphic Encryption"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle%2Ffully-homomorphic-encryption","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogle%2Ffully-homomorphic-encryption","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle%2Ffully-homomorphic-encryption/lists"}