Please rotate your device in portrait mode for the best experience

Lattigo

Lattigo is an open-source cryptographic library, that implements homomorphic encryption in pure Go.

Tune Insight is the main contributor and maintainer of Lattigo, which powers the encrypted operations behind our products.

Lattigo logo

Lattigo

What is Lattigo?

Lattigo is a Go library that implements full-RNS Ring-Learning-With-Errors-based homomorphic encryption primitives, as well as secure protocols for Multiparty Homomorphic Encryption. The library implements multiple homomorphic encryption schemes including BFV, BGV and CKKS, with optimized arithmetic for power-of-two cyclotomic rings.

All the encryption schemes in Lattigo also include multiparty (threshold) versions, making them suitable for Secure Multiparty Computation scenarios requiring distributed trust. The CKKS implementation supports both dense and sparse-key bootstrapping, enabling the execution of iterative circuits on encrypted data.

Lattigo also features support for RGSW, external product and LMKCDEY blind rotations, which bring further flexibility for optimized implementations of complex circuits.

History

The project was initiated at the Laboratory of Data Security of EPFL. Starting with the release of version 3.0.0, Lattigo is maintained and supported by Tune Insight.

Documentation

The documentation of Lattigo is available on the Go Doc

Getting Started

To get started with Lattigo in a Go program, explore the usage examples.

Governance

Lattigo is an open-source project backed by Tune Insight with the support of an advisory committee and a technical committee composed of independent members and Tune Insight members.