diff --git a/Cargo.lock b/Cargo.lock index a1aed8a..1f98230 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -328,6 +328,12 @@ dependencies = [ "libc", ] +[[package]] +name = "ethnum" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8ff382b2fa527fb7fb06eeebfc5bbb3f17e3cc6b9d70b006c41daa8824adac" + [[package]] name = "fastrand" version = "2.0.1" @@ -336,7 +342,7 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "fhe" -version = "0.1.0-beta.5" +version = "0.1.0-beta.6" dependencies = [ "console", "criterion", @@ -360,10 +366,11 @@ dependencies = [ [[package]] name = "fhe-math" -version = "0.1.0-beta.5" +version = "0.1.0-beta.6" dependencies = [ "criterion", "crypto-bigint", + "ethnum", "fhe-traits", "fhe-util", "itertools 0.11.0", @@ -383,14 +390,14 @@ dependencies = [ [[package]] name = "fhe-traits" -version = "0.1.0-beta.5" +version = "0.1.0-beta.6" dependencies = [ "rand", ] [[package]] name = "fhe-util" -version = "0.1.0-beta.5" +version = "0.1.0-beta.6" dependencies = [ "itertools 0.11.0", "num-bigint-dig", @@ -678,9 +685,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", "libm", diff --git a/Cargo.toml b/Cargo.toml index 25fa99a..473d224 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,25 +8,27 @@ authors = ["Tancrède Lepoint"] documentation = "https://fhe.rs" edition = "2021" repository = "https://github.com/tlepoint/fhe.rs" -version = "0.1.0-beta.5" +version = "0.1.0-beta.6" license-file = "LICENSE" [workspace.dependencies] console = "0.15.7" criterion = "0.5.1" crypto-bigint = "0.5.3" +doc-comment = "0.3.3" +ethnum = "1.4.0" indicatif = "0.17.7" itertools = "0.11.0" ndarray = "0.15.6" num-bigint = "0.4.4" num-bigint-dig = "0.8.4" -num-traits = "0.2.16" +num-traits = "0.2.17" proptest = "1.3.1" +prost = "0.12.1" +prost-build = "0.12.1" rand = "0.8.5" rand_chacha = "0.3.1" sha2 = "0.10.8" thiserror = "1.0.49" zeroize = "1.6.0" zeroize_derive = "1.4.2" -prost = "0.12.1" -prost-build = "0.12.1" diff --git a/README.md b/README.md index 4013254..bf25574 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,8 @@ To install, add the following to your project's `Cargo.toml` file: ```toml [dependencies] -fhe = "0.1.0-beta.5" -fhe-traits = "0.1.0-beta.5" +fhe = "0.1.0-beta.6" +fhe-traits = "0.1.0-beta.6" ``` ## Minimum supported version / toolchain diff --git a/crates/fhe-math/CHANGELOG.md b/crates/fhe-math/CHANGELOG.md deleted file mode 100644 index 8598d18..0000000 --- a/crates/fhe-math/CHANGELOG.md +++ /dev/null @@ -1,90 +0,0 @@ - - -## v0.1.0-beta.5 (2023-09-05) - -### Commit Statistics - - - - - 21 commits contributed to the release over the course of 362 calendar days. - - 363 days passed between releases. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 17 unique issues were worked on: [#130](https://github.com/tlepoint/fhe.rs/issues/130), [#132](https://github.com/tlepoint/fhe.rs/issues/132), [#133](https://github.com/tlepoint/fhe.rs/issues/133), [#134](https://github.com/tlepoint/fhe.rs/issues/134), [#138](https://github.com/tlepoint/fhe.rs/issues/138), [#139](https://github.com/tlepoint/fhe.rs/issues/139), [#140](https://github.com/tlepoint/fhe.rs/issues/140), [#142](https://github.com/tlepoint/fhe.rs/issues/142), [#143](https://github.com/tlepoint/fhe.rs/issues/143), [#144](https://github.com/tlepoint/fhe.rs/issues/144), [#145](https://github.com/tlepoint/fhe.rs/issues/145), [#146](https://github.com/tlepoint/fhe.rs/issues/146), [#148](https://github.com/tlepoint/fhe.rs/issues/148), [#149](https://github.com/tlepoint/fhe.rs/issues/149), [#157](https://github.com/tlepoint/fhe.rs/issues/157), [#168](https://github.com/tlepoint/fhe.rs/issues/168), [#170](https://github.com/tlepoint/fhe.rs/issues/170) - -### Commit Details - - - -
view details - - * **[#130](https://github.com/tlepoint/fhe.rs/issues/130)** - - Remove some nightly features, see #117 ([`6361fa3`](https://github.com/tlepoint/fhe.rs/commit/6361fa3ce322b16551cfe4856a49e3933d85c872)) - * **[#132](https://github.com/tlepoint/fhe.rs/issues/132)** - - Remove the nightly features, except for code coverage and formatting ([`b573138`](https://github.com/tlepoint/fhe.rs/commit/b573138d682e69c3553c2e4ae4a1b7f7a65dbe5d)) - * **[#133](https://github.com/tlepoint/fhe.rs/issues/133)** - - Explicitely specify the RNG everytime randomness is involved. Fixes #128 ([`8aafe43`](https://github.com/tlepoint/fhe.rs/commit/8aafe4396d0b771e6aa25257c7daa61c109eb367)) - * **[#134](https://github.com/tlepoint/fhe.rs/issues/134)** - - Remove unnecessary casting by defining more conversions ([`f7cddb3`](https://github.com/tlepoint/fhe.rs/commit/f7cddb358f2ce28483944f99e223c07ae41b0c1c)) - * **[#138](https://github.com/tlepoint/fhe.rs/issues/138)** - - Bump criterion from 0.3.6 to 0.4.0 ([`db4daf2`](https://github.com/tlepoint/fhe.rs/commit/db4daf29375497bb4331443da86fd520fd71cac8)) - * **[#139](https://github.com/tlepoint/fhe.rs/issues/139)** - - Bump itertools from 0.10.3 to 0.10.4 ([`75d51b3`](https://github.com/tlepoint/fhe.rs/commit/75d51b3cb1c86fa1603f5e1cd9dc1f3f5859554d)) - * **[#140](https://github.com/tlepoint/fhe.rs/issues/140)** - - Bump thiserror from 1.0.34 to 1.0.35 ([`195303e`](https://github.com/tlepoint/fhe.rs/commit/195303e93689c20ea6a282e6855762b74145fc59)) - * **[#142](https://github.com/tlepoint/fhe.rs/issues/142)** - - Bump sha2 from 0.10.5 to 0.10.6 ([`15c3cfe`](https://github.com/tlepoint/fhe.rs/commit/15c3cfead4eea5f8a4610a2d9b571c436e85779b)) - * **[#143](https://github.com/tlepoint/fhe.rs/issues/143)** - - Bump itertools from 0.10.4 to 0.10.5 ([`72ea4f3`](https://github.com/tlepoint/fhe.rs/commit/72ea4f36256e37e435611e4c28918baeb6e23eae)) - * **[#144](https://github.com/tlepoint/fhe.rs/issues/144)** - - Bump protobuf from 3.1.0 to 3.2.0 ([`992e8f7`](https://github.com/tlepoint/fhe.rs/commit/992e8f72b42779e96c9cb7828f510a771524aa46)) - * **[#145](https://github.com/tlepoint/fhe.rs/issues/145)** - - Bump thiserror from 1.0.35 to 1.0.36 ([`2750800`](https://github.com/tlepoint/fhe.rs/commit/27508002ea516d9ba41d0aa756bec7347f8404b2)) - * **[#146](https://github.com/tlepoint/fhe.rs/issues/146)** - - Bump thiserror from 1.0.36 to 1.0.37 ([`c0022fb`](https://github.com/tlepoint/fhe.rs/commit/c0022fb24bdb191f5ebfe6a2dce31fe6d5b34523)) - * **[#148](https://github.com/tlepoint/fhe.rs/issues/148)** - - Bump crypto-bigint from 0.4.8 to 0.4.9 ([`e5c94a2`](https://github.com/tlepoint/fhe.rs/commit/e5c94a22d0e0114869d390dc4b2e1e7d0c9d9dcd)) - * **[#149](https://github.com/tlepoint/fhe.rs/issues/149)** - - Use workspace dependencies et versions + Release 0.1.0-beta4 ([`a0287ba`](https://github.com/tlepoint/fhe.rs/commit/a0287ba3842fcf19b45fd380c56ba7b5e52a387b)) - * **[#157](https://github.com/tlepoint/fhe.rs/issues/157)** - - Fix clippy warnings. Fixes #154 ([`3d1d9e8`](https://github.com/tlepoint/fhe.rs/commit/3d1d9e8e28853e468dfe974253834d9c242fd0a5)) - * **[#168](https://github.com/tlepoint/fhe.rs/issues/168)** - - Fix clippy error ([`ee67419`](https://github.com/tlepoint/fhe.rs/commit/ee6741906cfc90ab21c71953b8a1d35e90c56003)) - * **[#170](https://github.com/tlepoint/fhe.rs/issues/170)** - - Change tabs into space, optimize ntt operator constructor ([`393316f`](https://github.com/tlepoint/fhe.rs/commit/393316ffe1d02efe70e26310ff04318b2e185e87)) - * **Uncategorized** - - Change concrete to tfhe ([`33146f7`](https://github.com/tlepoint/fhe.rs/commit/33146f77acdc64b7c5a32494d1bd575b6bc9910f)) - - Update dependencies ([`0b4cc99`](https://github.com/tlepoint/fhe.rs/commit/0b4cc9922e6f3bfe0a16f8bf4c7f7b7be548a464)) - - Release fhe-traits v0.1.0-beta.3, fhe-util v0.1.0-beta.3, fhe-math v0.1.0-beta.3, fhe v0.1.0-beta.3 ([`c031c0e`](https://github.com/tlepoint/fhe.rs/commit/c031c0eca3a354e7d1e016dc7da2fba27f061f08)) - - Bump all version to beta.3 ([`913f84d`](https://github.com/tlepoint/fhe.rs/commit/913f84d9f510602283716a5ff310215734337956)) -
- -## v0.1.0-beta.1 (2022-09-07) - -### Commit Statistics - - - - - 9 commits contributed to the release. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 2 unique issues were worked on: [#120](https://github.com/tlepoint/fhe.rs/issues/120), [#121](https://github.com/tlepoint/fhe.rs/issues/121) - -### Commit Details - - - -
view details - - * **[#120](https://github.com/tlepoint/fhe.rs/issues/120)** - - Move internal to crates as they would be published, add changelog ([`cd3ba02`](https://github.com/tlepoint/fhe.rs/commit/cd3ba026d01275672e0c3f5e1d32aa473cde7978)) - * **[#121](https://github.com/tlepoint/fhe.rs/issues/121)** - - Remove features, remove utilities crate, bump versions ([`570943a`](https://github.com/tlepoint/fhe.rs/commit/570943ae1822888a2ccb27412619ab3355b3ea3a)) - * **Uncategorized** - - Release fhe-math v0.1.0-beta.1 ([`1b35a2e`](https://github.com/tlepoint/fhe.rs/commit/1b35a2ebd5e2c4d3821e6c967684fdc6e0a77441)) - - Add changelog entry for fhe-math ([`3abb768`](https://github.com/tlepoint/fhe.rs/commit/3abb768ecd236e854bc1c1baa28f2646fb81ecd6)) - - Release fhe-traits v0.1.0-beta.0, fhe-util v0.1.0-beta.0, fhe-math v0.1.0-beta.0, fhe v0.1.0-beta.0 ([`e81e1c6`](https://github.com/tlepoint/fhe.rs/commit/e81e1c60769e63c52ad3885d16249161074ca293)) - - Write changelog ([`ef65eb4`](https://github.com/tlepoint/fhe.rs/commit/ef65eb4b14fd52dfe3796d6c782127d38e551f69)) - - Adjusting changelogs prior to release of fhe-traits v0.1.0-beta.0, fhe-util v0.1.0-beta.0, fhe-math v0.1.0-beta.0, fhe v0.1.0-beta.0 ([`4c9ed5b`](https://github.com/tlepoint/fhe.rs/commit/4c9ed5bc57ccaa4a9d9ac98e4883f6c5c2136b5b)) - - Update changelog ([`85a00a1`](https://github.com/tlepoint/fhe.rs/commit/85a00a1b8113e4dc8b1d4e9d19fc6c354fb6ae0e)) - - Switch version to a pre-release number ([`cd8d3b2`](https://github.com/tlepoint/fhe.rs/commit/cd8d3b2d383367239436adcc2508bdbe816b9981)) -
- diff --git a/crates/fhe-math/Cargo.toml b/crates/fhe-math/Cargo.toml index f753bf9..34c43fc 100644 --- a/crates/fhe-math/Cargo.toml +++ b/crates/fhe-math/Cargo.toml @@ -12,10 +12,11 @@ version.workspace = true bench = false # Disable default bench (we use criterion) [dependencies] -fhe-traits = { version = "^0.1.0-beta.5", path = "../fhe-traits" } -fhe-util = { version = "^0.1.0-beta.5", path = "../fhe-util" } +fhe-traits = { version = "^0.1.0-beta.6", path = "../fhe-traits" } +fhe-util = { version = "^0.1.0-beta.6", path = "../fhe-util" } crypto-bigint.workspace = true +ethnum.workspace = true itertools.workspace = true ndarray.workspace = true num-bigint.workspace = true diff --git a/crates/fhe-math/src/rns/scaler.rs b/crates/fhe-math/src/rns/scaler.rs index 3e03fdd..f6cf85b 100644 --- a/crates/fhe-math/src/rns/scaler.rs +++ b/crates/fhe-math/src/rns/scaler.rs @@ -4,7 +4,7 @@ use super::RnsContext; use crypto_bigint::U192; -use fhe_util::U256; +use ethnum::u256; use itertools::{izip, Itertools}; use ndarray::{ArrayView1, ArrayViewMut1}; use num_bigint::BigUint; @@ -270,7 +270,8 @@ impl RnsScaler { let mut w_sign = false; let mut w = 0u128; if !self.scaling_factor.is_one { - let mut sum_theta_omega = U256::zero(); + let mut sum_theta_omega = u256::ZERO; + let u64_max = u64::MAX as u128; for (thetao_lo, thetao_hi, thetao_sign, ri) in izip!( self.theta_omega_lo.iter(), self.theta_omega_hi.iter(), @@ -280,19 +281,11 @@ impl RnsScaler { let lo = (*ri as u128) * (*thetao_lo as u128); let hi = (*ri as u128) * (*thetao_hi as u128) + (lo >> 64); if *thetao_sign { - sum_theta_omega.wrapping_sub_assign(U256::from([ - lo as u64, - hi as u64, - (hi >> 64) as u64, - 0, - ])); + sum_theta_omega = sum_theta_omega + .wrapping_sub(u256::from_words(hi >> 64, (lo & u64_max) | (hi << 64))) } else { - sum_theta_omega.wrapping_add_assign(U256::from([ - lo as u64, - hi as u64, - (hi >> 64) as u64, - 0, - ])); + sum_theta_omega = sum_theta_omega + .wrapping_add(u256::from_words(hi >> 64, (lo & u64_max) | (hi << 64))) } } @@ -305,29 +298,25 @@ impl RnsScaler { (vt_lo_lo >> 64) + ((vt_lo_hi as u64) as u128) + ((vt_hi_lo as u64) as u128); let vt_hi = (vt_lo_hi >> 64) + (vt_mi >> 64) + ((vt_hi_hi as u64) as u128); if self.theta_gamma_sign { - sum_theta_omega.wrapping_add_assign(U256::from([ - vt_lo_lo as u64, - vt_mi as u64, - vt_hi as u64, - 0, - ])) + sum_theta_omega = sum_theta_omega.wrapping_add(u256::from_words( + vt_hi, + (vt_lo_lo & u64_max) | (vt_mi << 64), + )) } else { - sum_theta_omega.wrapping_sub_assign(U256::from([ - vt_lo_lo as u64, - vt_mi as u64, - vt_hi as u64, - 0, - ])) + sum_theta_omega = sum_theta_omega.wrapping_sub(u256::from_words( + vt_hi, + (vt_lo_lo & u64_max) | (vt_mi << 64), + )) } - // Let's compute w = round(sum_theta_omega / 2^127). - w_sign = sum_theta_omega.msb() > 0; + // Let's compute w = round(sum_theta_omega / 2^(192)). + w_sign = (sum_theta_omega >> (63 + 128)) > u256::ZERO; if w_sign { - w = u128::from(&((!sum_theta_omega) >> 126)) + 1; + w = ((!sum_theta_omega) >> 126isize).as_u128() + 1; w /= 2; } else { - w = u128::from(&(sum_theta_omega >> 126)); + w = (sum_theta_omega >> 126isize).as_u128(); w = w.div_ceil(2) } } diff --git a/crates/fhe-traits/CHANGELOG.md b/crates/fhe-traits/CHANGELOG.md deleted file mode 100644 index fd1b493..0000000 --- a/crates/fhe-traits/CHANGELOG.md +++ /dev/null @@ -1,81 +0,0 @@ - - -## v0.1.0-beta.5 (2023-09-05) - -### Commit Statistics - - - - - 6 commits contributed to the release over the course of 361 calendar days. - - 363 days passed between releases. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 3 unique issues were worked on: [#133](https://github.com/tlepoint/fhe.rs/issues/133), [#149](https://github.com/tlepoint/fhe.rs/issues/149), [#170](https://github.com/tlepoint/fhe.rs/issues/170) - -### Commit Details - - - -
view details - - * **[#133](https://github.com/tlepoint/fhe.rs/issues/133)** - - Explicitely specify the RNG everytime randomness is involved. Fixes #128 ([`8aafe43`](https://github.com/tlepoint/fhe.rs/commit/8aafe4396d0b771e6aa25257c7daa61c109eb367)) - * **[#149](https://github.com/tlepoint/fhe.rs/issues/149)** - - Use workspace dependencies et versions + Release 0.1.0-beta4 ([`a0287ba`](https://github.com/tlepoint/fhe.rs/commit/a0287ba3842fcf19b45fd380c56ba7b5e52a387b)) - * **[#170](https://github.com/tlepoint/fhe.rs/issues/170)** - - Change tabs into space, optimize ntt operator constructor ([`393316f`](https://github.com/tlepoint/fhe.rs/commit/393316ffe1d02efe70e26310ff04318b2e185e87)) - * **Uncategorized** - - Change concrete to tfhe ([`33146f7`](https://github.com/tlepoint/fhe.rs/commit/33146f77acdc64b7c5a32494d1bd575b6bc9910f)) - - Release fhe-traits v0.1.0-beta.3, fhe-util v0.1.0-beta.3, fhe-math v0.1.0-beta.3, fhe v0.1.0-beta.3 ([`c031c0e`](https://github.com/tlepoint/fhe.rs/commit/c031c0eca3a354e7d1e016dc7da2fba27f061f08)) - - Bump all version to beta.3 ([`913f84d`](https://github.com/tlepoint/fhe.rs/commit/913f84d9f510602283716a5ff310215734337956)) -
- -## v0.1.0-beta.1 (2022-09-07) - -### Commit Statistics - - - - - 4 commits contributed to the release. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 1 unique issue was worked on: [#121](https://github.com/tlepoint/fhe.rs/issues/121) - -### Commit Details - - - -
view details - - * **[#121](https://github.com/tlepoint/fhe.rs/issues/121)** - - Remove features, remove utilities crate, bump versions ([`570943a`](https://github.com/tlepoint/fhe.rs/commit/570943ae1822888a2ccb27412619ab3355b3ea3a)) - * **Uncategorized** - - Release fhe-traits v0.1.0-beta.1 ([`bd1094d`](https://github.com/tlepoint/fhe.rs/commit/bd1094d726dc76c777e5916731eec7128c3fb9c7)) - - Add changelog entry ([`f32c4eb`](https://github.com/tlepoint/fhe.rs/commit/f32c4eba1f1f254d0162008919a0088282cc521e)) - - Adjusting changelogs prior to release of fhe-traits v0.1.0-beta.1 ([`3f9506e`](https://github.com/tlepoint/fhe.rs/commit/3f9506ea81277db1fa4da6e3e501061ef6456e4c)) -
- -## v0.1.0-beta.0 (2022-09-06) - -### Commit Statistics - - - - - 5 commits contributed to the release over the course of 1 calendar day. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 2 unique issues were worked on: [#114](https://github.com/tlepoint/fhe.rs/issues/114), [#120](https://github.com/tlepoint/fhe.rs/issues/120) - -### Commit Details - - - -
view details - - * **[#114](https://github.com/tlepoint/fhe.rs/issues/114)** - - Rename crates to fhe and fhe-traits ([`9a3d608`](https://github.com/tlepoint/fhe.rs/commit/9a3d6082976a7e0b6f3cec93c096bfaa4a07ebd6)) - * **[#120](https://github.com/tlepoint/fhe.rs/issues/120)** - - Move internal to crates as they would be published, add changelog ([`cd3ba02`](https://github.com/tlepoint/fhe.rs/commit/cd3ba026d01275672e0c3f5e1d32aa473cde7978)) - * **Uncategorized** - - Release fhe-traits v0.1.0-beta.0, fhe-util v0.1.0-beta.0, fhe-math v0.1.0-beta.0, fhe v0.1.0-beta.0 ([`e81e1c6`](https://github.com/tlepoint/fhe.rs/commit/e81e1c60769e63c52ad3885d16249161074ca293)) - - Update changelog ([`85a00a1`](https://github.com/tlepoint/fhe.rs/commit/85a00a1b8113e4dc8b1d4e9d19fc6c354fb6ae0e)) - - Switch version to a pre-release number ([`cd8d3b2`](https://github.com/tlepoint/fhe.rs/commit/cd8d3b2d383367239436adcc2508bdbe816b9981)) -
- diff --git a/crates/fhe-util/CHANGELOG.md b/crates/fhe-util/CHANGELOG.md deleted file mode 100644 index e4184de..0000000 --- a/crates/fhe-util/CHANGELOG.md +++ /dev/null @@ -1,88 +0,0 @@ - - -## v0.1.0-beta.5 (2023-09-05) - -### Commit Statistics - - - - - 11 commits contributed to the release over the course of 362 calendar days. - - 363 days passed between releases. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 8 unique issues were worked on: [#130](https://github.com/tlepoint/fhe.rs/issues/130), [#132](https://github.com/tlepoint/fhe.rs/issues/132), [#133](https://github.com/tlepoint/fhe.rs/issues/133), [#139](https://github.com/tlepoint/fhe.rs/issues/139), [#143](https://github.com/tlepoint/fhe.rs/issues/143), [#149](https://github.com/tlepoint/fhe.rs/issues/149), [#157](https://github.com/tlepoint/fhe.rs/issues/157), [#170](https://github.com/tlepoint/fhe.rs/issues/170) - -### Commit Details - - - -
view details - - * **[#130](https://github.com/tlepoint/fhe.rs/issues/130)** - - Remove some nightly features, see #117 ([`6361fa3`](https://github.com/tlepoint/fhe.rs/commit/6361fa3ce322b16551cfe4856a49e3933d85c872)) - * **[#132](https://github.com/tlepoint/fhe.rs/issues/132)** - - Remove the nightly features, except for code coverage and formatting ([`b573138`](https://github.com/tlepoint/fhe.rs/commit/b573138d682e69c3553c2e4ae4a1b7f7a65dbe5d)) - * **[#133](https://github.com/tlepoint/fhe.rs/issues/133)** - - Explicitely specify the RNG everytime randomness is involved. Fixes #128 ([`8aafe43`](https://github.com/tlepoint/fhe.rs/commit/8aafe4396d0b771e6aa25257c7daa61c109eb367)) - * **[#139](https://github.com/tlepoint/fhe.rs/issues/139)** - - Bump itertools from 0.10.3 to 0.10.4 ([`75d51b3`](https://github.com/tlepoint/fhe.rs/commit/75d51b3cb1c86fa1603f5e1cd9dc1f3f5859554d)) - * **[#143](https://github.com/tlepoint/fhe.rs/issues/143)** - - Bump itertools from 0.10.4 to 0.10.5 ([`72ea4f3`](https://github.com/tlepoint/fhe.rs/commit/72ea4f36256e37e435611e4c28918baeb6e23eae)) - * **[#149](https://github.com/tlepoint/fhe.rs/issues/149)** - - Use workspace dependencies et versions + Release 0.1.0-beta4 ([`a0287ba`](https://github.com/tlepoint/fhe.rs/commit/a0287ba3842fcf19b45fd380c56ba7b5e52a387b)) - * **[#157](https://github.com/tlepoint/fhe.rs/issues/157)** - - Fix clippy warnings. Fixes #154 ([`3d1d9e8`](https://github.com/tlepoint/fhe.rs/commit/3d1d9e8e28853e468dfe974253834d9c242fd0a5)) - * **[#170](https://github.com/tlepoint/fhe.rs/issues/170)** - - Change tabs into space, optimize ntt operator constructor ([`393316f`](https://github.com/tlepoint/fhe.rs/commit/393316ffe1d02efe70e26310ff04318b2e185e87)) - * **Uncategorized** - - Change concrete to tfhe ([`33146f7`](https://github.com/tlepoint/fhe.rs/commit/33146f77acdc64b7c5a32494d1bd575b6bc9910f)) - - Release fhe-traits v0.1.0-beta.3, fhe-util v0.1.0-beta.3, fhe-math v0.1.0-beta.3, fhe v0.1.0-beta.3 ([`c031c0e`](https://github.com/tlepoint/fhe.rs/commit/c031c0eca3a354e7d1e016dc7da2fba27f061f08)) - - Bump all version to beta.3 ([`913f84d`](https://github.com/tlepoint/fhe.rs/commit/913f84d9f510602283716a5ff310215734337956)) -
- -## v0.1.0-beta.1 (2022-09-07) - -### Commit Statistics - - - - - 3 commits contributed to the release. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 1 unique issue was worked on: [#121](https://github.com/tlepoint/fhe.rs/issues/121) - -### Commit Details - - - -
view details - - * **[#121](https://github.com/tlepoint/fhe.rs/issues/121)** - - Remove features, remove utilities crate, bump versions ([`570943a`](https://github.com/tlepoint/fhe.rs/commit/570943ae1822888a2ccb27412619ab3355b3ea3a)) - * **Uncategorized** - - Release fhe-util v0.1.0-beta.1 ([`49d32b7`](https://github.com/tlepoint/fhe.rs/commit/49d32b737bf3e943aab7861c375e269cb7971740)) - - Bump version fhe-util ([`136134c`](https://github.com/tlepoint/fhe.rs/commit/136134ccefb563780a34c356c2a646f18285630b)) -
- -## v0.1.0-beta.0 (2022-09-06) - -### Commit Statistics - - - - - 4 commits contributed to the release. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 1 unique issue was worked on: [#120](https://github.com/tlepoint/fhe.rs/issues/120) - -### Commit Details - - - -
view details - - * **[#120](https://github.com/tlepoint/fhe.rs/issues/120)** - - Move internal to crates as they would be published, add changelog ([`cd3ba02`](https://github.com/tlepoint/fhe.rs/commit/cd3ba026d01275672e0c3f5e1d32aa473cde7978)) - * **Uncategorized** - - Release fhe-traits v0.1.0-beta.0, fhe-util v0.1.0-beta.0, fhe-math v0.1.0-beta.0, fhe v0.1.0-beta.0 ([`e81e1c6`](https://github.com/tlepoint/fhe.rs/commit/e81e1c60769e63c52ad3885d16249161074ca293)) - - Update changelog ([`85a00a1`](https://github.com/tlepoint/fhe.rs/commit/85a00a1b8113e4dc8b1d4e9d19fc6c354fb6ae0e)) - - Switch version to a pre-release number ([`cd8d3b2`](https://github.com/tlepoint/fhe.rs/commit/cd8d3b2d383367239436adcc2508bdbe816b9981)) -
- diff --git a/crates/fhe-util/src/lib.rs b/crates/fhe-util/src/lib.rs index 4135353..5824234 100644 --- a/crates/fhe-util/src/lib.rs +++ b/crates/fhe-util/src/lib.rs @@ -5,12 +5,9 @@ //! Utilities for the fhe.rs library. #[cfg(test)] -#[macro_use] extern crate proptest; -mod u256; use rand::{CryptoRng, RngCore}; -pub use u256::U256; use num_bigint_dig::{prime::probably_prime, BigUint, ModInverse}; use num_traits::{cast::ToPrimitive, PrimInt}; diff --git a/crates/fhe-util/src/u256.rs b/crates/fhe-util/src/u256.rs deleted file mode 100644 index ee679ca..0000000 --- a/crates/fhe-util/src/u256.rs +++ /dev/null @@ -1,224 +0,0 @@ -//! Unsigned 256-bit integer. - -use std::ops::{Not, Shr, ShrAssign}; - -/// Unsigned 256-bit integer represented as four u64. -#[repr(C)] -#[derive(Eq, PartialEq, Debug, Copy, Clone)] -pub struct U256(u64, u64, u64, u64); - -impl U256 { - /// Returns the additive identity element, 0. - pub const fn zero() -> Self { - Self(0, 0, 0, 0) - } - - /// Add an U256 to self, wrapping modulo 2^256. - pub fn wrapping_add_assign(&mut self, other: Self) { - let (a, c1) = self.0.overflowing_add(other.0); - let (b, c2) = self.1.overflowing_add(other.1); - let (c, c3) = b.overflowing_add(c1 as u64); - let (d, c4) = self.2.overflowing_add(other.2); - let (e, c5) = d.overflowing_add((c2 | c3) as u64); - let f = self.3.wrapping_add(other.3); - let g = f.wrapping_add((c4 | c5) as u64); - self.0 = a; - self.1 = c; - self.2 = e; - self.3 = g; - } - - /// Subtract an U256 to self, wrapping modulo 2^256. - pub fn wrapping_sub_assign(&mut self, other: Self) { - let (a, b1) = self.0.overflowing_sub(other.0); - let (b, b2) = self.1.overflowing_sub(other.1); - let (c, b3) = b.overflowing_sub(b1 as u64); - let (d, b4) = self.2.overflowing_sub(other.2); - let (e, b5) = d.overflowing_sub((b2 | b3) as u64); - let f = self.3.wrapping_sub(other.3); - let g = f.wrapping_sub((b4 | b5) as u64); - self.0 = a; - self.1 = c; - self.2 = e; - self.3 = g; - } - - /// Returns the most significant bit of the unsigned integer. - pub const fn msb(self) -> u64 { - self.3 >> 63 - } -} - -impl From<[u64; 4]> for U256 { - fn from(a: [u64; 4]) -> Self { - Self(a[0], a[1], a[2], a[3]) - } -} - -impl From<[u128; 2]> for U256 { - fn from(a: [u128; 2]) -> Self { - Self( - a[0] as u64, - (a[0] >> 64) as u64, - a[1] as u64, - (a[1] >> 64) as u64, - ) - } -} - -impl From for [u64; 4] { - fn from(a: U256) -> [u64; 4] { - [a.0, a.1, a.2, a.3] - } -} - -impl From for [u128; 2] { - fn from(a: U256) -> [u128; 2] { - [ - (a.0 as u128) + ((a.1 as u128) << 64), - (a.2 as u128) + ((a.3 as u128) << 64), - ] - } -} - -impl From<&U256> for u128 { - fn from(v: &U256) -> Self { - debug_assert!(v.2 == 0 && v.3 == 0); - (v.0 as u128) + ((v.1 as u128) << 64) - } -} - -impl Not for U256 { - type Output = Self; - - fn not(self) -> Self { - Self(!self.0, !self.1, !self.2, !self.3) - } -} - -impl Shr for U256 { - type Output = Self; - - fn shr(self, rhs: usize) -> Self { - let mut r = self; - r >>= rhs; - r - } -} - -impl ShrAssign for U256 { - fn shr_assign(&mut self, rhs: usize) { - debug_assert!(rhs < 256); - - if rhs >= 192 { - self.0 = self.3 >> (rhs - 192); - self.1 = 0; - self.2 = 0; - self.3 = 0; - } else if rhs > 128 { - self.0 = (self.2 >> (rhs - 128)) | (self.3 << (192 - rhs)); - self.1 = self.3 >> (rhs - 128); - self.2 = 0; - self.3 = 0; - } else if rhs == 128 { - self.0 = self.2; - self.1 = self.3; - self.2 = 0; - self.3 = 0; - } else if rhs > 64 { - self.0 = (self.1 >> (rhs - 64)) | (self.2 << (128 - rhs)); - self.1 = (self.2 >> (rhs - 64)) | (self.3 << (128 - rhs)); - self.2 = self.3 >> (rhs - 64); - self.3 = 0; - } else if rhs == 64 { - self.0 = self.1; - self.1 = self.2; - self.2 = self.3; - self.3 = 0; - } else if rhs > 0 { - self.0 = (self.0 >> rhs) | (self.1 << (64 - rhs)); - self.1 = (self.1 >> rhs) | (self.2 << (64 - rhs)); - self.2 = (self.2 >> rhs) | (self.3 << (64 - rhs)); - self.3 >>= rhs; - } - } -} - -#[cfg(test)] -mod tests { - use super::U256; - - #[test] - fn zero() { - assert_eq!(u128::from(&U256::zero()), 0u128); - } - - proptest! { - - #[test] - fn u128(a: u128) { - prop_assert_eq!(a, u128::from(&U256::from([a, 0]))); - } - - #[test] - fn from_into_u64(a: u64, b: u64, c: u64, d:u64) { - prop_assert_eq!(<[u64; 4]>::from(U256::from([a, b, c, d])), [a, b, c, d]); - } - - #[test] - fn from_into_u128(a: u128, b: u128) { - prop_assert_eq!(<[u128; 2]>::from(U256::from([a, b])), [a, b]); - } - - #[test] - fn shift(a: u64, b: u64, c: u64, d:u64, shift in 0..256usize) { - prop_assert_eq!(<[u64; 4]>::from(U256::from([a, b, c, d]) >> 0), [a, b, c, d]); - prop_assert_eq!(<[u64; 4]>::from(U256::from([a, b, c, d]) >> 64), [b, c, d, 0]); - prop_assert_eq!(<[u64; 4]>::from(U256::from([a, b, c, d]) >> 128), [c, d, 0, 0]); - prop_assert_eq!(<[u64; 4]>::from(U256::from([a, b, c, d]) >> 192), [d, 0, 0, 0]); - - prop_assume!(shift % 64 != 0); - if shift < 64 { - prop_assert_eq!(<[u64; 4]>::from(U256::from([a, b, c, d]) >> shift), [(a >> shift) | (b << (64 - shift)), (b >> shift) | (c << (64 - shift)), (c >> shift) | (d << (64 - shift)), d >> shift]); - } else if shift < 128 { - prop_assert_eq!(<[u64; 4]>::from(U256::from([a, b, c, d]) >> shift), [(b >> (shift - 64)) | (c << (128 - shift)), (c >> (shift - 64)) | (d << (128 - shift)), (d >> (shift - 64)), 0]); - } else if shift < 192 { - prop_assert_eq!(<[u64; 4]>::from(U256::from([a, b, c, d]) >> shift), [(c >> (shift - 128)) | (d << (192 - shift)), (d >> (shift - 128)), 0, 0]); - } else { - prop_assert_eq!(<[u64; 4]>::from(U256::from([a, b, c, d]) >> shift), [(d >> (shift - 192)), 0, 0, 0]); - } - } - - #[test] - fn shift_assign(a: u64, b: u64, c: u64, d:u64, shift in 0..256usize) { - let mut u = U256::from([a, b, c, d]); - - u >>= 0; - prop_assert_eq!(<[u64; 4]>::from(u), [a, b, c, d]); - - u >>= 64; - prop_assert_eq!(<[u64; 4]>::from(u), [b, c, d, 0]); - - u = U256::from([a, b, c, d]); - u >>= 128; - prop_assert_eq!(<[u64; 4]>::from(u), [c, d, 0, 0]); - - u = U256::from([a, b, c, d]); - u >>= 192; - prop_assert_eq!(<[u64; 4]>::from(u), [d, 0, 0, 0]); - - prop_assume!(shift % 64 != 0); - u = U256::from([a, b, c, d]); - u >>= shift; - if shift < 64 { - prop_assert_eq!(<[u64; 4]>::from(u), [(a >> shift) | (b << (64 - shift)), (b >> shift) | (c << (64 - shift)), (c >> shift) | (d << (64 - shift)), d >> shift]); - } else if shift < 128 { - prop_assert_eq!(<[u64; 4]>::from(u), [(b >> (shift - 64)) | (c << (128 - shift)), (c >> (shift - 64)) | (d << (128 - shift)), (d >> (shift - 64)), 0]); - } else if shift < 192 { - prop_assert_eq!(<[u64; 4]>::from(u), [(c >> (shift - 128)) | (d << (192 - shift)), (d >> (shift - 128)), 0, 0]); - } else { - prop_assert_eq!(<[u64; 4]>::from(u), [(d >> (shift - 192)), 0, 0, 0]); - } - } - } -} diff --git a/crates/fhe/CHANGELOG.md b/crates/fhe/CHANGELOG.md deleted file mode 100644 index 03caeaa..0000000 --- a/crates/fhe/CHANGELOG.md +++ /dev/null @@ -1,144 +0,0 @@ - - -## v0.1.0-beta.5 (2023-09-05) - -### Commit Statistics - - - - - 3 commits contributed to the release over the course of 250 calendar days. - - 327 days passed between releases. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 2 unique issues were worked on: [#157](https://github.com/tlepoint/fhe.rs/issues/157), [#170](https://github.com/tlepoint/fhe.rs/issues/170) - -### Commit Details - - - -
view details - - * **[#157](https://github.com/tlepoint/fhe.rs/issues/157)** - - Fix clippy warnings. Fixes #154 ([`3d1d9e8`](https://github.com/tlepoint/fhe.rs/commit/3d1d9e8e28853e468dfe974253834d9c242fd0a5)) - * **[#170](https://github.com/tlepoint/fhe.rs/issues/170)** - - Change tabs into space, optimize ntt operator constructor ([`393316f`](https://github.com/tlepoint/fhe.rs/commit/393316ffe1d02efe70e26310ff04318b2e185e87)) - * **Uncategorized** - - Change concrete to tfhe ([`33146f7`](https://github.com/tlepoint/fhe.rs/commit/33146f77acdc64b7c5a32494d1bd575b6bc9910f)) -
- -## v0.1.0-beta.4 (2022-10-13) - -### Commit Statistics - - - - - 20 commits contributed to the release over the course of 36 calendar days. - - 36 days passed between releases. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 18 unique issues were worked on: [#123](https://github.com/tlepoint/fhe.rs/issues/123), [#127](https://github.com/tlepoint/fhe.rs/issues/127), [#130](https://github.com/tlepoint/fhe.rs/issues/130), [#132](https://github.com/tlepoint/fhe.rs/issues/132), [#133](https://github.com/tlepoint/fhe.rs/issues/133), [#134](https://github.com/tlepoint/fhe.rs/issues/134), [#135](https://github.com/tlepoint/fhe.rs/issues/135), [#136](https://github.com/tlepoint/fhe.rs/issues/136), [#138](https://github.com/tlepoint/fhe.rs/issues/138), [#139](https://github.com/tlepoint/fhe.rs/issues/139), [#140](https://github.com/tlepoint/fhe.rs/issues/140), [#141](https://github.com/tlepoint/fhe.rs/issues/141), [#143](https://github.com/tlepoint/fhe.rs/issues/143), [#144](https://github.com/tlepoint/fhe.rs/issues/144), [#145](https://github.com/tlepoint/fhe.rs/issues/145), [#146](https://github.com/tlepoint/fhe.rs/issues/146), [#147](https://github.com/tlepoint/fhe.rs/issues/147), [#149](https://github.com/tlepoint/fhe.rs/issues/149) - -### Commit Details - - - -
view details - - * **[#123](https://github.com/tlepoint/fhe.rs/issues/123)** - - RGSW mistakenly appeared to depend on a feature; fixes #122. ([`739d4ce`](https://github.com/tlepoint/fhe.rs/commit/739d4ced784ee4aea20c57f3e042361aab7d5517)) - * **[#127](https://github.com/tlepoint/fhe.rs/issues/127)** - - Computes correctly the number of bits in the plaintext; fixes #126 ([`432586c`](https://github.com/tlepoint/fhe.rs/commit/432586cecf83a0808cf987882c472acbf1330a36)) - * **[#130](https://github.com/tlepoint/fhe.rs/issues/130)** - - Remove some nightly features, see #117 ([`6361fa3`](https://github.com/tlepoint/fhe.rs/commit/6361fa3ce322b16551cfe4856a49e3933d85c872)) - * **[#132](https://github.com/tlepoint/fhe.rs/issues/132)** - - Remove the nightly features, except for code coverage and formatting ([`b573138`](https://github.com/tlepoint/fhe.rs/commit/b573138d682e69c3553c2e4ae4a1b7f7a65dbe5d)) - * **[#133](https://github.com/tlepoint/fhe.rs/issues/133)** - - Explicitely specify the RNG everytime randomness is involved. Fixes #128 ([`8aafe43`](https://github.com/tlepoint/fhe.rs/commit/8aafe4396d0b771e6aa25257c7daa61c109eb367)) - * **[#134](https://github.com/tlepoint/fhe.rs/issues/134)** - - Remove unnecessary casting by defining more conversions ([`f7cddb3`](https://github.com/tlepoint/fhe.rs/commit/f7cddb358f2ce28483944f99e223c07ae41b0c1c)) - * **[#135](https://github.com/tlepoint/fhe.rs/issues/135)** - - Starting better documentation ([`13a633c`](https://github.com/tlepoint/fhe.rs/commit/13a633c0f288d27da15548942a061540365aec10)) - * **[#136](https://github.com/tlepoint/fhe.rs/issues/136)** - - Add comments to SealPIR and MulPIR ([`f374841`](https://github.com/tlepoint/fhe.rs/commit/f374841f5d9d0bf2ce43fb0c4043d341edf68564)) - * **[#138](https://github.com/tlepoint/fhe.rs/issues/138)** - - Bump criterion from 0.3.6 to 0.4.0 ([`db4daf2`](https://github.com/tlepoint/fhe.rs/commit/db4daf29375497bb4331443da86fd520fd71cac8)) - * **[#139](https://github.com/tlepoint/fhe.rs/issues/139)** - - Bump itertools from 0.10.3 to 0.10.4 ([`75d51b3`](https://github.com/tlepoint/fhe.rs/commit/75d51b3cb1c86fa1603f5e1cd9dc1f3f5859554d)) - * **[#140](https://github.com/tlepoint/fhe.rs/issues/140)** - - Bump thiserror from 1.0.34 to 1.0.35 ([`195303e`](https://github.com/tlepoint/fhe.rs/commit/195303e93689c20ea6a282e6855762b74145fc59)) - * **[#141](https://github.com/tlepoint/fhe.rs/issues/141)** - - Bump indicatif from 0.17.0 to 0.17.1 ([`02f0674`](https://github.com/tlepoint/fhe.rs/commit/02f0674fb24ee8f3c6129bddbe91edae0a9d7808)) - * **[#143](https://github.com/tlepoint/fhe.rs/issues/143)** - - Bump itertools from 0.10.4 to 0.10.5 ([`72ea4f3`](https://github.com/tlepoint/fhe.rs/commit/72ea4f36256e37e435611e4c28918baeb6e23eae)) - * **[#144](https://github.com/tlepoint/fhe.rs/issues/144)** - - Bump protobuf from 3.1.0 to 3.2.0 ([`992e8f7`](https://github.com/tlepoint/fhe.rs/commit/992e8f72b42779e96c9cb7828f510a771524aa46)) - * **[#145](https://github.com/tlepoint/fhe.rs/issues/145)** - - Bump thiserror from 1.0.35 to 1.0.36 ([`2750800`](https://github.com/tlepoint/fhe.rs/commit/27508002ea516d9ba41d0aa756bec7347f8404b2)) - * **[#146](https://github.com/tlepoint/fhe.rs/issues/146)** - - Bump thiserror from 1.0.36 to 1.0.37 ([`c0022fb`](https://github.com/tlepoint/fhe.rs/commit/c0022fb24bdb191f5ebfe6a2dce31fe6d5b34523)) - * **[#147](https://github.com/tlepoint/fhe.rs/issues/147)** - - Bump console from 0.15.1 to 0.15.2 ([`a344fab`](https://github.com/tlepoint/fhe.rs/commit/a344fabf2382dbabca7368cb32b44907735481fc)) - * **[#149](https://github.com/tlepoint/fhe.rs/issues/149)** - - Use workspace dependencies et versions + Release 0.1.0-beta4 ([`a0287ba`](https://github.com/tlepoint/fhe.rs/commit/a0287ba3842fcf19b45fd380c56ba7b5e52a387b)) - * **Uncategorized** - - Release fhe-traits v0.1.0-beta.3, fhe-util v0.1.0-beta.3, fhe-math v0.1.0-beta.3, fhe v0.1.0-beta.3 ([`c031c0e`](https://github.com/tlepoint/fhe.rs/commit/c031c0eca3a354e7d1e016dc7da2fba27f061f08)) - - Bump all version to beta.3 ([`913f84d`](https://github.com/tlepoint/fhe.rs/commit/913f84d9f510602283716a5ff310215734337956)) -
- -## v0.1.0-beta.2 (2022-09-07) - -### Commit Statistics - - - - - 2 commits contributed to the release. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 0 issues like '(#ID)' were seen in commit messages - -### Commit Details - - - -
view details - - * **Uncategorized** - - Release fhe v0.1.0-beta.2 ([`d13c33c`](https://github.com/tlepoint/fhe.rs/commit/d13c33caf2850753ed9ef556c41cfaf73700ecd1)) - - Remove forgotten cfg(not(feature ([`2e247f2`](https://github.com/tlepoint/fhe.rs/commit/2e247f235bbe632459259f6ca74a637a2f765187)) -
- -## v0.1.0-beta.1 (2022-09-07) - -### Commit Statistics - - - - - 13 commits contributed to the release over the course of 1 calendar day. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 6 unique issues were worked on: [#114](https://github.com/tlepoint/fhe.rs/issues/114), [#115](https://github.com/tlepoint/fhe.rs/issues/115), [#116](https://github.com/tlepoint/fhe.rs/issues/116), [#118](https://github.com/tlepoint/fhe.rs/issues/118), [#120](https://github.com/tlepoint/fhe.rs/issues/120), [#121](https://github.com/tlepoint/fhe.rs/issues/121) - -### Commit Details - - - -
view details - - * **[#114](https://github.com/tlepoint/fhe.rs/issues/114)** - - Rename crates to fhe and fhe-traits ([`9a3d608`](https://github.com/tlepoint/fhe.rs/commit/9a3d6082976a7e0b6f3cec93c096bfaa4a07ebd6)) - * **[#115](https://github.com/tlepoint/fhe.rs/issues/115)** - - Bump thiserror from 1.0.33 to 1.0.34 ([`e724edf`](https://github.com/tlepoint/fhe.rs/commit/e724edfec78809593e99b21ba5c9eeaaca1a191c)) - * **[#116](https://github.com/tlepoint/fhe.rs/issues/116)** - - Use zeroizing instead of manual calls to zeroize ([`1d7bc50`](https://github.com/tlepoint/fhe.rs/commit/1d7bc50c58e8807d696d02f3d64e19f34a4ad0c3)) - * **[#118](https://github.com/tlepoint/fhe.rs/issues/118)** - - Update the README with minimal example and fix compilation error ([`ecba998`](https://github.com/tlepoint/fhe.rs/commit/ecba99898c86a7908a7e9360a6e62826e2ccc5c6)) - * **[#120](https://github.com/tlepoint/fhe.rs/issues/120)** - - Move internal to crates as they would be published, add changelog ([`cd3ba02`](https://github.com/tlepoint/fhe.rs/commit/cd3ba026d01275672e0c3f5e1d32aa473cde7978)) - * **[#121](https://github.com/tlepoint/fhe.rs/issues/121)** - - Remove features, remove utilities crate, bump versions ([`570943a`](https://github.com/tlepoint/fhe.rs/commit/570943ae1822888a2ccb27412619ab3355b3ea3a)) - * **Uncategorized** - - Release fhe v0.1.0-beta.1 ([`718f0cd`](https://github.com/tlepoint/fhe.rs/commit/718f0cdc1e5b75eaf52a5ea1078c1ed9c2bf46f5)) - - First version fhe crate ([`3f9e80c`](https://github.com/tlepoint/fhe.rs/commit/3f9e80c9bc91b068d00ec6b03ccafb07f150185a)) - - Release fhe-traits v0.1.0-beta.0, fhe-util v0.1.0-beta.0, fhe-math v0.1.0-beta.0, fhe v0.1.0-beta.0 ([`e81e1c6`](https://github.com/tlepoint/fhe.rs/commit/e81e1c60769e63c52ad3885d16249161074ca293)) - - Adjusting changelogs prior to release of fhe-traits v0.1.0-beta.0, fhe-util v0.1.0-beta.0, fhe-math v0.1.0-beta.0, fhe v0.1.0-beta.0 ([`4c9ed5b`](https://github.com/tlepoint/fhe.rs/commit/4c9ed5bc57ccaa4a9d9ac98e4883f6c5c2136b5b)) - - Add space to test ([`f5e82f3`](https://github.com/tlepoint/fhe.rs/commit/f5e82f3708bc15a7f517f19bb482fce0044cf091)) - - Update changelog ([`85a00a1`](https://github.com/tlepoint/fhe.rs/commit/85a00a1b8113e4dc8b1d4e9d19fc6c354fb6ae0e)) - - Switch version to a pre-release number ([`cd8d3b2`](https://github.com/tlepoint/fhe.rs/commit/cd8d3b2d383367239436adcc2508bdbe816b9981)) -
- diff --git a/crates/fhe/Cargo.toml b/crates/fhe/Cargo.toml index d2e1289..95b03d6 100644 --- a/crates/fhe/Cargo.toml +++ b/crates/fhe/Cargo.toml @@ -12,9 +12,9 @@ version.workspace = true bench = false # Disable default bench (we use criterion) [dependencies] -fhe-math = { version = "^0.1.0-beta.5", path = "../fhe-math" } -fhe-traits = { version = "^0.1.0-beta.5", path = "../fhe-traits" } -fhe-util = { version = "^0.1.0-beta.5", path = "../fhe-util" } +fhe-math = { version = "^0.1.0-beta.6", path = "../fhe-math" } +fhe-traits = { version = "^0.1.0-beta.6", path = "../fhe-traits" } +fhe-util = { version = "^0.1.0-beta.6", path = "../fhe-util" } itertools.workspace = true num-bigint.workspace = true