[agent] Update MSRV to 1.91.1 and preserve zeroization for secret key conversions #365
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
tfhe-ntt) requires a newer compiler.Description
rust-versioninCargo.tomlto1.91.1and update the README minimum toolchain reference to1.91.1.Zeroizingincrates/fhe/src/bfv/keys/secret_key.rsand useas_ref()when buildingVec::<BigUint>::from(...)to avoid exposing inner secret values.std::mem::replace(..., Poly::<Ntt>::zero(&ctx))and immediateZeroizing::new(...)wrapping to avoid moving aZeroizingvalue out.measure_noise_within_modulus_bitsthat generates a keypair, encrypts a random plaintext, measures noise, and asserts the noise is bounded by the ciphertext modulus bit-size.Testing
cargo testand all tests completed successfully.cargo +nightly fmt --allwhich completed successfully.cargo clippy --all-targets -- -D warningswhich completed with no warnings.Codex Task