04/30/2022: PALISADE v1.11.7 (stable) is released in the palisade-release repo
- Updates the parameter sets for FHEW/TFHE
- Optimizes the BGV AUTO modulus switching mode
- Fixes several bugs
01/28/2022: PALISADE v1.11.6 (stable) is released in the palisade-release repo
- Fixes a bug affecting Intel HEXL builds
- Updates Intel HEXL to 1.2.3
- Fixes a serialization compatibility issue between 32-bit and 64-bit systems (needed for WebAssembly)
- Improves runtime of TFHE bootstrapping (by about 1.5x)
- Adds the uninstall capability
- Fixes other bugs
09/17/2021: PALISADE v1.11.5 (stable) is released in the palisade-release repo
- Fixes a bug affecting Intel HEXL builds
- Upgrades HEXL to 1.2.1 (improves performance of AVX-512 acceleration)
- Fixes a bug affecting some scenarios of distributed decryption in BGVrns
08/22/2021: PALISADE v1.11.4 (stable) is released in the palisade-release repo
- Fixes WebAssembly compilation for new versions of Emscripten (2.0.23+)
- Integrates HEXL v1.2.0 improvements (additional acceleration)
- Adds support for Gaussian sampling with standard deviations between 2^32 and 2^59
- Fixes several minor bugs
05/28/2021: PALISADE v1.11.3 (stable) is released in the palisade-release repo
- Includes all changes from development releases v1.11.0, v1.11.1, and v1.11.2
05/26/2021: PALISADE v1.11.2 (development) is released
- Adds initial Intel HEXL library integration
- Adds support for web assembly
- Fixes some bugs for the scenarios with multiple cryptocontexts
05/04/2021: PALISADE v1.11.1 (development) is released
- Fixes some bugs related to serialization
03/31/2021: PALISADE v1.11.0 (development) is released
- The abe module is moved to https://gitlab.com/palisade/palisade-abe
- The signature module is moved to https://gitlab.com/palisade/palisade-signature
- Adds high-precision CKKS (supports the scaling factor of up to 119 bits in size)
- Removes old code (Stehle-Steinfeld scheme and prior Matrix functionality)
- Applies optimizations for NTT, and hybrid key switching in BGVrns and CKKS
- Simplifies the PALISADE installation (gitmodules are now updated automatically)
- Adds a Dockerfile for PALISADE
- Fixes many bugs reported by the PALISADE community
12/08/2020: PALISADE v1.10.6 (stable) is released
- Patches CKKS against the Li-Micciancio attack
- Complex-number arithmetic is no longer supported in CKKS
- Fixes a bug in the 128-bit mathematical backend
- Fixes a rarely occuring exception in the Gaussian sampling procedure
10/01/2020: PALISADE v1.10.5 (stable) is released
- Fixes a lattice parameter selection bug for an edge case (for leveled HE schemes)
- Fixes a compilation error in Apple clang 12 (XCode 12)
09/21/2020: PALISADE v1.10.4 (stable) is released
- Includes all changes from development releases v1.10.0-v1.10.3
- Fixes some bugs in BGVrns
- Improves error handling
08/25/2020: PALISADE v1.10.3 (development) is released
- Fixes a bug in BFVrns for larger plaintext moduli
- Fixes bugs in FHEW/TFHE
- Fixes bugs affecting the 32-bit and 64-bit native integer backends
- Improves error handling
- Includes minor documentation cleanup
07/11/2020: PALISADE v1.10.2 (development) is released
- Fixes a bug affecting some threshold FHE scenarios
- Adds more validation to CMake flags
- Includes minor documentation cleanup
06/26/2020: PALISADE v1.10.1 (development) is released
- Fixes a bug affecting some clang environments
- Fixes a bug related to the BUILD_BENCHMARKS CMake flag
06/18/2020: PALISADE v1.10.0 (development) is released
- Adds a usable, full RNS variant of BGV (as a more efficient alternative to BFV RNS variants for integer arithmetic)
- Adds a fully functional threshold FHE capability to BGV, BFV, and CKKS to support multi-party computations
- Adds an automated rescaling mode to the approximate rescaling RNS variant of CKKS
- Improves the performance of both CKKS RNS variants
- Improves the performance of both BFV RNS variants
- Makes NTL completely optional for all environments (no quad-precision floats are needed anymore)
- Improves the support for clang in Linux
- Simplifies the CMake procedure for building PALISADE
- Fixes many bugs reported by the PALISADE community
04/24/2020: PALISADE v1.9.2 (stable) is released in the palisade-release repo
- Includes all changes from development releases v1.8.0, v1.9.0, and v1.9.1
- Fixes a bug in BFVrnsB
- Fixes a bug with CSPRNG in some multi-threaded environments
03/03/2020: PALISADE v1.9.1 (development) is released
- Fixes the performance issue with Ubuntu
- Improves the runtime of inverse Number Theoretic Transform for all supported systems
02/29/2020: PALISADE v1.9.0 (development) is released
- Adds multiple low-level optimizations, including improved Number Theoretic Transform
- Adds a CMake install package for PALISADE
- Improves the security and performance of the PRE implementations for BFV, BGV, and CKKS homomorphic encryption schemes
- Updates selected parameter sets for FHEW to reduce the probability of decryption error
- Includes multiple bug fixes for the issues reported by the PALISADE community
01/30/2020: PALISADE v1.8.0 (development) is released
- Adds the Gama-Izabachene-Nguyen-Xie (GINX) bootstrapping to the FHEW implementation
- Includes other FHEW optimizations: now the bootstrapping key size is 20x times smaller and runtime about 2.5x faster
- Adds XOR and XNOR gates to FHEW
01/22/2020: PALISADE v1.7.4 (stable) is released in the palisade-release repo
- includes all changes from development releases v1.7.a to v1.7.d
01/15/2020: PALISADE v1.7.d (development) is released
- Replaces the Mersenne Twister PRNG Engine with a cryptographically secure BLAKE2-based PRNG
- Fixes a PRNG bug affecting environments where multithreading is done not using OpenMP
12/26/2019: PALISADE v1.7.c (development) is released
- Fixes a bug affecting applications using the PALISADE serialization capability
- Changes the installation paths for header files and library binary files
12/19/2019: PALISADE v1.7.b (development) is released
- Simplifies the development of applications using PALISADE (only one header file is now needed for most applications)
- Changes the folder hierarchy of the library header files
11/15/2019: PALISADE v1.7.a (development) is released
- Adds an optimized implementation of the CKKS scheme for approximate (real-number) homomorphic encryption. The implementation features automated rescaling/modswitching and hybrid key switching.
- Adds an optimized implementation of the FHEW scheme for Boolean-circuit homomorphic encryption, supporting standard HE parameters. Performs bootstrapping for each binary gate, and hence supports the evaluation of arbitrary Boolean circuits.
- Adds the ring dimension as an option when generating crypto contexts for BFV variants.
- Improves the noise growth of the BEHZ variant of BFV (referred to as the BFVrnsB scheme in PALISADE).
- Fixes several bugs.
9/12/2019: PALISADE v1.6.0 is released
- Significantly simplifies/automates the PALISADE build/installation process. Now we use CMake.
- Serialization/deserialization is now much faster (by 3x to 10x). Both binary and JSON formats are supported.
- By default, PALISADE compiles w/o external dependencies in Linux and Windows, i.e., NTL/GMP is now optional for these OSes.
- The performance in Windows is now as fast as in Linux (4x to 7x times faster than previously).
- Applies several low-level optimizations, and fixes some bugs.
3/20/2019: PALISADE v1.5.0 is released
- Fixes the vulnerability found in https://eprint.iacr.org/2017/785 (PKC'19) for the PRE schemes based on BGV/BFV
- Adds PRE modes for BGV/BFV that are secure under honest re-reencryption attacks (recommended security for practical use)
- Adds support for splitting lattice trapdoor sampling into offline and online phases (used by digital signatures, IBE, and ABE constructions)
- Fixes bugs related to the multi-threaded mode of operation
02/11/2018: PALISADE v1.4.1 is released
Fixes a bug affecting the IBE and CP-ABE implementations (some unit tests for IBE/CP-ABE were entering in an infinite loop in about 10% of the runs).
12/31/2018: PALISADE v1.4.0 is released
- Adds the Gentry-Peikert-Vaikuntanathan (GPV) digital signature scheme
- Adds the GPV identity-based encryption scheme
- Adds the Zhang-Zhang ciphertext-policy attribute-based encryption scheme
- Includes Genise-Micciancio (Eurocrypt'18) lattice trapdoor sampling algorithms and their improvements/generalizations
- Fixes bugs that were brought to our attention
11/26/2018: PALISADE v1.3.1 is released
- Improves performance of BFVrns
- Improves performance of Number Theoretic Transform
- Fixes a bug affecting the demo-cross-correlation demo
- Fixes other bugs that were brought to our attention
10/17/2018: PALISADE v1.3.0 is released
- Added support for the security levels/tables specified by the HomorphicEncryption.org security standard to all variants of the BFV scheme
- Optimized the packed encoding (batching)
- Simplified the signatures of classes and methods at multiple layers
- Fixed bugs that were brought to our attention
6/15/2018: PALISADE v1.2 is released
PALISADE v1.2 provides several important advancements and improvements to the library. Most notably, we provide:
- The Bajard-Eynard-Hasan-Zucca RNS variant of the BFV scheme is added to the library
- The implementation of the Halevi-Polyakov-Shoup RNS variant of the BFV scheme is significantly improved
- Large multiplicative depths (up to 100 and higher) for both RNS variants are now supported.
- Several low-level optimizations, e.g., in Number Theoretic Transform and NTL multiprecision math backend, are implemented.
- Multiple improvements in plaintext encodings.
- Software engineering improvements: extended batteries of unit tests, cleaner design of the matrix class, better CryptoContext wrapper, etc.
- Fixes for bugs which have been brought to our attention.
1/29/2018: PALISADE v1.1.1 is released
PALISADE v1.1.1 includes bug fixes and minor optimizations:
- Fixes minor bugs in NativeInteger and multiprecision backends (BigInteger)
- Deals properly with a low-probability rounding error in BFVrns
- Fixes a compilation error on some CentOS systems
- Improves the performance of NativeInteger
- Fixes a couple of other minor bugs
12/29/2017: PALISADE v1.1 is released
PALISADE v1.1 includes the following new capabilities, library enhancements, and optimizations:
- New efficient homomorphic scheme: BFVrns
- Newly supported homomorphic operations for multi-depth computations
- Type checking, type safety, and improved error handling
- Faster/more capable Gaussian sampling
- NTL integration as a new option for the multiprecision arithmetic backend
- And more...
07/15/2017: PALISADE v1.0 is released