Skip to content

Version 11

Latest

Choose a tag to compare

@nindanaoto nindanaoto released this 03 Jun 00:51

Version 11 is a large integration release. It brings TFHE, BFV, CLPX, and CKKS into one library layout and advances the dense CKKS bootstrapping work based on double decomposition.

Main changes:

  1. CKKS and dense bootstrapping
  • Added leveled CKKS multiplication, tensor-rescale, relinearization, noise-budget, slot/coeff encoding, and validation coverage.
  • Added dense CKKS bootstrapping primitives and lvl6 schedule work, including EvalMod variants, inverse EvalMod support, BSGS planning, hybrid/direct rotation planning, streamed key providers, and practical readiness reports.
  • Added seeded and filesystem-backed bootstrap/evaluation key workflows with manifests, completeness checks, metadata validation, and explicit product eval-key directory generation.
  • Added product and chained-product bootstrap validation paths, including encapsulated-product eval-key handling.
  • Added safety checks around bounded modraise masks, sparse-key assumptions, stale metadata, missing key files, and disk preflight.
  • Removed the on-demand/polling-style practical keygen path in favor of explicit keygen, eval-keygen, and run phases.
  1. BFV and CLPX
  • Expanded BFV SIMD support and documentation, including slot encode/decode, rotations, coefficient/slot transforms, digit extraction, and BFV FullDD multiplication work.
  • Added CLPX scheme-switch and multiplication validation paths.
  1. Repository organization
  • Scheme-specific headers now live under include/tfhe, include/bfv, include/clpx, and include/ckks.
  • Scheme-specific tests now live under test/tfhe, test/bfv, test/clpx, test/ckks, with shared tests under test/common.
  • Built test binaries now mirror that layout under build/test//.
  • The umbrella include/tfhe++.hpp remains available, but direct includes of scheme headers should use the new subdirectory paths.
  1. CI and release hygiene
  • CI is split by scheme instead of one large all-test job.
  • TFHE CI includes common tests and now covers both Ubuntu 24.04 and Ubuntu 26.04.
  • Each scheme CI path has both GCC and Clang coverage.
  • CKKS CI intentionally avoids full lvl6 bootstrap keygen/run paths. Full lvl6 artifacts are tens of GB and exceed the 500 MB storage budget; CI uses lightweight toy/workflow checks instead.

Compatibility notes:

This release changes direct header paths and test binary paths. Code using the umbrella header should continue to work, but code that included scheme headers from the include root should migrate to the new scheme directories. CKKS, CLPX, and some BFV paths are still active development areas and may continue to change as the practical bootstrapping workflow is tuned.