IBM Fully Homomorphic Encryption Toolkit Now Available For Linux
Few weeks after becoming available for macOS, iOS, and Android, the IBM Fully Homomorphic Encryption Toolkit can be now installed on various Linux distributions, including Ubuntu, Fedora, and CentOS for x86 platforms, and Ubuntu for IBM's own Z architecture.
IBM's Fully Homomorphic Encryption (FHE) Toolkit aims to make it easier for developers to use FHE in their solutions. According to IBM, FHE can have a dramatic impact on data security and privacy in highly regulated industries by enabling computing directly on encrypted data. FHE makes away with a major debility of traditional encrypted systems, where data must be decrypted before being processed and becomes thus vulnerable to theft or tampering.
Fully homomorphic encryption makes it possible to store, share, and collaborate on files without ever decrypting them.
According to IBM's Flavio Bergamaschi and Eli Dow, developers' response to the initial release of the IBM FHE Toolkit last June was tremendous, with over 25 forks of the official GitHub repository.
The main aim of the IBM FHE Toolkit is helping developers to start using IBM's HELib and build the specific skill-set required by this technology. As one of IBM lead developers on the toolkit explained on Reddit, FHE works by embedding the "real", unencrypted data inside a large polynomial of degree 10K or close, with coefficient that requires on the order of 600 bits to be represented.
Everything in the polynomial that is not the real data is also packed with a type of intentional random noise (or intentional fuzziness) to further confuse the issue from the server perspective. The reason these polynomials need to be so large is to hide the data and surround it with enough noise such that it is impossible to work out the real data from that noise.
Operations on the "real" data happens by manipulating those polynomials, so even simple operation like adding 2 numbers, is translated into a long series of polynomial operations.
This has a number of consequences, firstly, the real data significance is completely abstracted away from the encrypted data and the computation that is done on it. Additionally, this way of doing has an undesirable effect, namely the accumulation of noise through each computation step, that must be managed using appropriate strategies. All of this contributes to explain FHE's high resource requirements, up to 50x increases in memory and CPU time.
In addition to the same privacy preserving database search that is included in IBM's FHE Toolkit for macOS, iOS, and Android, the Linux version of the Toolkit includes a second use-case aimed at the finance industry. This new example focuses on credit card fraud detection by using neural networks over fully homomorphic encrypted datasets and models to detect fraudulent activities based on anonymized transactions.
The Linux version of the toolkit is packaged as a Docker image and thus should be usable on any platform with a recent Docker, including Windows 10 through its Linux subsystem. A pre-build Docker image is also available on Docker Hub.