TFHE-rs v0.4.0: Signed Integers and Encrypted Conditionals
Blog post from Zama
The latest version of TFHE-rs brings notable enhancements, including support for signed integers, conditional instructions, and significant performance improvements. The update introduces a new type, FheInt, which supports signed integers similarly to the existing FheUint type for unsigned integers, extending operations like addition, subtraction, and multiplication to signed numbers with comparable timings. Conditional instructions now allow simple homomorphic computations using encrypted boolean values in If-Then-Else constructs, enabling dynamic selection between expressions based on encrypted conditions. Performance improvements are evident, with an overall latency reduction of 8% across integer operations, and specific optimizations like a 30-50% speed increase in multiplication between clear values and ciphertexts, and nearly double the speed for division operations. The update also includes enhancements to low-level primitives, particularly programmable bootstrapping, contributing to the improved efficiency of the framework.