Now that the csprng can start from FIRST, we make it
start from FIRST.
Other changes are:
1) Using std::ops::Bound as the type of the bound/end in AesCtrGenerator
and State makes it more explicit for the caller what bound it uses
(Excluded, Included, Unbounded).
2) add proper overflow check in skip_bytes/check_fork
Without these overflow checks the state would wrap, it could lead to
misuses
This means by default data generated from previous versions
is not compatible with newer versions unless explicitely constructed
with the correct AesCtrParams (starting at SECOND).
This is fine for compressed data generated by tfhe-rs thanks
to the versionning system.
The test-vectors had to be regenerated as they did change
Backward data for xof has also been regenerated, as its was only added
in main branch (not release) thus data is considered not stable yet
Added a full server key to the backward data that uses this new generator
BREAKING_CHANGE:
- The x86_64, x86_64-unix, aarch64, aarch64-unix have been removed, the target
architecture and os family are now automatically detected. A `software_prng`
feature has been added to force the use of a software implementation on older
CPUs
This commit removes the wrapping of the `tfhe::boolean`
that was done in the HLAPI, effectively making the HLAPI
only wrapping `tfhe::integer`.
FheBool is now reused to be a single shortint block
compatible with other type FheUint8,16,etc (previously they were not).
In the future, `tfhe::boolean` could be re-wrapped in hlapi, but
this time, to be used as a base for all integers and not just
FheBool.
BREAKING CHANGE:
- hlapi no longer wraps tfhe::boolean API.
- tfhe::ConfigBuilder::enable_bool/disable_bool/all_disabled/all_enabled
removed. Now default configuration should be done using
`tfhe::ConfigBuilder::default()`.
- `tfhe::ConfigBuilder::use_default_small_integer` removed
use `tfhe::CondifBuilder::default_with_small_encryption()`
- Uninitialied{ClientKey, PublicKey, CompressedPublicKey} error types
removed as these erros are no longer possible