TFHEpp Versions Save

Pure C++ Ver. of TFHE.

v8

7 months ago

I decided to add the support for Centered Binomial Distribution since it is believed to be faster to generate than Gaussian Distribution and is used in CRYSTAL-Kyber and Microsoft SEAL. This change came from the need for faster evaluation key generation to reduce the cost of the client side. After this release, some API changes caused by the distribution selection interface are expected.

v7

1 year ago

I decided to change the explicit instantiation structure to support non-predefined parameters. It may achieved by pre-compiled header or extern template functionality.

This release includes AVX512 spqlios, ternary key supports, CI using GitHub actions, Bootstrapping Unrolling, and BFV like multiplication.

v6

2 years ago

I will integrate the technique introduced in the recent paper.

v5

2 years ago

This release includes some additional FFT library supports and the introduction of EvalKey for a more flexible bootstrapping key format.

After this release, I will support k>1 parameters and 32-bit NTT. This may introduce some minor API changes.

v4

2 years ago

This is the last release that assumes only TLWElvl0 is the input of Homomomorphic Gates. After this release, significant API changes are expected.

v3

2 years ago

This is the last release that supports GateBootstrappingTLWE2TRLWE, GateBootstrappingTLWE2TLWEFFTvariableMu, and RotatedTestVector. These are replaced by more generic functions like BlindRotate. This release includes AnnihilatePacking, LWEMult, and BlindRotateManyLUT.

v2

2 years ago

This release is the last version that trgswSymEncrypt takes an integer as a plaintext, After this release, trgswSymEncrypt takes a polynomial. This change is needed to implement Chen's packing method.

v1

3 years ago

This release is the last version that is compatible with USENIX 2021's codes. To make this library more extensible, I decided to do refactoring with breaking backward compatibility.