Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
CryptoNets is a demonstration of the use of Neural-Networks over data encrypted with Homomorphic Encryption. Homomorphic Encryptions allow performing operations such as addition and multiplication over data while it is encrypted. Therefore, it allows keeping data private while outsourcing computation (see here and here for more about Homomorphic E
| Date | Stars |
|---|---|
| 2026-07-31 | 310 |
| 2026-08-06 | 310 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
CryptoNets is a demonstration of the use of Neural-Networks over data encrypted with [Homomorphic Encryption](https://www.cs.cmu.edu/~odonnell/hits09/gentry-homomorphic-encryption.pdf).
Homomorphic Encryptions allow performing operations such as addition and multiplication over data while it is encrypted.
Therefore, it allows keeping data private while outsourcing computation (see [here](http://homomorphicencryption.org/) and [here](https://www.microsoft.com/en-us/research/project/homomorphic-encryption/) for more about Homomorphic Encryptions and its applications).
This project demonstrates the use of Homomorphic Encryption for outsourcing neural-network predictions. The scenario in mind
is a provider that would like to provide Prediction as a Service (PaaS) but the data for which predictions are needed may be private.
This may be the case in fields such as [health](https://www.microsoft.com/en-us/research/publication/manual-for-using-homomorphic-encryption-for-bioinformatics/) or finance.
By using [CryptoNets](http://proceedings.mlr.press/v48/gilad-bachrach16.pdf), the user of the service can encrypt their data using Homomorphic Encryption and send only the encrypted message to the service provider.
Since Homomorphic Encryptions allow the provider to operate on the data while it is encrypted, the provider can make predictions using a pre-trained
Neural-Network while the data remains encrypted throughout the process and finaly send the prediction to the user who can decrypt the results. During the process
the service provider does not learn anything about the data that was used, the prediction that was made or any intermediate result since everything is encrypted
throughout the process.
This project uses the [Microsoft SEAL](http://sealcrypto.org) version 3.2 implementation of Homomorphic Encryption developed in [Microsoft Research](https://www.microsoft.com/en-us/research/).
The project is made of three components:
1. A wrapper for Homomorphic Encryption that allow working with matrices and vectors while hiding much of the underlying crypto.
2. Implementation of main Neural-Network layers using the wrapper.
3. Implementation of specific Neural-Networks using the framework.
The networks that are currently implemented are [CryptoNets](http://proceedings.mlr.press/v48/gilad-bachrach16.pdf) and [Low-Latency CryptoNets (LoLa)](https://arxiv.org/abs/1812.10659) that operate on the [MNIST dataset](http://yann.lecun.com/exdb/mnist/)
as well as versions of LoLa that operate on the [CIFAR-10](https://www.cs.toronto.edu/~kriz/cifar.html) and [CalTech-101](http://www.vision.caltech.edu/Image_Datasets/Caltech101/) datasets. The project also includes a small demonstration of using the wrapper for Homomorphic Encryption for
performing computations that are not necessarily Neural-Networks.
When using this project in a scientific paper, please cite the paper [Low Latency Privacy Preserving Inference](https://arxiv.org/abs/1812.10659).
```latex
@inproceedings{Brutzkus2019LowLatency,
title={Low Latency Privacy Preserving Inference},
author={Brutzkus, Alon and Elisha, Oren and Gilad-Bachrach, Ran},
booktitle={International Conference on Machine Learning},
year={2019}
}
```
# Installation
The project is designed to be built using Visual-Studio 2017 and was tested in the windows environment used .Net framework version 4.6.2.
To install the project follow the following steps
### 1. Install SEAL
This project depends on SEAL version 3.2. Download this version of SEAL from [http://sealcrypto.org]. Note that CryptoNets does not support SEAL 3.3 which uses a different API. Instead, you can checkout version 3.2 using the command `git checkout 3.2.2`. In order to obtain best performance introduce the following change to the code of SEAL before compiling:
Open SEAL/native/src/seal/evaluator.cpp and in the are_same_scale function change the the arguments to be: const T &value1, const S &value2.
Excerpt of 13,641 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:673b0a4262556217, llm:Repository description: 'CryptoNets is a demonstration of the use of Neural-Networks over data encrypted with Homomorphic Encryption.' Topics: data-encrypted, homomorphic-encryptions, neural-networks, seal.
matched fp:673b0a4262556217, llm:Repository description: 'CryptoNets is a demonstration of the use of Neural-Networks over data encrypted with Homomorphic Encryption.' Topics: data-encrypted, homomorphic-encryptions, neural-networks, seal.