Commit Graph

126 Commits

Author SHA1 Message Date
f075ba444b minimal changes to reproduce printing ci_big at encrypt_pk 2026-01-16 14:32:20 +00:00
dc1b13b9b3 expose pub fields 2026-01-08 11:22:44 +00:00
Jean-Philippe Bossuat
4e90e08a71 Support for bivariate convolution & normalization with offset (#126)
* Add bivariate-convolution
* Add pair-wise convolution + tests + benches
* Add take_cnv_pvec_[left/right] to Scratch & updated CHANGELOG.md
* cross-base2k normalization with positive offset
* clippy & fix CI doctest avx compile error
* more streamlined bounds derivation for normalization
* Working cross-base2k normalization with pos/neg offset
* Update normalization API & tests
* Add glwe tensoring test
* Add relinearization + preliminary test
* Fix GGLWEToGGSW key infos
* Add (X,Y) convolution by const (1, Y) poly
* Faster normalization test + add bench for cnv_by_const
* Update changelog
2025-12-21 16:56:42 +01:00
laruizlo
7dc4ac2aae docs: Fix typos at poulpy-core/README/md 2025-12-15 15:36:30 -05:00
Pro7ech
3c818d292b Update to non-avx builds 2025-11-21 16:38:19 +01:00
Jean-Philippe Bossuat
8a039e1c3a Update doc & readme (#122)
* update poulpy_arch.svg

* update main readme

* update lib_diagram.png & main readme

* update poulpy-core readme

* update backend readmes

* update poulpy-hal readme

* update poulpy-schemes readme

* update CHANGELOG.md
2025-11-19 17:08:11 +01:00
Jean-Philippe Bossuat
9e007c988f Backend refactor (#120)
* remove spqlios, split cpu_ref and cpu_avx into different crates

* remove spqlios submodule

* update crate naming & add avx tests
2025-11-19 15:34:31 +01:00
Pro7ech
43fc5119f4 Added glwe rank switch before glwe -> lwe 2025-11-19 10:15:30 +01:00
Pro7ech
c23cf7803b Working schemes 2025-11-19 09:31:50 +01:00
Pro7ech
48757fac7c working cross-base2k circuit bootstrapping 2025-11-19 09:23:51 +01:00
Pro7ech
59a1b6616a Fix seeded glwe encryption 2025-11-18 23:57:24 +01:00
Pro7ech
2fb1627613 fixed many test noise check + update noise retrieval (not passing) 2025-11-18 17:38:16 +01:00
Pro7ech
0d4f7ed424 Add cross-base2k GGSW product 2025-11-18 09:30:54 +01:00
Pro7ech
f39e3e2865 Remove Zn (replaced by VecZnx), add more cross-base2k ops & tests 2025-11-18 01:08:20 +01:00
Pro7ech
a3264b8851 Update cross-base2k keyswitch routine & tests, + add GLWE cross base2k conversion test 2025-11-17 16:48:52 +01:00
Pro7ech
923db5e715 Add updated noise equation for glwe keyswitch 2025-11-17 16:48:00 +01:00
Pro7ech
bd80e8eadb re-enable disable test 2025-11-17 16:47:14 +01:00
Pro7ech
6c03542599 fix .max_k() returning wrong value 2025-11-17 16:46:33 +01:00
Pro7ech
08d3f55af9 fix cross-base2k vec_znx_normalize wrong early carry 2025-11-17 16:46:33 +01:00
Pro7ech
b062c722a0 Add support for blind retrieval 2025-11-15 22:41:11 +01:00
Pro7ech
28102b684f improve glwe_trace noise 2025-11-14 21:04:57 +01:00
Pro7ech
b11213c454 Add glwe_normalize_tmp_bytes & update assertion error 2025-11-12 22:49:12 +01:00
Pro7ech
6924ffd94a Add prepare multi thread 2025-11-11 23:30:20 +01:00
Pro7ech
af45595848 Improve noise stats functionality 2025-11-11 11:19:17 +01:00
Pro7ech
75842cd80a Improve cmux speed 2025-11-07 17:56:33 +01:00
Pro7ech
1d23dfc078 Update to custom fheuint prepare 2025-11-07 08:49:32 +01:00
Pro7ech
c32db7d963 add take ggsw slice 2025-11-06 19:01:21 +01:00
Pro7ech
6cf571c0b0 add sext for fheuint 2025-11-05 09:25:05 +01:00
Pro7ech
3cd79e5a90 Updated packing to clean values correctly 2025-10-30 15:58:30 +01:00
Pro7ech
201a1f64eb Replace hasmap of glweautomorphismkeys by helper trait, enabling not having to pass, for example, but full CBT key for ops that do not require it 2025-10-30 10:42:28 +01:00
Pro7ech
8743eeb800 Add FheUint from Vec<GLWE> 2025-10-29 16:26:47 +01:00
Pro7ech
c761d2cae0 update BDD ciphertext types + API for GLWEToLWE 2025-10-29 00:59:45 +01:00
Pro7ech
8c1cc354e3 Update FheUint ciphertext naming + circuit evaluation based on GetGGSWBit 2025-10-28 15:44:05 +01:00
Pro7ech
8ba01a6420 Merge remote-tracking branch 'origin/main' 2025-10-28 11:04:09 +01:00
Pro7ech
a085d36fd9 udpated changelog 2025-10-28 09:02:18 +01:00
Rasoul Akhavan Mahdavi
4afdbf4b89 Getters for blocks 2025-10-27 19:40:30 -04:00
Pro7ech
8d4c19a304 Distinguish between gglwe_to_ggsw key and tensor_key + update key repreentation 2025-10-27 18:03:18 +01:00
Pro7ech
41ca5aafcc Add glwe tensoiring 2025-10-26 19:03:15 +01:00
Pro7ech
6e9cef5ecd Auto stash before merge of "dev_bdd_selector" and "origin/dev_bdd_selector" 2025-10-26 17:31:07 +01:00
Pro7ech
6dd93ceaea Add test for ggsw scalar blind rotation 2025-10-26 10:28:13 +01:00
Pro7ech
98208d5e67 add test for GLWEBlindRotation 2025-10-25 18:06:30 +02:00
Pro7ech
eaac9c07d8 Add GLWETensor 2025-10-25 15:43:18 +02:00
Jean-Philippe Bossuat
d989867c91 Add bdd rotation 2025-10-24 18:13:43 +02:00
Jean-Philippe Bossuat
122bdce930 Typo 2025-10-24 15:07:04 +02:00
Pro7ech
5cd2d0ca13 Updated workspace 2025-10-23 11:41:26 +02:00
Pro7ech
06795e9547 Add tests to BDD 2025-10-23 10:11:12 +02:00
Pro7ech
cedf7b9c59 clippy 2025-10-22 16:43:46 +02:00
Pro7ech
56a88892a5 fixed cbt tests 2025-10-22 10:37:45 +02:00
Pro7ech
706ecf3d07 compiling CBT but failing tests 2025-10-22 10:00:32 +02:00
Pro7ech
0926913001 fix blind rotation 2025-10-21 14:26:53 +02:00