Commit Graph

20 Commits

Author SHA1 Message Date
Romain Bouyé
b326b02e0f Fix #457 utils.MaxSlice and utils.MinSlice and add tests for slices utils
Co-authored-by: Jean-Philippe Bossuat <jean-philippe@tuneinsight.com>
2024-05-07 14:38:42 +02:00
Jean-Philippe Bossuat
3e9369f2fa [rlwe]: fixed nil interface bug in evaluator 2023-04-13 14:41:34 +02:00
Jean-Philippe Bossuat
2ebb4c1d82 added generics 2023-03-24 23:35:46 +01:00
Jean-Philippe Bossuat
7b3beff5f9 fixed all 2023-03-21 11:11:47 +01:00
Jean-Philippe Bossuat
cb20936495 [utils]: added subpacakges and updated Write/Read API 2023-03-21 10:44:10 +01:00
Jean-Philippe Bossuat
4fe0e610f6 Moved factorization to [utils] 2022-12-02 19:32:35 +01:00
Juan R. Troncoso
fd86bf4c44 Revised v4 PR 2022-10-04 02:04:14 +02:00
ChristianMct
f34b58dcc7 added alloc-free slice rotations (fixes #280) (#282) 2022-09-22 11:34:47 +02:00
Jean-Philippe Bossuat
e281f818ae statickcheck 2022-06-13 22:55:24 +02:00
Jean-Philippe Bossuat
73f8c3b0f7 Augment Lattigo with support for Conjugate-invariant Ring (#148) 2022-01-03 15:03:37 +01:00
ChristianMct
9563e4013d Improving the parameter API and cross-scheme implementations (#114)
- added the ParameterLiteral type for literally specifying scheme parameters in Go programs
- removed the now obsolete `Moduli` and `LogModuli` types and their associated `Parameters` constructors
- unified the `ckks.Parameters` and `bfv.Parameters` types with common `rlwe.Parameters` base type
- extracted the `rlwe.Element` type as common base for BFV and CKKS plaintext and ciphertexts
- renamed the `Parameters.Copy()` method to `Parameters.CopyNew()` for consistency
- added `Parameter` methods to instantiate new `ring.Ring` structs directly
- `Parameters` types are now passed by value in most situations
- added `encoding/json`-compatible JSON serialisers and deserialisers for the `Parameters` types.
- added a `-params=[params json]` flag for all test and bench suites for specifying parameters from the command line.
- removed the scheme-specific key types
- added equality and inclusion check methods for the `rlwe.RotatationKeySet` type
- reduced the memory footprint of all structure by not copying read-only structs (like parameters or rings)
2021-06-04 17:08:32 +02:00
Jean-Philippe Bossuat
78ff34ce2b Improved linear transformations (#104)
Added support for CKKS linear transforms, improved bootstrapping circuit, IND-CPA-D mitigation, added SECURITY.md
2021-06-03 17:17:23 +02:00
ChristianMct
2bc7250a4b [all] increasing cross-scheme API consistency and implementation (#100)
- RLWE : added a new `rlwe` package as common implementation base for the lattigo RLWE schemes
- DRLWE : added a new `drlwe` package as a common implementation base for the lattigo multiparty RLWE schemes
- BFV/CKKS : the schemes are now using a common implementation for their keys
- BFV/CKKS : the rotation-keys are now indexed by their corresponding galois automorphism
- BFV/CKKS : the `Evaluator` interface now has a single method for all column rotations and one method for the row-rotation/conjugate. 
- BFV/CKKS : the relinearization and rotation keys are now passed to the `Evaluator` constructor methods (and no longer to the operations methods)
- DBFV/DCKKS : added a common interface and implementation for each multiparty key-generation protocols
2021-03-18 19:52:54 +01:00
Romain Bouyé
caabc9baaa Fix typos and spelling issues (#98) 2021-02-17 16:28:41 +01:00
Jean-Philippe Bossuat
7e1dbc996f [bfv] : improved test coverage 2020-12-16 16:28:12 +01:00
Jean-Philippe Bossuat
cbd4167549 gosec 2020-12-16 14:43:31 +01:00
Jean-Philippe Bossuat
bdf9aaa1d6 replaced math/rand in tests by crypto/rand 2020-12-14 15:09:41 +01:00
Christian M
8a56efe889 [ring] added additional parameters checking and errors in ring.NewRing 2020-10-30 12:06:10 +01:00
Jean-Philippe Bossuat
f7b6eeb426 Ring : golint 2019-11-27 10:42:40 +01:00
Jean-Philippe Bossuat
bda3455f14 Constant time isInSlice, shared utils package 2019-11-19 12:38:04 +01:00