Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/K-miran/HEMat
Homomorphic matrix computation
https://github.com/K-miran/HEMat
Last synced: about 1 month ago
JSON representation
Homomorphic matrix computation
- Host: GitHub
- URL: https://github.com/K-miran/HEMat
- Owner: K-miran
- License: mit
- Created: 2018-08-09T17:19:37.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-08-07T20:19:51.000Z (over 5 years ago)
- Last Synced: 2024-08-02T03:01:56.536Z (5 months ago)
- Language: C++
- Homepage:
- Size: 1.08 MB
- Stars: 38
- Watchers: 2
- Forks: 11
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-fhe - HEMat - C++ implementation of matrix computation (addition, multiplication, and transposition) using [HEANN](#HEAAN). (Libraries / [Sunscreen](https://sunscreen.tech/))
- awesome-he - HEMat - C++ implementation of matrix computation (addition, multiplication, and transposition) using [HEANN](#HEAAN). (Libraries)
README
# HEMat
HEMat is a software package for performing a secure outsourced matrix computation using homomorphic encryption (https://dl.acm.org/citation.cfm?id=3243837).
## Setting up HEMat library
### Dependencies
Our library requires a c++ compiler and the following libraries:
* `GMP` (GNU Multi-Precision library, >= 6.1.2), which is available at https://gmplib.org,
* `NTL` (>=11.0.0), which is available at http://www.shoup.net/ntl/, (with pThread)
* `HEAAN`, which is an implementation of the paper "Homomorphic Encryption for Arithmetic of Approximate Numbers" (https://eprint.iacr.org/2016/421.pdf). We refered to the underlying HE library in the "src" folder. You can build the libarary “libheaan.a" by typing "$make all" in the "/src" directory.
### Installing HEMat library
HEMat is easy to configure and build in Linux and macOS.
First, clone this Github repository into a directory of your choice:
```sh
git clone https://github.com/K-miran/HEMat
```You can then install our library by the following work with command line tools in the "/HEMat" directory. :
```sh
cd HEMat
make new
```This will build our library "libHEMat.a".
## Running a test source code
The program will run with several secure matrix algorithms (e.g. matrix addition, multiplication, transposition, and rectangular matrix multiplication).
For example, you run a test program in the the directory by doing as follows:```sh
make test
./foo
```