Pyfhel: PYthon for Homomorphic Encryption Libraries


Loading...

Date

2021-11

Publication Type

Conference Paper

ETH Bibliography

yes

Citations

Altmetric

Data

Abstract

Fully Homomorphic Encryption (FHE) allows private computation over encrypted data, disclosing neither the inputs, intermediate values nor results. Thanks to recent advances, FHE has become feasible for a wide range of applications, resulting in an explosion of interest in the topic and ground-breaking real-world deployments. Given the increasing presence of FHE beyond the core academic community, there is increasing demand for easier access to FHE for wider audiences. Efficient implementations of FHE schemes are mostly written in high-performance languages like C++, posing a high entry barrier to novice users. We need to bring FHE to the (higher-level) languages and ecosystems non-experts are already familiar with, such as Python, the de-facto standard language of data science and machine learning. We achieve this through wrapping existing FHE implementations in Python, providing one-click installation and convenience in addition to a significantly higher-level API. In contrast to other similar works, Pyfhel goes beyond merely exposing the underlying API, adding a carefully designed abstraction layer that feels at home in Python. In this paper, we present Pyfhel, introduce its design and usage, and highlight how its unique support for accessing low-level features through a high-level API makes it an ideal teaching tool for lectures on FHE.

Publication status

published

Editor

Book title

Proceedings of the 9th Workshop on Encrypted Computing and Applied Homomorphic Cryptography (WAHC '21)

Journal / series

Volume

Pages / Article No.

11 - 16

Publisher

Association for Computing Machinery

Event

9th on Workshop on Encrypted Computing & Applied Homomorphic Cryptography (WAHC 2021)

Edition / version

Methods

Software

Geographic location

Date collected

Date created

Subject

Fully homomorphic encryption; FHE; Python; Abstraction

Organisational unit

09653 - Paterson, Kenneth / Paterson, Kenneth check_circle

Notes

Funding

Related publications and datasets