Documentation
¶
Overview ¶
Package lattigo is the open-source community-version of Tune Insight's Homomorphic Encryption library. It provides a pure Go implementation of state-of-the-art Homomorphic Encryption (HE) and Multiparty Homomorphic Encryption (MHE) schemes, enabling code-simplicity, cross-platform compatibility and easy builds, while retaining the same performance as C++ libraries.
Directories
¶
Path | Synopsis |
---|---|
core
|
|
rlwe
Package rlwe implements the generic cryptographic functionalities and operations that are common to R-LWE schemes.
|
Package rlwe implements the generic cryptographic functionalities and operations that are common to R-LWE schemes. |
Package he implements scheme agnostic functionalities for RLWE-based Homomorphic Encryption schemes implemented in Lattigo.
|
Package he implements scheme agnostic functionalities for RLWE-based Homomorphic Encryption schemes implemented in Lattigo. |
hefloat
Package hefloat implements Homomorphic Encryption with fixed-point approximate arithmetic over the complex or real numbers.
|
Package hefloat implements Homomorphic Encryption with fixed-point approximate arithmetic over the complex or real numbers. |
hefloat/bootstrapping
Package bootstrapping implements bootstrapping for fixed-point encrypted approximate homomorphic encryption over the complex/real numbers.
|
Package bootstrapping implements bootstrapping for fixed-point encrypted approximate homomorphic encryption over the complex/real numbers. |
hefloat/cosine
Package cosine method is the Go implementation of the polynomial-approximation algorithm by Han and Ki in
|
Package cosine method is the Go implementation of the polynomial-approximation algorithm by Han and Ki in |
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. |
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. |
schemes
|
|
ckks
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. |
Package utils implements various helper functions.
|
Package utils implements various helper functions. |
bignum
Package bignum implements arbitrary precision arithmetic for integers, reals and complex numbers.
|
Package bignum implements arbitrary precision arithmetic for integers, reals and complex numbers. |
buffer
Package buffer implement methods for efficiently writing and reading values to and from io.Writer and io.Reader that also expose their internal buffers.
|
Package buffer implement methods for efficiently writing and reading values to and from io.Writer and io.Reader that also expose their internal buffers. |
factorization
Package factorization implements various algorithms for efficient factoring integers of small to medium size.
|
Package factorization implements various algorithms for efficient factoring integers of small to medium size. |
sampling
Package sampling implements secure sampling of bytes and integers.
|
Package sampling implements secure sampling of bytes and integers. |
structs
Package structs implements helpers to generalize vectors and matrices of structs, as well as their serialization.
|
Package structs implements helpers to generalize vectors and matrices of structs, as well as their serialization. |
Click to show internal directories.
Click to hide internal directories.