├── LICENSE.md ├── CONTRIBUTING.md └── README.md /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Learn FHE 2 | 3 | First off, thank you for deciding to contribute! Your help is greatly appreciated. 4 | 5 | The following is a set of guidelines for contributing to this repository. These are guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request. 6 | 7 | ## How Can I Contribute? 8 | 9 | ### Reporting Issues 10 | 11 | If you find an issue with the resources or content provided in this repository, please report it by opening an issue on GitHub. Include as much detail as possible to help us understand and resolve the issue: 12 | - **Title**: A clear and descriptive title 13 | - **Description**: A detailed description of the issue 14 | - **Steps to Reproduce**: Instructions to reproduce the issue, if applicable 15 | - **Expected Behavior**: What you expected to happen 16 | - **Actual Behavior**: What actually happened 17 | - **Screenshots or Links**: Any relevant screenshots or links 18 | 19 | ### Suggesting Enhancements 20 | 21 | If you have an idea for a new feature, resource, or an improvement to an existing feature, we would love to hear about it. Please open an issue on GitHub and include: 22 | - **Title**: A clear and descriptive title 23 | - **Description**: A detailed description of the enhancement 24 | - **Examples**: Any relevant examples, screenshots, or links 25 | 26 | ### Contributing Content 27 | 28 | To contribute content, such as new resources, guides, or research papers, please follow these steps: 29 | 1. **Fork the Repository**: Fork the repository to your own GitHub account. 30 | 2. **Clone the Repository**: Clone the forked repository to your local machine. 31 | 3. **Create a Branch**: Create a new branch for your changes (`git checkout -b add-new-resource`). 32 | 4. **Make Changes**: Add your new content or make changes in your branch. 33 | 5. **Commit Changes**: Commit your changes with a clear and concise message (`git commit -m "Add new resource on FHE"`). 34 | 6. **Push Changes**: Push your changes to your fork (`git push origin add-new-resource`). 35 | 7. **Open a Pull Request**: Open a pull request from your fork to the main repository. 36 | 37 | ### Adding New Resources 38 | 39 | If you have found a new resource (e.g., blog post, research paper, tutorial) that you think would be valuable to the community, please submit it by opening an issue or creating a pull request with the following information: 40 | - **Title**: Title of the resource 41 | - **Link**: Link to the resource 42 | - **Description**: A brief description of what the resource covers 43 | 44 | ### Community and Contributions 45 | 46 | We welcome all contributions to this repository! If you have any resources, papers, or tutorials to add, please follow the guidelines above. For larger changes or new features, it is often a good idea to start by opening an issue to discuss the change and get feedback. 47 | 48 | ## License 49 | 50 | By contributing to Learn FHE, you agree that your contributions will be licensed under the MIT License. 51 | 52 | Thank you for your contributions! 53 | 54 | Built with ❤️ by [motypes](https://x.com/motypes) 55 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Learn FHE 2 | 3 | [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) 4 | [![Contributions Welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](CONTRIBUTING.md) 5 | [![Follow on Twitter](https://img.shields.io/twitter/follow/motypes.svg?style=social)](https://twitter.com/motypes) 6 | 7 | Welcome to the Learn FHE repository. This repository aims to provide a curated list of educational materials, guides, and research papers for beginners interested in learning about Fully Homomorphic Encryption (FHE). 8 | 9 | ## Table of Contents 10 | - [Learn FHE](#learn-fhe) 11 | - [Table of Contents](#table-of-contents) 12 | - [Introduction](#introduction) 13 | - [Getting Started](#getting-started) 14 | - [Beginner Guides](#beginner-guides) 15 | - [Practical Implementations](#practical-implementations) 16 | - [Libraries and Tools](#libraries-and-tools) 17 | - [Tutorials and Examples](#tutorials-and-examples) 18 | - [Research and Development](#research-and-development) 19 | - [Key Papers and Articles](#key-papers-and-articles) 20 | - [Current Research](#current-research) 21 | - [Community and Contributions](#community-and-contributions) 22 | - [License](#license) 23 | 24 | ## Introduction 25 | Fully Homomorphic Encryption (FHE) is a form of encryption that allows computations to be performed on encrypted data without needing to decrypt it first. This preserves the privacy and security of the data throughout the computation process. 26 | 27 | ## Getting Started 28 | ### Beginner Guides 29 | - **[Orochi Network's Beginner's Guide to FHE](https://orochi.network/blog/Fully-Homomorphic-Encryption-(FHE)-A-Beginner-Guide)**: An accessible introduction covering the basics, applications, and current research directions in FHE. 30 | - **[LambdaClass Blog on FHE](https://blog.lambdaclass.com/fully-homomorphic-encryption/)**: Detailed introduction to FHE, its history, key developments, and practical implementations. 31 | - **[Sunscreen Tech Blog](https://blog.sunscreen.tech/an-intro-to-fully-homomorphic-encryption-for-engineers/)**: A deep dive into FHE for engineers, discussing computational models and trade-offs between different FHE schemes. 32 | 33 | ## Practical Implementations 34 | ### Libraries and Tools 35 | - **[HElib](https://github.com/homenc/HElib)**: An open-source software library that implements homomorphic encryption (HE). 36 | - **[PALISADE](https://gitlab.com/palisade/palisade-release)**: A comprehensive open-source lattice cryptography library. 37 | - **[SEAL](https://github.com/Microsoft/SEAL)**: Microsoft SEAL is an easy-to-use and powerful homomorphic encryption library. 38 | - **[Awesome-HE-Repo](https://github.com/jonaschn/awesome-he)**: A curated list of tools, libraries and resources 39 | 40 | ### Tutorials and Examples 41 | - **[Homomorphic Encryption Example](https://github.com/homenc/HElib/tree/master/examples)**: Example codes using the HElib library. 42 | - **[Microsoft SEAL Examples](https://github.com/Microsoft/SEAL/tree/main/native/examples)**: Example codes and tutorials for Microsoft SEAL. 43 | 44 | ## Research and Development 45 | ### Key Papers and Articles 46 | - **[Gentry's Original Paper on FHE](https://eprint.iacr.org/2009/616.pdf)**: The foundational paper by Craig Gentry that introduced the first practical FHE scheme. 47 | - **[Homomorphic Encryption Standardization](https://homomorphicencryption.org/standard)**: Ongoing efforts and papers aimed at standardizing homomorphic encryption schemes. 48 | 49 | ### Current Research 50 | - **[FHE.org Community](https://fhe.org)**: A hub for researchers and developers working on advancing FHE and other secure computation techniques. 51 | - **[Sunscreen Tech Blog](https://blog.sunscreen.tech/)**: Insights into the latest challenges and developments in FHE. 52 | 53 | ## Community and Contributions 54 | We welcome contributions to this repository! If you have any resources, papers, or tutorials to add, please follow the guidelines in [CONTRIBUTING.md](CONTRIBUTING.md). 55 | 56 | ## License 57 | This repository is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details. 58 | 59 | Built with ❤️ by [motypes](https://x.com/motypes) --------------------------------------------------------------------------------