Commit Graph

153 Commits

Author SHA1 Message Date
lehugueni
c426851de6 refactor: add separate pool structs 2025-06-19 16:58:07 +02:00
lehugueni
613012b0a2 refactor: remove pools logic for higher-level structs 2025-04-24 09:39:08 +02:00
lehugueni
056040ac4c Merge branch 'uint64-syncpool' into ts-sampling 2025-02-20 16:20:36 +01:00
lehugueni
ee2850bad4 Merge branch 'main' into uint64-syncpool 2025-02-20 16:17:28 +01:00
lehugueni
2da1be7e15 refactor: make keyedprng thread-safe, restrict usage + add warning 2025-02-20 15:07:30 +01:00
lehugueni
89af606619 feat: make samplers thread-safe + thread safe prng in encryptor 2025-01-27 13:35:28 +01:00
Jean-Philippe Bossuat
cf2e63d73d Applied suggested changes 2025-01-21 09:40:37 +01:00
Jean-Philippe Bossuat
952047663d Cleared all instances of G115 2025-01-21 09:15:17 +01:00
lehugueni
ee42b96e77 refactor: keep only BuffFromUintPool and cleanup 2025-01-16 11:07:19 +01:00
lehugueni
77c62e6421 bufferpool uint64 in ring 2024-12-12 14:26:08 +01:00
lehugueni
5e6a37a7e4 change generic 2024-12-11 15:40:06 +01:00
lehugueni
0504cfa1a6 freelist + benchmarking 2024-12-03 10:41:56 +01:00
lehugueni
6cb65c300a use interface+generic 2024-11-29 14:58:21 +01:00
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