Arthur Meyre
f54fbf52ce
chore: bump tfhe-ntt version to 0.6.1
2025-09-18 09:51:53 +02:00
Andrei Stoian
1dcc3c8c89
chore(gpu): structure to encapsulate streams
2025-09-18 09:43:17 +02:00
Arthur Meyre
8982844a5b
chore: adapt naming of traits to better match current scheme
...
- Standard -> Classic when referring to original PBS implementation
2025-09-17 10:32:40 +02:00
Arthur Meyre
e80d2548af
fix: fix noise simulation modulus instantiation
2025-09-17 10:32:40 +02:00
Arthur Meyre
c0ab0a5752
chore: split noise simulation primitives in sub modules
...
- keep things easier to manage in terms of file size and content density
2025-09-17 10:32:40 +02:00
Arthur Meyre
f7bfe2f10c
chore: uniformize noise check tools naming
2025-09-17 10:32:40 +02:00
Arthur Meyre
29c390d92c
chore: reorg noise check tools
2025-09-17 10:32:40 +02:00
Thomas Montaigu
75a265f93b
fix(integer): fix aggregate_one_hot_vector
...
`aggregate_one_hot_vector`` was modified when the KVStore was
added to support inputs where information in the blocks was not packed.
And to detect if blocks where packed it was relying on the degree value.
However, the inputs may come from LUTs that had precise degree, and
could lead to believe the inputs were not packed.
To fix this we split in 2 fn:
* aggregate_one_hot_vector
* aggregate_and_unpack_one_hot_vector
And use the correct one when we know if the inputs are packed
2025-09-15 10:27:24 +02:00
tmontaigu
9fb7b56629
feat(integer): add KVStore
...
The KVStore is a Hash Table, with homomorphic capabilities
The keys are meant to be clear integers, values are meant to be
Radix/SignedRadix
The ServerKey now has functions to be able to do operations that modify
an existing key,value pair using an encrypted key.
2025-09-11 13:55:42 +02:00
tmontaigu
2b503acf18
chore(shortint): add consts for MetaParameters
2025-09-10 15:15:06 +02:00
tmontaigu
57cc326a64
feat(shortint): MetaParameters struct
...
There are a lot of different parameter types in tfhe-rs, related to
different but linked features. Thus when some PBS parameters are
selected, compatible compression parameters must be selected from the
possible parameters.
To make things easier, the MetaParameters struct is added, this stores
in one place parameters that can be used together.
2025-09-10 15:15:06 +02:00
Arthur Meyre
84eb8aeb63
test(shortint): add BR + DP + KS + MS noise checks
...
- sanity check, noise measurement and pfail are done
2025-09-10 14:50:28 +02:00
Arthur Meyre
f09acfa581
chore: rename test files to remove redundant name fragment
2025-09-10 14:50:28 +02:00
tmontaigu
f80fd157ae
fix(c-api): add missing safe_deser for ServerKey
2025-09-10 13:40:44 +02:00
tmontaigu
e8dc403ebd
feat(integer): add flip operation
...
Add the flip(condition: BooleanBlock, a: T, b: T) -> (T, T)
operation that homomorphically flip/swap two values if the
given encrypted boolean encrypts true
2025-09-10 09:44:28 +02:00
Pedro Alves
63e5504c80
doc(gpu): add a section about noise squashing
2025-09-09 13:10:23 -03:00
Nicolas Sarlin
d664e4ada6
docs(safe_ser): document panics if max size is too large
2025-09-09 17:03:23 +02:00
Pedro Alves
c78cc2d2e9
chore(gpu): add a benchmark for 128-bit multi-bit noise squashing
...
- Also, remove the lut indexes concept from the 128-bit multi-bit pbs. It's assumed not to exist by the entire backend (as it doesn't for classical PBS). So to keep it here would be a bit error prone.
2025-09-09 07:51:35 -03:00
Pedro Alves
b566d78621
chore(gpu): improve the 128-bit multi-bit PBS core crypto test
2025-09-09 07:51:35 -03:00
Pedro Alves
7da6786d59
feat(gpu): add support to the 128-bit multi-bit PBS on HL's noise squashing
2025-09-09 07:51:35 -03:00
Himess
6fde90ad9c
chore(clap): Replace use of deprecated attributes
...
Replace deprecated #[clap(...)] attributes to #[arg]/#[command] and remove redundant use of value_parser
2025-09-09 09:35:59 +02:00
Nicolas Sarlin
9c0d078e1a
chore(zk): bump tfhe-zk-pok to 0.7.2
2025-09-08 09:30:34 +02:00
dependabot[bot]
01d1fa96d7
chore(deps): bump on-headers and serve in /tfhe/web_wasm_parallel_tests
...
Bumps [on-headers](https://github.com/jshttp/on-headers ) to 1.1.0 and updates ancestor dependency [serve](https://github.com/vercel/serve ). These dependencies need to be updated together.
Updates `on-headers` from 1.0.2 to 1.1.0
- [Release notes](https://github.com/jshttp/on-headers/releases )
- [Changelog](https://github.com/jshttp/on-headers/blob/master/HISTORY.md )
- [Commits](https://github.com/jshttp/on-headers/compare/v1.0.2...v1.1.0 )
Updates `serve` from 14.2.3 to 14.2.5
- [Release notes](https://github.com/vercel/serve/releases )
- [Commits](https://github.com/vercel/serve/compare/14.2.3...v14.2.5 )
---
updated-dependencies:
- dependency-name: on-headers
dependency-version: 1.1.0
dependency-type: indirect
- dependency-name: serve
dependency-version: 14.2.5
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-05 09:14:55 +02:00
David Testé
4a0658389e
chore(bench): make bits to prove customizable in zk benchmarks
...
Some application like blockchain, may wants to prove less bits
than CRS size allows to.
2025-09-05 09:03:24 +02:00
Guillermo Oyarzun
c2e816a86c
fix(gpu): change mininum number of elements in benches
2025-09-04 11:03:27 +02:00
Pedro Alves
b42ba79145
feat(gpu): implement support for 128-bit compression on the HL API
2025-09-03 14:33:08 -03:00
Agnes Leroy
69b055c03f
chore(gpu): update parameters for classical pbs128
2025-09-03 17:22:52 +02:00
Nicolas Sarlin
e2c7359057
chore(csprng): use getrandom as random source for unix seeder
2025-09-03 17:21:22 +02:00
Nicolas Sarlin
b8a9a15883
doc: explain how to run first example
2025-09-02 16:48:33 +02:00
Nicolas Sarlin
a7d931449a
doc(core): remove warning about glwe polynomial size of 1
2025-09-02 15:49:15 +02:00
Nicolas Sarlin
099bccd85f
chore(safe_ser): check serialization header version
2025-09-01 17:29:47 +02:00
Nicolas Sarlin
b9d75c9f8f
fix: remove references to 2^-64 pfail for GPU
2025-09-01 17:01:15 +02:00
Nicolas Sarlin
543517cea5
chore(core): use checked_mul for container indexing
2025-09-01 15:36:44 +02:00
Nicolas Sarlin
fed5c1db1e
fix(core): potential overflow for glwe encrypt on 32b platforms
2025-09-01 15:36:06 +02:00
Nicolas Sarlin
c9249fe991
chore(core): size checks in Fourier128GgswCiphertext::from_container
2025-09-01 15:35:58 +02:00
Nicolas Sarlin
d308305eb1
doc(core): add some "panics" comments
2025-09-01 15:35:41 +02:00
Nicolas Sarlin
f66730deb6
chore(core)!: add ExactSizeIterator to izip macro, renamed izip_eq
2025-09-01 15:35:41 +02:00
Pedro Alves
cad4070ebe
fix(gpu): fix the decompression function signature in the backend
2025-08-29 21:09:40 +02:00
Pedro Alves
94d24e1f8b
feat(gpu): implement the centered modulus switch technique to classical PBS
2025-08-29 11:38:26 -03:00
Pedro Alves
9a1c0f48f4
feat(gpu): implement 128-bit compression and add it to the integer API
2025-08-29 11:26:07 -03:00
Guillermo Oyarzun
a8f391a442
chore(gpu): update 4_1_1 params to match specialized pbs
2025-08-28 17:54:59 +02:00
Nicolas Sarlin
fa48444611
chore(ci): update toolchain to nightly-2025-08-26
2025-08-28 08:41:48 +02:00
Nicolas Sarlin
451458df97
chore(csprng): bump version to 0.7.0
2025-08-26 19:32:40 +02:00
Nicolas Sarlin
bafce4657a
fix(csprng): use u64 for ChildrenCount and BytesPerChild
2025-08-26 19:32:40 +02:00
Andrei Stoian
f776c737a1
chore(gpu): fix typos
2025-08-25 10:02:07 +02:00
Nicolas Sarlin
cc6b074f6d
chore(core): add check for polynomial size in schoolbook mul
2025-08-22 16:53:56 +02:00
Nicolas Sarlin
53da030831
fix(shortint): set correct degree for noise squashed decompressed ct
2025-08-22 09:42:59 +02:00
Nicolas Sarlin
cedcbb99e7
chore(core): add len checks for polynomial lists
2025-08-22 09:42:50 +02:00
Arthur Meyre
58e02e56d1
chore: fix some warnings appearing during compilation with 1.89
...
- linked to new lints/warnings for elided lifetimes our old nightly
toolchain does not know about
2025-08-21 18:13:05 +02:00
tmontaigu
d389ea67a1
refactor!: Use NonZero<T> in DataKind
...
Change the type used to store a block count in
DataKind to NonZero. This makes it impossible to store
'empty' kinds such as DataKind::Unsigned(0), DataKind::Signed(0).
Also, when deserializing, if the count is zero and error will be
returned, adding an additional layer of sanitization.
2025-08-21 16:18:28 +02:00