fhe-toolkit-linux
HElib
fhe-toolkit-linux | HElib | |
---|---|---|
9 | 3 | |
1,427 | 3,089 | |
0.1% | 0.3% | |
0.0 | 3.5 | |
9 months ago | 10 months ago | |
C++ | C++ | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fhe-toolkit-linux
HElib
-
The Rise of Fully Homomorphic Encryption
For clarity, let's assume the hospital stores its records in plaintext. For the pharma company, the hospital encrypts the patient records with a secret key. Now they let the pharma company run their homomorphic algorithm and send the values back. Only problem is the pharma company can not read those results without having access to the key. FHE is completely redundant in this use case - the hospital could have simply run the pharma company's SQL and audited the code and outputs.
What is FHE actually good for then? Let's imagine you are a top secret agent and you get instructions to fly to Bulgaria as a part of your mission. You have other hostile agents constantly monitoring you, trying to understand your next move. But there's a problem - to buy a plane ticket to Bulgaria you need to know the name of it's capital city. You can't just type it to Google, because these other agents have infiltrated the Google servers and see what you search (assume once you actually know the name of the capital, you somehow buy the actual ticket without "them" knowing..)
Lukcily though, CloudCorp offers a public homomorphic query service for all world capitals. This service allows you to send a query for the capital of any country over an intercepted connection, and get back the result. Even if the hostile agents had infiltrated CloudCorp and were monitoring all your comms, they would not be able know which country's capital you just queried.
How such service would be implemented is explained in good detail in this tutorial: https://github.com/homenc/HElib/tree/master/examples/BGV_cou...
P.S. The capital of Bulgaria is Sofia.
-
C++ members chaining
While I was searching for homomorphic encryption tools/libs, I stumbled upon this.
-
Fully Homomorphic Encryption by Google
FHE has been around for a while now, IBM: https://github.com/homenc/HElib and Microsoft: https://www.microsoft.com/en-us/research/project/microsoft-seal/ both have their own (much more mature) FHE implementations.
What are some alternatives?
securefs - Filesystem in userspace (FUSE) with transparent authenticated encryption
SEAL - Microsoft SEAL is an easy-to-use and powerful homomorphic encryption library.
concrete - Concrete: TFHE Compiler that converts python programs into FHE equivalent
Seal - 🦭 Video/Audio Downloader for Android, based on yt-dlp, designed with Material You
GpgFrontend - A free, open-source, robust yet user-friendly, compact and cross-platform tool for OpenPGP encryption. It stands out as an exceptional GUI frontend for the modern GnuPG (gpg).
fully-homomorphic-encryption - An FHE compiler for C++
HElib - HElib is an open-source software library that implements homomorphic encryption. It supports the BGV scheme with bootstrapping and the Approximate Number CKKS scheme. HElib also includes optimizations for efficient homomorphic evaluation, focusing on effective use of ciphertext packing techniques and on the Gentry-Halevi-Smart optimizations. [Moved to: https://github.com/homenc/HElib]
xecrets-cli - Xecrets Cli - A feature-rich cross platform AxCrypt-compatible file encryption command line toolbox using a fork of original AxCrypt 2.x for cryptography. https://www.axantum.com/xecrets-ez is an easy to use graphical frontend for Windows, Linux and macOS using it, and https://www.nuget.org/packages/Xecrets.Sdk/ is a .NET SDK for it..
react-native-quick-crypto - ⚡️ A fast implementation of Node's `crypto` module written in C/C++ JSI
PythonEncryptionAlgorithm - An encryption algorithm in python
Crypto++ - free C++ class library of cryptographic schemes