Commit Graph

17 Commits

Author SHA1 Message Date
74878e6928 upgrade rand,rand_distr deps 2026-01-16 10:33:36 +00:00
fb1fb6b4e9 Rm const generics (#2)
* arith: get rid of constant generics. Reason:

using constant generics was great for allocating the arrays in the
stack, which is faster, but when started to use bigger parameter values,
in some cases it was overflowing the stack. This commit removes all the
constant generics in all of the `arith` crate, which in some cases slows
a bit the performance, but allows for bigger parameter values (on the
ones that affect lengths, like N and K).

* bfv: get rid of constant generics (reason in previous commit)

* ckks: get rid of constant generics (reason in two commits ago)

* group ring params under a single struct

* gfhe: get rid of constant generics

* tfhe: get rid of constant generics

* polish & clean a bit

* add methods for encoding constants for ct-pt-multiplication
2025-08-14 18:32:43 +02:00
13abadf6e1 tfhe: add bootstrapping impl
add initial version of bootstrapping implementation
2025-08-03 21:24:17 +00:00
7bfcf6f7c1 add TGGSW & TGLev impl 2025-08-03 07:42:29 +00:00
e4717da5b0 tfhe: add external prod TGSW * TLWE, also TLev * Vec<T64> 2025-07-27 20:58:32 +00:00
81306edf05 fusion TFHE to use GFHE underthehood 2025-07-24 14:32:44 +00:00
4790fdbb3b tfhe: ciphertext-plaintext multiplication 2025-07-22 15:42:24 +00:00
fd5c4124ea TLev encryption & decryption 2025-07-22 15:13:35 +00:00
0ca73ac505 (TFHE): add TLWE encryption & decryption 2025-07-22 14:59:56 +00:00
4a082b9187 add modulus switching to GLWE ciphertexts (and Zq,Rq) 2025-07-16 18:15:51 +02:00
92b6f50ccc add GLWE ciphertext-ciphertext addition, and ciphertext-plaintext addition 2025-07-09 17:52:59 +02:00
2998f1761c generalized-fhe: add GLWE encryption & decryption 2025-07-09 17:17:19 +02:00
a8117140fc implement CKKS encoder & decoder 2025-07-04 19:48:17 +02:00
b968310ce1 polish, tensor & mul with relinearization works for some parameters choice 2025-06-22 23:04:28 +02:00
7740a3ef3e work on tensor, fix mul by constant(plaintext) 2025-06-22 18:42:50 +02:00
d2fc32ac0c add wip version of tensor & relinearization 2025-06-22 15:51:20 +02:00
2a82a98285 add NTT implementation, and use it for the negacyclic poly ring multiplication, more details on the NTT can be found at https://github.com/arnaucube/math/blob/master/notes_ntt.pdf . 2025-06-20 23:18:30 +02:00