Introduction to THFE and its Applications
A summary of the talk at the OpenMined Privacy Conference 2020
Key Note Speakers
- Mariya Georgieva :- Director of Security Innovation at Inpher.
- Nicolas Gama :- Chief Scientist at Inpher
Video Link
https://www.youtube.com/watch?v=nn2fFpO4p9Q
What is TFHE ?
TFHE: Fast Fully Homomorphic Encryption over the Torus
TFHE is an open-source library for fully homomorphic encryption, distributed under the terms of the Apache 2.0 license.
TFHE is a C/C++ library which implements a very fast gate-by-gate bootstrapping, based on [CGGI16] and [CGGI17]. The library allows to evaluate an arbitrary boolean circuit composed of binary gates, over encrypted data, without revealing any information on the data.
Use Cases
- Medicine - Find a Cure against COVID or Cancer
- Machine Learning on Genomic Data
- Physics/Astronautics - Predict Trajectories
In some cases, it may not be possible to run computations on plain text, as the text may not be available in a single location. For general machine learning, models must be trained. Combining datasets can result in more accurate models
The primary goal of secret computing is to run an arbitrary function over secret or private data in a public environment. This is what we call privacy-preserving computation.
Main Privacy Preserving Techniques
- Anonymization (Weakest Technique)
- Differential Privacy
- Federated Learning
- Fully Homomorphic Encryption (FHE)
- Multi Party Computation (MPC)
- Secure Enclave (Hardware)
Homomorphic Encryption
What is it?
A cryptosystem is homomorphic if and only if its decryption is a morphism
Decrypt(ab)=Decrypt(a)Decrypt(b)
where * is sum, product, NAND, etc
What are the goals ?
- Publicly operate on ciphertexts without decryption
- Be end-to-end semantically secure
- Secure against honest but curious adversaries
HES Community
- An Open Consortium of Industry, Government and Academia to standardize Homomorphic encryption
- Regular Meetings (1-2 Per Years)
- Four White Papers on
- Security
- Applications
- Standards
- Schemes (BFV/BGV/CKKS/FHEW/TFHE)
Open Source Libraries
-
TFHE Open Source Library - Faster Bootstrapping.
-
SEAL Open-Source Library - Library from Microsoft which supports the BFV and CKKS schemes.
-
HElib Open-Source Library - Library from IBM which supports the BGV and CKKS schemes.
The TFHE-Chimera Library
Features :
- One very "simple" FHE Boolean API
- "Advanced" API featuring various computation models:
* SIMD Additions, Rotations
* Deterministic (Weighted) Automata
* Chain of Lookup Tables
The Gate Bootstrapping API
Public API v1.0
- Keygen secret and cloud keysets
- Encrypt, Decrypt with secret keyset
- Boots, Gate: CST, AND, OR, XOR, NOT, Mux
- Serialization : Load, Save
Yao's Millionare Problem (1982)
The Comparison Circuit
Homomorphic circuit - full circuit
Gate Bootstrapping: Summary
TFHE Supports other computational models
Some of the computational models supported are
- SIMD Additions + Secret Shifts - Native Operations
- Packing, Unpacking, linear maps - Public and private functional keyswitches with small keys
- Weighted Automata - Good for tropical algebra (max,+) and arithmatic circuits
- LUT with Vertical Packing - Rapidly evaluates complex circuits
Application of THFE
Medicine/Genomic
- Predictive Healthcare
- Finding the right dosage for a cure
- Secure Genotype Imputation
- Understanding Complex Diseases : GWAS
Analyst
Goal : Test the associates between genotypes and phenotypes
- In order to identify generic variants associated with a trait
- Powerful approach for understanding complex diseases (Diabetes, Heart Abnormalities, Parkinson & Crohn Disease, COVID-19)
Genomic Service Provider
- Server stores an encrypted database from study participants
- Train models on the encrypted data