Release_Notes.md 7.75 KB
Newer Older
Yuriy Polyakov's avatar
Yuriy Polyakov committed
1 2 3 4 5 6 7 8
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

9 10 11 12 13 14
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

15 16 17 18 19
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

Yuriy Polyakov's avatar
Yuriy Polyakov committed
20 21 22 23
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
Yuriy Polyakov's avatar
Yuriy Polyakov committed
24
* Adds an automated rescaling mode to the approximate rescaling RNS variant of CKKS
Yuriy Polyakov's avatar
Yuriy Polyakov committed
25 26 27 28 29 30 31
* 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

Yuriy Polyakov's avatar
Yuriy Polyakov committed
32 33 34 35 36 37
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

Yuriy Polyakov's avatar
Yuriy Polyakov committed
38 39 40 41 42
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

Yuriy Polyakov's avatar
Yuriy Polyakov committed
43 44 45 46 47 48 49 50
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

Yuriy Polyakov's avatar
Yuriy Polyakov committed
51 52 53
01/30/2020: PALISADE v1.8.0 (development) is released

* Adds the Gama-Izabachene-Nguyen-Xie (GINX) bootstrapping to the FHEW implementation
Fabian Boemer's avatar
Fabian Boemer committed
54
* Includes other FHEW optimizations: now the bootstrapping key size is 20x times smaller and runtime about 2.5x faster
Yuriy Polyakov's avatar
Yuriy Polyakov committed
55 56 57 58 59 60 61
* 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
62 63 64 65

* 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

Yuriy Polyakov's avatar
Yuriy Polyakov committed
66
12/26/2019: PALISADE v1.7.c (development) is released
Yuriy Polyakov's avatar
Yuriy Polyakov committed
67 68 69 70

* Fixes a bug affecting applications using the PALISADE serialization capability
* Changes the installation paths for header files and library binary files

Yuriy Polyakov's avatar
Yuriy Polyakov committed
71
12/19/2019: PALISADE v1.7.b (development) is released
72 73 74 75

* 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

Yuriy Polyakov's avatar
Yuriy Polyakov committed
76
11/15/2019: PALISADE v1.7.a (development) is released
Yuriy Polyakov's avatar
Yuriy Polyakov committed
77 78 79 80 81

* 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).
Fabian Boemer's avatar
Fabian Boemer committed
82
* Fixes several bugs.
Yuriy Polyakov's avatar
Yuriy Polyakov committed
83

Yuriy Polyakov's avatar
Yuriy Polyakov committed
84 85
9/12/2019: PALISADE v1.6.0 is released

Yuriy Polyakov's avatar
Yuriy Polyakov committed
86
* Significantly simplifies/automates the PALISADE build/installation process. Now we use CMake.
Yuriy Polyakov's avatar
Yuriy Polyakov committed
87 88
* 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.
Yuriy Polyakov's avatar
Yuriy Polyakov committed
89
* The performance in Windows is now as fast as in Linux (4x to 7x times faster than previously).
Yuriy Polyakov's avatar
Yuriy Polyakov committed
90 91
* Applies several low-level optimizations, and fixes some bugs.

gwryan@njit.edu's avatar
gwryan@njit.edu committed
92 93
3/20/2019: PALISADE v1.5.0 is released

Fabian Boemer's avatar
Fabian Boemer committed
94
* Fixes the vulnerability found in https://eprint.iacr.org/2017/785 (PKC'19) for the PRE schemes based on BGV/BFV
Yuriy Polyakov's avatar
Yuriy Polyakov committed
95 96 97
* 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
gwryan@njit.edu's avatar
gwryan@njit.edu committed
98 99 100 101 102

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).

Jerry Ryan's avatar
Jerry Ryan committed
103 104 105 106 107 108 109 110
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

Jerry Ryan's avatar
Jerry Ryan committed
111 112 113 114 115 116 117
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

Jerry Ryan's avatar
Jerry Ryan committed
118 119 120 121 122 123 124
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

gwryan@njit.edu's avatar
gwryan@njit.edu committed
125 126 127 128 129 130 131 132 133 134 135 136
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.

Jerry Ryan's avatar
Jerry Ryan committed
137 138 139 140
1/29/2018: PALISADE v1.1.1 is released

PALISADE v1.1.1 includes bug fixes and minor optimizations:

Jerry Ryan's avatar
Jerry Ryan committed
141 142 143 144 145
* 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
Jerry Ryan's avatar
Jerry Ryan committed
146

Yuriy Polyakov's avatar
Yuriy Polyakov committed
147 148 149 150 151 152 153 154 155 156 157
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...

Jerry Ryan's avatar
Jerry Ryan committed
158
07/15/2017: PALISADE v1.0 is released