lattigo icon indicating copy to clipboard operation
lattigo copied to clipboard

A library for lattice-based multiparty homomorphic encryption in Go

Results 73 lattigo issues
Sort by recently updated
recently updated
newest added

The linear transformations in the package `he` are instantiated with an auxiliary prime `P` that is always set to the largest level allowed by the parameters: `params.MaxLevelP`. However, it is...

bug

Instantiating a `bootstrapping.Evaluator` modifies the `bootstrapping.Parameters` template that is given as input. Reusing the same `bootstrapping.Parameters` to instantiate a second `bootstrapping.Evaluator` produces a `bootstrapping.Evaluator` that has incorrect internal initialization of...

bug

https://github.com/tuneinsight/lattigo/pull/456 added `WriteTo` and `ReadFrom` to the `rlwe.Parameters` without adding associated tests and it actually fails when calling `.ReadFrom`. This can be easily reproduced by testing the serialization of `rlwe.Parameters`...

bug

- `utils.MaxSlice` always return 0 if all values are negative - `utils.MinSlice` always return 0 if all values are positive This bug also cascades to another bug: the function `rlwe.NoiseGadgetCiphertext`...

bug

Initialization of `rlwe.Parameters` through `rlwe.NewParametersFromLiteral` returns parameters with an empty set of special primes and no error in the following cases: - `Q` is specified as `Q: []uint64{..}` but `P`...

bug

This PR adds the methods `.N()` and `.LogN` to the `rlwe.Element`. This is a quality of life change that has two purposes: - Enables the user to get an easy...

### Summary `he.EvaluateLinearTransformationsMany` computes the CRT decomposition of the input ciphertext once and stores it in the field `BuffDecompQP` of the `rlwe.Evaluator`. It then uses it to compute the necessary...

bug

The following code should produce polynomials with independent and identically distributed coefficients but ends up producing polynomials with overlapping coefficients: ``` package main import( "fmt" "github.com/tuneinsight/lattigo/v5/core/rlwe" "github.com/tuneinsight/lattigo/v5/utils/sampling" "github.com/tuneinsight/lattigo/v5/ring" ) func...

bug

The methods `evaluator.Add` and `evaluator.Sub` do not properly set the scaling factor of the output ciphertext, resulting in a correctness issue in some cases. See https://github.com/tuneinsight/lattigo/discussions/463

bug

![image](https://github.com/tuneinsight/lattigo/assets/37546857/24995f70-d2d7-49fd-ab5c-fa210a1b33ab) "How is EncodingDomain set?"

bug