tmontaigu
2348303b26
chore(ci): pin clap dependency
2023-08-25 21:03:42 +02:00
David Testé
59181d4717
chore(ci): add workflow to check security of parameters sets
...
Cryptographic parameters sets security is checked automatically
with a lattice estimator. The first step is to collect all the
parameters that need to be checked in in a file with a format
understable by Sagemath. Second, a lattice estimator is run in
a Sage script. Each parameters set is run against two attacks and
then security level is estimated from that.
These steps have been put into a GitHub workflow to perform
automatic checks.
Co-authored-by: Ben <ben.curtis@zama.ai >
2023-08-10 16:42:40 +02:00
Arthur Meyre
f2f4e397f1
chore(tfhe): bump version to 0.3.0
2023-06-30 23:10:26 +02:00
Arthur Meyre
e810b42eb6
chore(tfhe): remove wildcard deps
2023-06-21 16:24:22 +02:00
Arthur Meyre
1afdc71689
chore(tfhe): bump version for pre-release
2023-06-16 14:12:39 +02:00
Arthur Meyre
9e307a8945
chore(hlapi): add example to measure CPK and CCTL sizes
...
This also includes key generation time in WASM web client side
2023-06-12 11:41:21 +02:00
Arthur Meyre
3508019cd2
feat(core): Add Compact Public Key
...
- Based on "TFHE Public-Key Encryption Revisited "
https://eprint.iacr.org/2023/603.pdf
Co-authored-by: tmontaigu <thomas.montaigu@laposte.net >
2023-06-07 19:47:50 +02:00
tmontaigu
d4ff1f5595
feat(wasm): add parralellism in wasm API and add wasm for HLAPI
...
Co-authored-by: David Testé <david.teste@zama.ai >
2023-06-02 11:13:12 +02:00
Arthur Meyre
778eea30e9
chore(tfhe): remove anyhow, just use Box<dyn std::error::Error>
2023-05-30 11:55:43 +02:00
Sexosexosexo
509fe7a63e
docs(tfhe): add boolean sha256 tutorial
...
Clap dev dependency added
2023-05-25 00:22:01 +02:00
Yagiz Senal
e66a329e33
docs(tfhe): add dark market tutorial
2023-05-24 23:30:26 +02:00
Rick Klomp
b501cc078a
docs(tfhe): add FHE Regex Pattern Matching Engine
...
this includes a tutorial and an example implementation for the regex bounty
2023-05-24 22:11:53 +02:00
Arthur Meyre
1c837fa6f0
test(core): add normality test based on Shapiro-Francia
2023-05-16 10:12:28 +02:00
tmontaigu
1ec7e4762a
feat(integer): make wopbs compile on wasm
...
The goal here is just to make the code compile
and not allow js api to generate wopbs key yet.
2023-05-15 22:06:36 +02:00
Arthur Meyre
6adfcaa5f7
chore(tfhe): bump version to 0.3.0
2023-05-02 11:10:14 +02:00
Arthur Meyre
64813bae18
chore(tfhe): as seen there are uses of ilog2 which come from rust 1.67
2023-04-28 11:01:06 +02:00
David Testé
2b24eb304d
chore(ci): record benchmarks parameters to be stored in database
...
This is done to comply with the new Zama benchmark standard.
Exhaustive parameters list is stored so once it's parsed and send
to database, one can easily filter results on such parameters in
visualization tool.
2023-04-11 21:35:56 +02:00
Arthur Meyre
b484b8a851
chore(core): add multi bit PBS bench structure
2023-04-11 21:35:56 +02:00
Arthur Meyre
e799d240a7
chore(c_api): allow to build in a simple cargo command, requires nightly
2023-04-11 19:51:51 +02:00
tmontaigu
0f5e1f0141
feat(c_api): add a C API of the high level API
...
One notable change is that since this C API
relies a lot on macro_rules! to be generated
we have to activate cbindgen's `expand` option,
which will use cargo-expand to expand macros.
However this means we can't call bindgen from the build.rs
as it seems to lead to a infinite-loop
(build.rs calls bindgen which calls cargo-expand which calls build.rs...)
So we call the cbindgen binary via the makefile.
2023-04-11 13:41:18 +02:00
sarah el kazdadi
72e7f16179
feat(core): implement 128bit pbs
2023-04-06 17:14:11 +02:00
Arthur Meyre
40b9497dbf
chore(core): remove feature gate for multi-bit PBS
2023-04-03 17:41:59 +02:00
Arthur Meyre
7f050c0fe9
chore(core_crypto): enable the choice of a single fixed fft algorithm
2023-03-29 12:48:49 +02:00
sarah el kazdadi
10174cdac6
feat(fft): update concrete-fft to 0.2.1
2023-03-27 11:00:37 +02:00
tmontaigu
475b838943
chore(makefile): add --all-targets switch to build command
...
This adds the --all-targets to the cargo build commands
invoked by the makefile so that when running
`make build_boolean`, lib, tests, benches, examples are built.
See the `cargo help build`
```
--all-targets
Build all targets. This is equivalent to specifying --lib --bins --tests --benches --examples.
```
2023-03-27 10:59:49 +02:00
Arthur Meyre
68fa6b78a4
feat(tfhe): introduce experimental feature approach for multi_bit_pbs
2023-03-20 16:47:33 +01:00
Arthur Meyre
75f05c0f3a
feat(core): add multi-bit BSK generation and PBS threaded implementation
2023-03-20 16:47:33 +01:00
tmontaigu
0a39f369d2
fix(integer): make radix encryption / decryption work on big endian
2023-03-10 14:09:13 +01:00
Arthur Meyre
14da0ca001
feat(integer): add concrete-integer as integer module
2023-03-07 10:08:53 +01:00
David Testé
8ee7b14abe
chore(ci): benchmark pbs with cost per ms and per dollar spent
...
Here we benchmark a fixed number of PBS with boolean and shortint
flavors on AWS EC2 instance. Once measurements are done, we compute
the number of operations per millisecond and also operations per
dollar we can perform for a given set of cryptographic parameters
and EC2 instance type. Data are then set to Slab that in turn send
them to a database to be plotted in Grafana.
2023-02-23 18:31:23 +01:00
sarah el kazdadi
acfe8697b7
feat(core): speed up karatsuba multiplication
2023-02-14 10:24:22 +01:00
Arthur Meyre
8c4ecb805f
chore(tfhe): bump criterion version to remove outdated dep from dep tree
2023-02-10 15:57:05 +01:00
Arthur Meyre
0ad2d8cef2
chore(tfhe): upgrade csprng version to avoid indirect deprecated aes dep
2023-02-09 17:12:58 +01:00
Arthur Meyre
a43dbebd1b
chore(tfhe): TFHE-rs uses GATs, so needs rust >= 1.65
2023-02-02 17:34:37 +01:00
tmontaigu
106624048c
refactor(all): only depend on bincode when needed
2023-02-01 10:03:41 +01:00
Arthur Meyre
a0dae1c9ae
docs(tfhe): updated user documentation and API documentation
2023-01-12 10:49:07 +01:00
David Testé
0876d7fec0
chore(ci): measure and report key sizes used in benchmarks
...
Size of boostrapping and key switching keys used in benchmarks are
measured and then sent to Slab to be stored into our benchmark
database.
2023-01-03 18:34:41 +01:00
Arthur Meyre
d2392e887f
feat(tfhe): js tests, remove server key requirement for shortint PK
2023-01-02 13:42:09 +01:00
Arthur Meyre
aec0a17a1c
chore(tfhe): update rand to avoid deprecation warnings
2023-01-02 13:42:09 +01:00
Arthur Meyre
4d08b61064
refactor(tfhe): unplug core and remove unused parts
2023-01-02 13:42:09 +01:00
Arthur Meyre
bdd4461702
refactor(tfhe): unplug CUDA from boolean and remove the CUDA backend
2023-01-02 13:42:09 +01:00
Arthur Meyre
00bbfd1545
refactor(tfhe): plug fft backend with new primitives
...
- uniformize fft caches to avoid serialization problems
2023-01-02 13:42:09 +01:00
Arthur Meyre
2d4b8e3aa3
chore(tfhe): update version to 0.2.0
2022-11-14 09:56:22 +01:00
Arthur Meyre
ca16a80dfb
chore(crate): fix description metadata
2022-11-10 20:15:35 +01:00
Arthur Meyre
74c4dbf781
feat(tfhe): new tfhe-rs package, initial commit
2022-11-10 19:03:08 +01:00