Name:
Lattigo
Description:
A lattice-based multiparty homomorphic encryption library in Go
Professor — Lab:
Jean-Pierre HubauxLaboratory for Data Security
Contacts:
Jean-Philippe Bossuat Christian Mouchet Lattigo mailing list

Layman description:
Homomorphic encryption (HE) comprises a special class of cryptographic schemes that enable computing directly on encrypted data, without requiring the data to be decrypted first. It therefore enables a set of operations (polynomial evaluation and approximations of non-polynomial functions) to be "blindly" performed on encrypted sensitive data by an untrustworthy party, with a controlled computational overhead. Lattigo implements HE and its multiparty extension (MHE), that enables several entities to collaboratively compute a function on their confidential or sensitive data, without revealing to each other anything besides the result of this computation. Lattigo's multiparty homomorphic encryption technology is an enabler for secure data sharing in multiple scenarios.
Technical description:
Lattigo is a Go module for Multiparty Homomorphic Encryption, that implements Ring-Learning-With-Errors-based homomorphic encryption primitives. It comprises highly-efficient RNS versions of the BFV and CKKS schemes and their multiparty (N-out-of-N-threshold) counterparts. It also implements a dense-key and sparse-key Bootstrapping procedure for RNS-CKKS. The Lattigo library was originally exclusively developed by the EPFL Laboratory for Data Security until its version 2.4.0. Starting with the release of version 3.0.0, Lattigo is maintained and supported by Tune Insight SA. Lattigo 2.0.0 has been code-reviewed by ELCA in November 2020 and, within the allocated time for the code review, no critical or high-risk issues were found.
Project status:
inactive — entered showcase: 2019-08-15 — entry updated: 2023-03-21

Factory Development:
2020/Q1 maturity evaluation
C4DT Contact:
C4DT team

Source code:
Lab GitHub - last commit: 2023-03-14
Code quality:
Mature
Project type:
Library
Programming language:
GoLang
License:
Apache-2.0