361 Commits
Author SHA1 Message Date
zeekay eaf864890e feat: release v7.0.0 with GPU acceleration and module update
- Update module path to github.com/luxfi/lattice/v7
- Add GPU acceleration with Metal (macOS) and CUDA backends
- Enhance threshold FHE operations
- Revert to vanilla Apache 2.0 license (remove tfhe)
- Update Go version to 1.25.5
- Merge upstream lattigo improvements
2025-12-30 15:37:37 -08:00
zeekay 6b9556e45d fix: achieve ZERO TOLERANCE - obliterated all 86 gosec G115 violations
- Fixed all integer type conversions with explicit bounds checking
- Added proper validation for all numeric operations
- Eliminated ALL security vulnerabilities
- ZERO violations remaining - complete annihilation achieved
2025-09-20 23:06:13 +00:00
zeekay 96a611356a Update to latest v6 2025-08-06 20:21:56 -05:00
zeekay 78026c60eb Merge in latest updates from lattigo 2025-08-06 20:09:12 -05:00
zeekay bd8c210383 Update package name 2025-08-06 19:52:38 -05:00
lehugueni 07cb7c816a Merge branch 'main' into typos 2025-07-28 14:04:50 +02:00
lehugueni 16a7d54bc7 style: apply feedback from pr 2025-06-20 16:36:48 +02:00
lehugueni 70c936ba51 refactor: add separate pool structs 2025-06-19 16:58:07 +02:00
lehugueni c1e23a13cf Merge branch 'main' into uint64-syncpool 2025-04-24 11:54:35 +02:00
lehugueni 67e92c7ae1 refactor!: remove all shallowcopy methods
BREAKING CHANGE: all ShallowCopy() methods have been removed
2025-04-16 16:12:28 +02:00
Christian Mouchet 94529ed3b5 fixed math mode rendering of x-out-of-N 2025-04-14 17:56:58 +02:00
Christian Mouchet d3c777627e fixed gosec false positive 2025-04-09 18:08:51 +02:00
Christian Mouchet 9b56c2b66d fixed fmt 2025-04-09 17:59:24 +02:00
Christian MouchetandGitHub 97e3b7e22c Merge branch 'main' into dev_threshold 2025-04-09 17:51:29 +02:00
d1ee329a88 Apply typo fixes from review
Co-authored-by: lehugueni <[email protected]>
2025-04-09 17:30:21 +02:00
lehugueni ad4e89edf7 Merge branch 'main' into typos 2025-03-18 09:00:41 +01:00
lehugueni eaefc7a274 style: typos 2025-02-27 16:38:00 +01:00
lehugueni b7dc806728 Merge branch 'main' into uint64-syncpool 2025-02-20 16:17:28 +01:00
Christian Mouchet b94d840f8d prevent bad display of hyphenized math symboles in READMEs 2025-02-05 14:44:41 +01:00
Christian Mouchet 15fe28fa0b removed todos according to technical committee discussion 2025-02-05 14:39:20 +01:00
Christian Mouchet 72f92724d6 updated general examples README.md 2025-02-05 14:26:25 +01:00
lehugueni 3ce427edc9 fix: uncaught error in ckks example + use pool for new innersum tmp buffer 2025-01-23 10:00:30 +01:00
lehugueni 47f1966c3b Merge branch 'main' into uint64-syncpool 2025-01-23 09:34:52 +01:00
Jean-Philippe Bossuat 6d33e84fcb Cleared all instances of G115 2025-01-21 09:15:17 +01:00
lehugueni 5a252dad37 refactor(ring): newring method takes a pool as an argument
BREAKING CHANGE: the method ring.NewRing has now a mandatory argument of
type structs.BufferPool[*[]uint64]
2025-01-20 14:30:27 +01:00
lehugueni 442ebd237c doc typo + EvaluateGianStep->EvaluateGiantStep 2025-01-14 10:07:11 +01:00
Christian Mouchet ef604674fe multiparty.Combiner accepts the ParameterProvider interface 2024-12-27 16:45:16 +01:00
Christian Mouchet 308d4a8d53 improved console output clarity 2024-12-27 16:39:02 +01:00
lehugueni 453dc54022 apply feedback + add test cases + update changelog 2024-12-17 11:00:30 +01:00
Christian Mouchet b9afe05db5 Improved the int_psi example readability and documentation 2024-12-11 18:14:41 +01:00
Christian Mouchet 5222ac6c18 Adapted the int_pir example to the t-out-of-n-threshold scheme 2024-12-11 18:12:11 +01:00
lehugueni a525b639f6 replace buffers with pools in ckks encoder 2024-11-27 10:58:31 +01:00
lehugueni 5c46c877ec ckks eval buffers to pool 2024-11-26 19:21:55 +01:00
lehugueni d2c972ea9e pool buffers in basis extender 2024-11-26 15:53:09 +01:00
lehugueni 254b25b1ef concurrency main fails 2024-11-26 14:59:43 +01:00
lehugueni bf502da473 fix bfv shallowcopy + psi example with bfv 2024-10-07 11:47:48 +02:00
lehugueni 6e2dde1702 add rescaling in PSI example 2024-10-07 11:47:48 +02:00
771d3cf042 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 <[email protected]>
Co-authored-by: Jean-Philippe Bossuat <[email protected]>
2024-10-07 11:46:55 +02:00
Andrea Caforio 2fdadd379d Merge pull request #492 from tuneinsight/he-collapse
v6.0.0
2024-08-06 14:46:08 +02:00
Andrea Caforio 04177a2f97 adapt changelog to v6 2024-08-06 12:04:33 +02:00
Andrea Caforio 2ce4e54fb8 address first round of v6 comments 2024-08-05 10:27:20 +02:00
Andrea Caforio 8aba6b9be0 rename ./mhe to ./multi_party 2024-08-05 10:27:20 +02:00
Andrea Caforio 930d11db4d create scheme directories in './circuits' 2024-08-05 10:27:20 +02:00
Andrea Caforio 89376eb4de he collapse 2024-08-05 10:27:20 +02:00
Andrea Caforio 1fe9fc1ab3 repackage blind rotations 2024-08-05 10:27:20 +02:00
Andrea Caforio 73cf7dfe6f repackage minimax 2024-08-05 10:27:20 +02:00
Andrea Caforio 920d2f34d6 repackage bootstrapping 2024-08-05 10:27:20 +02:00
Andrea Caforio b95f17b1ff repackage ring packing
The ring packing functionality exclusively uses code from the `rlwe`
and `ring` packages and thus completely sidesteps the `schemes`
layer. As such, it appears more sensible to place the ring packing
functions in the `rlwe` module instead of the new circuits package.
2024-08-05 10:27:20 +02:00
Andrea Caforio 352b34ae69 repack polynomial 2024-08-05 10:27:20 +02:00
Andrea Caforio 16da1a9a6a repack linear transformation 2024-08-05 10:27:20 +02:00