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
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.
- 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)
What is it?
A cryptosystem is homomorphic if and only if its decryption is a morphism
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
- An Open Consortium of Industry, Government and Academia to standardize Homomorphic encryption
- Regular Meetings (1-2 Per Years)
- Four White Papers on
- 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.
- 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
- Predictive Healthcare
- Finding the right dosage for a cure
- Secure Genotype Imputation
- Understanding Complex Diseases : GWAS
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