SEAL Versions Save

Microsoft SEAL is an easy-to-use and powerful homomorphic encryption library.

v4.1.1

1 year ago

Bug Fixes

v4.1.0

1 year ago

Features

  • The BGV scheme now keeps ciphertexts in NTT form. BGV ciphertext multiplication is much faster than version 4.0.0.
  • When a BGV ciphertext saved by previous versions is loaded in the current version, it is automatically converted to NTT form.
  • Increased SEAL_COEFF_MOD_COUNT_MAX, the maximum number of primes that define the coefficient modulus, from 64 to 256.

Other Fixes

  • Fixed typos (PR #590).
  • Added $schema to cgmanifest.json (PR #558).
  • Fixed typos (PR #512).
  • Fixed typos (PR #530).
  • Fixed typos (PR #509).
  • Added missing const qualifiers (PR #556).
  • Added vcpkg installation instructions (PR #562).
  • Fixed an issue in specific environments where allocation fails without throwing std::bad_alloc.
  • Fixed comments (C++) and C/.NET wrapper implementation of an exception thrown by invariant_noise_budget.

Major API Changes

  • Added new public methods mod_reduce_xxx(...) (native) and ModReduceXxx(...) (dotnet) to the class Evaluator.

v4.0.0

2 years ago

Features

  • Added BGV scheme (PR 283). Thanks, Alibaba Gemini Lab!
  • Added a new example "BGV basics" to native and dotnet.
  • Loading objects serialized by Microsoft SEAL v3.4+ are supported.
  • Updated versions of dependencies: GoogleTest from 1.10.0 to 1.11.0 and GoogleBenchmark from 1.5.2 to 1.6.0.

Other Fixes

Major API Changes

  • Added seal::scheme_type::bgv.
  • Added a new public method parms_id() (native) to the class EncryptionParameters.
  • Added a new public method Create(...) (native and dotnet) with three inputs in the class CoeffModulus.
  • Added a new public method correction_factor() (native) or CorrectionFactor() (dotnet) to the class Ciphertext.
  • Removed the friendship of the class EncryptionParameters to the class SEALContext.

File Changes

  • native/bench/bgv.cpp is added.
  • Examples are renamed and extended.

v3.7.3

2 years ago

Features

  • All output files including downloaded thirdparty dependencies and Visual Studio project and solution files will be created in the build directory (PR 427).
  • Reduced util::try_minimal_primitive_root search iterations by half (PR 430). Thanks, zirconium-n!
  • Updated .Net SDK version to 6.0.x and supported Visual Studio version to 17 2022.
  • Added SEAL_AVOID_BRANCHING option to eleminate branching in critical functions when Microsoft SEAL is built with maliciously inserted compiler flags.

Bug Fixes

  • Removed exceptions in KeyGenerator::CreateGaloisKeys when inputs do not include steps so that even when EncryptionParameterQualifiers::using_batching is false Galois automorphisms are still available.

File Changes

  • dotnet/SEALNet.sln is removed.
  • dotnet/SEALNet.sln.in is added.

v3.7.2

2 years ago

Bug Fixes

  • Fixed a bug when Intel HEXL is used (Issue 411) (PR414).
  • Fixed an abnormal benchmark case due to AVX512 transitions when Intel HEXL is used (PR 416).

v3.7.1

2 years ago

Bug Fixes

  • Fixed compiler and linker errors in downstream projects when Microsoft SEAL is built with SEAL_BUILD_DEPS=ON and SEAL_USE_INTEL_HEXL=ON.
  • Updated CMake minimum requirement to 3.13.

File Changes

  • native/src/seal/util/intel_seal_ext.h is removed.
  • native/src/seal/util/intel_seal_ext.cpp is removed.

v3.7.0

2 years ago

Features

  • Improved the performance of Evaluator::multiply, Evaluator::multiply_inplace, and Evaluator::square in the BFV scheme for default parameters with degree 4096 or higher.
  • Improved the performance of decryption (PR 363).
  • Updated to HEXL version 1.2.1 (PR 375).
  • Added more benchmark cases (PR 379).

Minor API Changes

  • const methods in SEALContext and SEALContext::ContextData classes that used to return a pointer or reference now have a preceeding const qualifier.

Bug Fixes

  • Fixed failed tests on PowerPC architecture (Issue 360).

v3.6.6

2 years ago

Bug Fixes

  • Fixed an error when loading seeded ciphertexts serialized by v3.4.x from v3.5.0+.
  • Fixed failed tests on ARM64 architecture (Issue 347).

Other

  • Improved HEXL NTT integration (PR 349).
  • Improved CKKS ciphertext multiplication (PR 346).
  • Improved CKKS ciphertext square (PR 353), except that with GNU G++ compiler and 1024 degree there is a huge penalty in execution time. Users should switch from GNU G++ in this specific parameter setting if CKKS square is used.

v3.6.5

2 years ago

New Features

  • Updated the dependency Intel HEXL to v1.1.0 (PR 332).
  • Integrated more optimizations from Intel HEXL to Microsoft SEAL.
  • Intel HEXL now uses Microsoft SEAL's memory pool, so that memory allocation reported by Microsoft SEAL is more accurate.

Bug Fixes

  • Fixed typos in comments (PR 328).
  • Fixed a bug in DWTHandler (Issue 330).
  • Fixed failing tests when SEAL_USE_ZLIB=OFF and SEAL_USE_ZTD=OFF (PR 332).
  • Fixed shared library build when SEAL_USE_HEXL=ON (PR 332).
  • Added missing const qualifiers to several members of BatchEncoder and Evaluator (PR 334).

v3.6.4

2 years ago

New Features

Bug Fixes