Commit Graph

140 Commits

Author SHA1 Message Date
Romain Bouyé
e9e04b1445 applying lattigo-e patch
CHANGELOG:
- Update of `PrecisionStats` in `ckks/precision.go`:
  - precision/error stats computed as log2 of min/max/average/...
  - fields renamed (`MinPrecision` -> `MINLog2Prec`, `MaxPrecision` -> `MAXLog2Prec`, ...)
  - `rlwe.Scale` has a `.Log2()` method
- Update of `mod1.Parameters` fields (made public, some removed)
- Improvement of the relinearization key-generation protocol (reduce the degree of the shares)
- Serialisation of bootstrapping keys
- Lower noise incurred by `ModUp`
- Evaluation keys can be compressed (public element `a` can be generated from a seed)
- More doc formatting
- Fix various bugs:
  - `ShallowCopy` of the CKKS bootstrapping evaluator and BFV evaluator not deep enough.
  - PSI example failing
  - Incorrect reset of pointer in uniform sampler
  - Error when doing inverse NTT with small degree
  - Mod1Evaluator changes the input ciphertext

Co-authored-by: Andrea Caforio <andrea.caforio@protonmail.com>
Co-authored-by: Jean-Philippe Bossuat <jean-philippe@tuneinsight.com>
2024-10-07 11:46:55 +02:00
Andrea Caforio
f8b84f5165 Merge pull request #492 from tuneinsight/he-collapse
v6.0.0
2024-08-06 14:46:08 +02:00
Andrea Caforio
d6f5dfbe8b adapt changelog to v6 2024-08-06 12:04:33 +02:00
Andrea Caforio
b906a2561c repackage mod1
Additionally, move the cleartext cosine approximation to the utils
package.
2024-08-05 10:27:20 +02:00
Andrea Caforio
1952973cd9 bump go version to 1.22 and use slices std library package 2024-06-05 09:44:14 +02:00
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
c031b14be1 updated imports to v5 2023-11-14 19:15:38 +01:00
Jean-Philippe Bossuat
d2f8555f40 [hefloat/bootstrapping]: fixed high precision bootstrapping 2023-11-08 16:46:16 +01:00
Jean-Philippe Bossuat
5bc8a934cc Update utils/structs/map.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:05:54 +01:00
Jean-Philippe Bossuat
494ff5f47d Update utils/structs/vector.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:05:46 +01:00
Jean-Philippe Bossuat
089a4b470f Update utils/structs/vector.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:05:37 +01:00
Jean-Philippe Bossuat
9abfb274bf Update utils/structs/matrix.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:05:26 +01:00
Jean-Philippe Bossuat
450cd1880e Update utils/structs/matrix.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:04:04 +01:00
Jean-Philippe Bossuat
e2a343a2ac Update utils/buffer/reader.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:03:54 +01:00
Jean-Philippe Bossuat
55e4ea8d38 Update utils/buffer/reader.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:03:46 +01:00
Jean-Philippe Bossuat
c057dc4bf5 Update utils/buffer/reader.go
Co-authored-by: Boris Flesch <13056415+borisflesch@users.noreply.github.com>
2023-10-30 15:03:36 +01:00
Jean-Philippe Bossuat
a0d8e7617e [bgv]: added tests for IsBatched = false 2023-10-27 10:53:44 +02:00
Jean-Philippe Bossuat
4f6ea2ded4 [utils/sampling]: removed panics & removed PRNG in ckks.Encoder 2023-10-27 10:48:41 +02:00
Jean-Philippe Bossuat
3a500fcf1a [utils/factorization]: updated tests 2023-10-27 10:06:15 +02:00
Romain Bouyé
8c2cedc81d [utils/factorization]: add tests for IsPrime and GetFactors 2023-10-26 22:28:29 +02:00
Jean-Philippe Bossuat
779c67fccb review suggestions 2023-10-25 17:56:21 +02:00
Jean-Philippe Bossuat
53bd7b2674 Update utils/bignum/complex.go
Co-authored-by: Thity <thierry@bossy.space>
2023-10-25 17:47:24 +02:00
Jean-Philippe Bossuat
cadc433fa5 Update utils/bignum/minimax_approximation.go
Co-authored-by: Thity <thierry@bossy.space>
2023-10-25 17:47:10 +02:00
Jean-Philippe Bossuat
1f980a312c Update utils/bignum/complex.go
Co-authored-by: Thity <thierry@bossy.space>
2023-10-25 17:46:46 +02:00
Jean-Philippe Bossuat
cd448d6054 [all]: made insecure test parameters private & added comment 2023-10-13 14:52:15 +02:00
Jean-Philippe Bossuat
87e27e46eb [gosec]: added small comments on nopsec exceptions 2023-10-13 14:38:42 +02:00
Romain Bouyé
8868658f69 Typo fixes on v5 pass 2023-10-13 00:14:52 +02:00
Jean-Philippe Bossuat
69f0d511f2 staticcheck 2023-10-05 14:05:40 +02:00
Jean-Philippe Bossuat
fd243a2566 [utils/buffer]: added equality checks
[ring.Poly]: removed .Buff (not needed anymore)
2023-10-05 14:03:17 +02:00
Jean-Philippe Bossuat
0f9e100596 [utils/structs]: expanded support for floats and integers. 2023-10-05 11:22:36 +02:00
Jean-Philippe Bossuat
c631457984 [utils/structs]: fixed error messages 2023-10-05 09:18:08 +02:00
Jean-Philippe Bossuat
5d2a8a4b81 typo 2023-10-04 10:44:51 +02:00
Jean-Philippe Bossuat
4bb5cdbee8 [utils/buffer]: added generics 2023-10-04 10:36:15 +02:00
Jean-Philippe Bossuat
c0f3c85ae8 [utils/bignum]: fixed bug in Chebyshev Approximation 2023-09-20 11:26:03 +02:00
Jean-Philippe Bossuat
80da8ff3c7 [circuits/float]: tweeks 2023-09-19 22:38:55 +02:00
Jean-Philippe Bossuat
806a3564d5 [circuits/float]: rework of x mod 1 2023-08-11 17:28:17 +02:00
Jean-Philippe Bossuat
881cb30ea0 [wip]: fixed another bug in Remez algorithm 2023-08-09 18:36:55 +02:00
Jean-Philippe Bossuat
f51c9866ac [utils/bignum]: fixed Chebyshev approximation 2023-08-09 13:46:37 +02:00
Jean-Philippe Bossuat
e435c3ff83 [utils/bignum]: fixed bug in minimax Remez approximation algorithm 2023-08-09 12:45:55 +02:00
Jean-Philippe Bossuat
6febdf015c [circuits]: added division, step and sign 2023-08-08 23:13:47 +02:00
Jean-Philippe Bossuat
803a26b14d [rlwe]: improved evaluation keys parameters 2023-07-23 01:32:45 +02:00
Christian Mouchet
37029f293b some renaming and godocing 2023-07-18 17:49:56 +02:00
Christian Mouchet
ada6bb1b74 small improvements ckks encoder code and doc 2023-07-17 09:07:41 +02:00
Jean-Philippe Bossuat
d56f37f35b [bignum]: easier to user Chebyshev approximation 2023-07-15 22:52:19 +02:00
Jean-Philippe Bossuat
46f97267da generic Operand 2023-07-15 19:27:30 +02:00
Jean-Philippe Bossuat
2a78b14c53 [bignum]: added tests 2023-07-14 21:31:48 +02:00
Jean-Philippe Bossuat
6096f74ae2 [buffer]: added wrapper with int64 counter 2023-07-14 20:21:22 +02:00
Jean-Philippe Bossuat
1be270947e merged bignum/polynomial and bignum/approximation into bignum 2023-07-14 20:20:55 +02:00
Jean-Philippe
17caa545ea gofmt 2023-07-13 11:43:22 +02:00
Jean-Philippe Bossuat
e709b2c756 [buffer]: fixed a few bugs and added float64 support 2023-07-13 00:46:53 +02:00