Arthur Meyre
89bf6a3331
chore: add tool to update AP params' msg and carry moduli
2025-11-17 09:41:53 +01:00
Arthur Meyre
82cebb9b26
test(shortint): add compression atomic pattern for noise checks
...
- noise checks and pfail based on expected noise have been added
- compatible with KS PBS and KS32 PBS
2025-11-17 09:41:53 +01:00
Arthur Meyre
ba5f4850b9
chore: update naming of noise simulation primitive to avoid clashes
...
- makes it clearer from which parameters some noise simulation primitives
are built from
2025-11-17 09:41:53 +01:00
Arthur Meyre
7197b85ec9
chore: lift some restrictions on confidence interval function
...
- if a value is computed it will be correct
- if the value is not finite (NaN or infinity) we panic with a message to
the user indicating what course of action they can take
- ideally we would want to use a scientific crate written in rust, xsf-rust
seemed promising but the dependency on clang + libclang is proving more
annoying than not, given we would need a single function from xsf (and it's
hard to translate all the required pieces) we keep a sort of status quo
- statrs issue : https://github.com/statrs-dev/statrs/issues/361
2025-11-17 09:41:53 +01:00
Arthur Meyre
84c80c529d
chore: remove redundant clones
...
co-authored-by: Himess <95512809+Himess@users.noreply.github.com >
2025-11-14 14:14:39 +01:00
Arthur Meyre
c3c892708a
chore: fix comment confusing comment in decomposer.rs
...
- function is documented and the comment did not match, the behavior is
checked in a test
2025-11-14 14:14:24 +01:00
Arthur Meyre
d75844dea5
fix(core): fix decomposition algorithm not matching the theory
...
- problem arose from a shift being done on an unsigned value which did not
keep the signed characteristics of the represented signed value
- introduce an arithmetic_shift on the UnsignedInteger trait with a blanket
implementation
- add the edge case which revelead the issue
- the asm has been verified to only change for the shift operation being
applied, meaning no performance regression will occurr
2025-11-14 13:52:17 +01:00
Nicolas Sarlin
6d2de330a4
feat(core): create Lwe ct from mod switched lwe
2025-11-14 10:57:33 +01:00
pgardratzama
4dcc428d46
chore(hpu): update PBS results with latest bistream
2025-11-10 18:43:50 +01:00
pgardratzama
d38df76eb6
chore(hpu): adds a page about HPU PBS performances
2025-11-10 18:43:50 +01:00
David Testé
4cc2df42ed
chore(ci): make sage parameters dump ordered
...
This is done to ease line-by-line comparison between security check runs.
2025-11-07 17:24:19 +01:00
David Testé
40f500ef07
chore(ci): use tuniform value as xe value in parameters dump
2025-11-07 17:24:19 +01:00
Nicolas Sarlin
faaeab12d0
doc(core): update unix seeder doc
2025-11-07 15:44:23 +01:00
Mayeul@Zama
36fb820ed4
chore: fix new lints
2025-11-07 10:43:46 +01:00
Arthur Meyre
0cd0333875
chore: remove redundant Clone bound from get()
...
co-authored-by: VolodymyrBg <aqdrgg19@gmail.com >
2025-11-06 14:43:04 +01:00
Enzo Di Maria
4ff95e3a42
feat(gpu): AES 256
2025-11-05 13:37:08 +01:00
Ben
5854c2c450
chore(docs): add example estimator call
2025-11-03 18:25:45 +01:00
Arthur Meyre
00ce0deec9
chore: make typos version fixed
...
- add a script to properly install the correct version
- correct new typos
2025-11-03 14:58:23 +01:00
Arthur Meyre
0ff5a9ef7c
chore: fix typos
...
closes https://github.com/zama-ai/tfhe-rs/issues/2964
2025-10-31 14:25:34 +01:00
Nicolas Sarlin
83b82091bd
chore: use common msrv for the workspace
...
Since cargo commands create a lock using the smallest msrv in the workspace, it
can prevent getting up-to-date dependencies
2025-10-31 09:31:43 +01:00
Nicolas Sarlin
b8fd0e4240
chore: bump tfhe-versionable to 0.6.3 and tfhe-zk-pok to 0.8.0
2025-10-30 16:53:36 +01:00
Nicolas Sarlin
b7fc208e40
chore(zk): match zkv2 hash impl with the description
...
- encode the position of bits proven to be 0 in the hashes
- hash the infinite norm instead of the euclidean one
- hash the value of k with the statement
2025-10-30 16:53:36 +01:00
Mayeul@Zama
54626cab6d
refactor(shortint): use ShortintBootstrappingKey in DecompressionKey
2025-10-30 16:52:44 +01:00
Nicolas Sarlin
bc493a5641
fix(shortint): avoid to crash when thread engine is reused
2025-10-30 14:51:01 +01:00
Enzo Di Maria
398c441c95
refactor(gpu): delete useless GPU params
2025-10-30 08:59:10 +01:00
Enzo Di Maria
026cc376ed
refactor(gpu): multibit decompression
2025-10-30 08:59:10 +01:00
Pedro Alves
867f8fb579
feat(gpu): implement re-randomization
...
- exposed to integer and HL API
- test on the HL API
- benchmarks for GPU and CPU implementation
2025-10-29 17:55:45 -03:00
Arthur Meyre
0223913aef
chore: make functions consistent to generate keyswitching keys
...
- so that normal and seeded variants have similar APIs
2025-10-29 15:31:22 +01:00
Arthur Meyre
a41cd47b9e
refactor(test): make modulus switch config system make more sense
...
- The config type can hold any type for the drift technique variant because
the bounds are too weird to set on the type, the functions making use of
the config type should properly declare the bounds
2025-10-29 15:31:22 +01:00
Arthur Meyre
d95b46cb9b
refactor(test): factorize the any modulus switch function for noise checks
2025-10-29 15:31:22 +01:00
Guillermo Oyarzun
0f0438c8cf
feat(gpu): add 1_1 classical pbs params for specialized version
2025-10-29 09:18:18 +01:00
Arthur Meyre
9d31e994aa
chore(docs): make difference between benchmarks stand out more
2025-10-28 10:35:23 +01:00
Arthur Meyre
b02a3b16ff
test: add rerand atomic pattern for noise checks
...
- make sure it works with KS32 parameters
2025-10-27 13:21:50 +01:00
Arthur Meyre
a95ee140f5
refactor: remove noise check function with PBS for sanity check
...
- it's a lot of code to "just" compute an additional PBS to make shortint
sanity checks, so run the function which gives the ms result, and complete
the AP by running the PBS as shortint would, gets rid of a big function
that was doing the same thing
2025-10-27 13:21:50 +01:00
Thomas Montaigu
c10f1def70
fix: Tag propagation in XofKeySet
2025-10-24 10:40:22 +02:00
Mayeul@Zama
31a0136655
test(all): test multi bit decompression
2025-10-24 09:28:17 +02:00
Mayeul@Zama
777bbe437a
feat(shortint): add multi bit decompression
2025-10-24 09:28:17 +02:00
Mayeul@Zama
3842032f08
chore(shortint): fix unused function
2025-10-24 09:28:17 +02:00
Nicolas Sarlin
a694e08ddc
fix(core): par_encrypt_and_prove was using sequential encryption
2025-10-23 10:08:06 +02:00
pgardratzama
79f1d22573
fix(hpu): scalar rot & shift were not doing anything and not tested in test/hpu.rs
2025-10-21 13:29:59 +02:00
Agnes Leroy
b4b6275ca5
chore(gpu): remove device synchronize in drop for cudavec
2025-10-21 11:33:46 +02:00
Agnes Leroy
42644349ef
chore(gpu): remove remaining async functions from the integer gpu api
2025-10-20 16:19:19 +02:00
Thomas Montaigu
39fbc20360
fix(js): catch undefined variant using Option<>
...
In the JS ShortintParametersName, users could
make typo in the variant used e.g:
`ShortintParametersName.PARAM_MESSAGE_2_CARRY128`
In JS this returns `undefined` which is then later casted to an
int and it becomes 0, leading to match the first variant
We modify the input to receive an `Option<ShortintParametersName>`
as it seems to allow us to catch the `undefined` and return a proper
error
2025-10-20 14:37:36 +02:00
Agnes Leroy
34ffbadc72
chore(gpu): remove async from div, even odd, ilog2
2025-10-20 11:34:37 +02:00
Agnes Leroy
4322214d8f
chore(gpu): remove async bitop cmux comparisons neg
2025-10-20 11:34:37 +02:00
Agnes Leroy
c30835fc30
chore(gpu): remove async entry points for abs, add, sub, aes
2025-10-17 15:42:06 +02:00
Agnes Leroy
f78bea23be
chore(gpu): remove async functions in radix mod.rs
2025-10-17 13:22:05 +02:00
Thomas Montaigu
106b46be7c
chore(docs): add KVStore docs
2025-10-17 13:05:52 +02:00
David Testé
0e1082f465
chore(docs): update benchmark results for all backends
...
This also removes tables in PBS benchmarks for failure probability
of 2**-40.
2025-10-17 09:49:47 +02:00
Arthur Meyre
375a4f80ae
docs: add ReRand documentation
2025-10-16 16:50:19 +02:00