_images/logo_title.png https://travis-ci.org/ibarrond/Pyfhel.svg?branch=master https://badge.fury.io/py/Pyfhel.svg https://img.shields.io/badge/Maintained%3F-yes-brightgreen.svg https://img.shields.io/github/issues/ibarrond/Pyfhel.svg https://img.shields.io/pypi/pyversions/Pyfhel.svg

PYthon For Homomorphic Encryption Libraries, Pyfhel implements functionalities of multiple Homomorphic Encryption libraries such as addition, multiplication, exponentiation or scalar product in Python. Pyfhel uses a syntax similar to normal arithmetics (+,-,*). This library is useful both for simple Homomorphic Encryption Demos as well as for complex problems such as Machine Learning algorithms.

Pyfhel is built on top of Afhel, an Abstraction For Hmomorphic Encryption Libraries in C++. Afhel serves as common API for all backends.

  • Version: 3.4.2.

  • Status: STABLE.

  • Language: Python (3.7+) & Cython on top of C++17.

  • OS: Windows (tested with MSVC2017, MSVC2019), Linux / WSL (tested on gcc6 upwards) and MacOS (gcc6 upwards, NO CLANG).


warning REQUIRED: Python must have been compiled with C++17: g++>=6 | MSVC 2017+ warning

  • Dependencies: There are two possible backends (both shipped alongside Pyfhel), HE libraries in C++:

    1. SEAL (no external dependencies, default).

    2. PALISADE (no external dependencies) WIP


The current version supports SEAL only


Glossary and tables