TFHE-rs v0.3.0
TFHE-rs v0.3.0 includes:
-
In the High-level API:
- Scalar_bitwise/div/rem operations
- Not operator (!)
- Scalar comparisons
- Not equal
- Bit rotations
- Homomorphic shifts
- Multibit PBS
- Impl TryFrom operators for GenericInteger: RadixCiphertext and Vec
- CompressedPublicKey decompression
- CompressedServerKey
- Casting between integer types
- Use one unique key for integers
- Trivial encryptions
-
In the Integer API:
- Division by encrypted value
- Scalar division/remainder
- Scalar comparisons
- CastingKey struct to allow users to switch between integer parameter sets
- Scalar_mul generic over UnsignedInteger
- Reduced default sub latency
- Faster scalar add, sub and negation
- Scalar shift match rust when shift >= bit size
- Shifts and rotates on encrypted values
- Decompression of CompressedPublicKey
- Faster mul and scalar mul
- Faster parallel algorithms for add/sub
- Parallelized scalar rotate_left/right
- Improved scalar shift performance
- Trivial encryption
- Scalar bitwise operations
- Faster eq (==)
- Not equal operator (!=)
-
In the Shortint API:
- Encrypt_message_and_carry function
- Possibility to select deterministic execution for multibit PBS
- CastingKey struct to allow users to change server_key during a circuit execution on the server
- The possibility to use multi bit PBS
-
In the Boolean API:
- BooleanEngine::replace_thread_local
- CastingKey struct to allow users to change server_key during a circuit execution on the server
- CompressedPublicKey
-
In the Core Crypto API:
- Compact Public Key
- Std multi-bit bootstrapping
- Deterministic Multibit PBS
-
Test Improvements:
- Test On Noise Variance For LWE Encryption
- Normality Test Based On Shapiro-Francia
-
Applications
- Trivium application of TFHE
- Boolean sha256 tutorial
- Dark market tutorial
- FHE Regex Pattern Matching Engine
-
C / WASM APIs:
- Safer destroys
- #[repr(C)] for boolean parameters
- Parralellism in wasm API and wasm for HLAPI (client side)
-
Documentation
- Refactor of the documentation