Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

Awesome Lists containing this project

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
```