Documentation ¶
Overview ¶
Package lattigo is a cryptographic library implementing lattice-based cryptographic primitives. The library features:
- A pure Go implementation enabling code-simplicity and easy builds.
- A public interface for an efficient multi-precision polynomial arithmetic layer.
- Comparable performance to state-of-the-art C++ libraries.
Lattigo aims at enabling fast prototyping of secure-multiparty computation solutions based on distributed homomorphic cryptosystems, by harnessing Go's natural concurrency model.
Directories ¶
Path | Synopsis |
---|---|
Package bfv implements a RNS-accelerated Fan-Vercauteren version of Brakerski's scale invariant homomorphic encryption scheme.
|
Package bfv implements a RNS-accelerated Fan-Vercauteren version of Brakerski's scale invariant homomorphic encryption scheme. |
Package bgv implements a RNS-accelerated BGV homomorphic encryption scheme.
|
Package bgv implements a RNS-accelerated BGV homomorphic encryption scheme. |
Package ckks implements a RNS-accelerated version of the Homomorphic Encryption for Arithmetic for Approximate Numbers (HEAAN, a.k.a.
|
Package ckks implements a RNS-accelerated version of the Homomorphic Encryption for Arithmetic for Approximate Numbers (HEAAN, a.k.a. |
advanced
Package advanced implements advanced operations for the CKKS scheme.
|
Package advanced implements advanced operations for the CKKS scheme. |
bootstrapping
Package bootstrapping implement the bootstrapping for the CKKS scheme.
|
Package bootstrapping implement the bootstrapping for the CKKS scheme. |
Package dbfv implements a distributed (or threshold) version of the BFV scheme that enables secure multiparty computation solutions.
|
Package dbfv implements a distributed (or threshold) version of the BFV scheme that enables secure multiparty computation solutions. |
Package dbgv implements a distributed (or threshold) version of the BGV scheme that enables secure multiparty computation solutions.
|
Package dbgv implements a distributed (or threshold) version of the BGV scheme that enables secure multiparty computation solutions. |
Package dckks implements a distributed (or threshold) version of the CKKS scheme that enables secure multiparty computation solutions.
|
Package dckks implements a distributed (or threshold) version of the CKKS scheme that enables secure multiparty computation solutions. |
Package drlwe implements a generic RLWE-based distributed (or threshold) encryption scheme that constitutes the common base for the multiparty variants of the BFV (dbfv), BGV (dbgv) and CKKS (dckks) schemes.
|
Package drlwe implements a generic RLWE-based distributed (or threshold) encryption scheme that constitutes the common base for the multiparty variants of the BFV (dbfv), BGV (dbgv) and CKKS (dckks) schemes. |
examples
|
|
Package rgsw implements an RLWE-based RGSW encryption scheme.
|
Package rgsw implements an RLWE-based RGSW encryption scheme. |
lut
Package lut implements look-up tables evaluation for R-LWE schemes.
|
Package lut implements look-up tables evaluation for R-LWE schemes. |
Package ring implements RNS-accelerated modular arithmetic operations for polynomials, including: RNS basis extension; RNS rescaling; number theoretic transform (NTT); uniform, Gaussian and ternary sampling.
|
Package ring implements RNS-accelerated modular arithmetic operations for polynomials, including: RNS basis extension; RNS rescaling; number theoretic transform (NTT); uniform, Gaussian and ternary sampling. |
Package rlwe implements the generic operations that are common to R-LWE schemes.
|
Package rlwe implements the generic operations that are common to R-LWE schemes. |
ringqp
Package ringqp is implements a wrapper for both the ringQ and ringP.
|
Package ringqp is implements a wrapper for both the ringQ and ringP. |
Package utils contains helper structures and function
|
Package utils contains helper structures and function |
Click to show internal directories.
Click to hide internal directories.