package
0.0.2
Repository: https://github.com/pro7ech/lattigo.git
Documentation: pkg.go.dev

# README

Single Party Examples

Applications

Application examples are examples showcasing specific capabilities of the library on scaled-down real world scenarios.

Binary

  • bin_blind_rotations: an example showcasing the evaluation of the sign function using blind rotations on RLWE ciphertexts.

Integers

  • int_ride_hailing: an example on privacy preserving ride hailing.
  • int_vectorized_OLE: an example on vectorized oblivious linear evaluation using an RLWE trapdoor.

Reals/Complexes

  • reals_bootstrapping: a series of examples showcasing the capabilities of the bootstrapping for fixed point arithmetic.

    • basics: an example showcasing the basic capabilities of the bootstrapping.
    • high_precision: an example showcasing high-precision bootstrapping.
    • slim: an example showcasing slim bootstrapping, i.e. re-ordering the steps of the bootstrapping.
  • reals_scheme_switching: an example showcasing scheme switching between hefloat and hebin to complement fixed-point arithmetic with lookup tables.

  • reals_sigmoid_chebyshev: an example showcasing polynomial evaluation of a Chebyshev approximation of the sigmoid.

  • reals_sigmoid_minimax: an example showcasing polynomial evaluation of a minimax approximation of the sigmoid.

  • reals_vectorized_polynomial_evaluation: an example showcasing vectorized polynomial evaluation, i.e. evaluating different polynomials in parallel on specific slots.

Templates

Templates are files containing the basic instantiation, i.e. parameters, key-generation, encoding, encryption and decryption.

  • reals: a template for hefloat.
  • int: a template for heint.

Tutorials

Tutorials are examples showcasing the basic capabilities of the library.

  • reals: a tutorial on all the basic capabilities of the package hefloat.

Multi Party Examples

  • int_pir: an example showcasing multi-party private information retrieval.
  • int_psi: an example showcasing multi-party private set intersection.
  • thresh_eval_key_gen: an example showcasing multi-party threshold key-generation.

Parameters

The params.go file contains several sets of example parameters for both heint and hefloat. These parameter are chosen to represent several degrees of homomorphic capacity for a fixed 128-bit security (according to the standard estimates at the time of writing). They do not represent a set of default parameters to be used in real HE applications. Rather, they are meant to facilitate quick tests and experimentation with the library.

# Packages

No description provided by the author
No description provided by the author

# Variables

No description provided by the author
HEFloatComplexParamsN12QP109 is an example parameter set for the `hefloat` package with logN=12 and logQP=109.
HEFloatComplexParamsN13QP218 is an example parameter set for the `hefloat` package with logN=13 and logQP=218.
HEFloatComplexParamsN14QP438 is an example parameter set for the `hefloat` package with logN=14 and logQP=438.
HEFloatComplexParamsN15QP880 is an example parameter set for the `hefloat` package with logN=15 and logQP=881.
HEFloatComplexParamsPN16QP1761 is an example parameter set for the `hefloat` package with logN=16 and logQP = 1761.
No description provided by the author
HEFloatRealParamsN12QP109 is an example parameter set for the `hefloat` package with conjugate-invariant CKKS and logN=12 and logQP=109.
HEFloatRealParamsN13QP218 is an example parameter set for the `hefloat` package with conjugate-invariant CKKS and logN=13 and logQP=218 These parameters instantiate `hefloat` over the real field with N SIMD slots.
HEFloatRealParamsN14QP438 is an example parameter set for the `hefloat` package with logN=14 and logQP=438.
HEFloatRealParamsN15QP880 is an example parameter set for the `hefloat` package with logN=15 and logQP=881.
HEFloatRealParamsPN16QP1761 is an example parameter set for the `hefloat` package with logN=16 and logQP = 1761 These parameters instantiate `hefloat` over the real field with N SIMD slots.
No description provided by the author
HEIntParamsN12QP109 is an example parameter set for the `heint` package logN=12 and logQP=109.
HEIntParamsN13QP218 is an example parameter set for the `heint` package with logN=13 and logQP=218.
HEIntParamsN14QP438 is an example parameter set for the `heint` package with logN=14 and logQP=438.
HEIntParamsN15QP880 is an example parameter set for the `heint` package with logN=15 and logQP=881.
No description provided by the author
HEIntScaleInvariantParamsN12QP109 is an example parameter set for the `heint` package logN=12 and logQP=109.
HEIntScaleInvariantParamsN13QP218 is an example parameter set for the `heint` package with logN=13 and logQP=218.
HEIntScaleInvariantParamsN14QP438 is an example parameter set for the `heint` package with logN=14 and logQP=438.
HEIntScaleInvariantParamsN15QP880 is an example parameter set for the `heint` package with logN=15 and logQP=881.