6/20/2018: SEAL 2.3.1 released
A shiny new version of SEAL is now available! Here are the main changes:
- SEAL requires C++17; it has been tested on Visual Studio 2017, g++-6 and newer, and clang++-5.0 and newer.
- Added support for clang++ and fixed bug that caused incorrect results with g++-8.
- Added CMake support for Linux and OS X. See INSTALL.txt for instructions for installing SEAL on Linux and OS X, and SEALExamples/CMakeLists.txt for an example of linking it with your projects.
- Added performance tests to SEALNETExamples.
- Enabled all Galois automorphisms in Evaluator/KeyGenerator.
- Fixed bug that caused incorrect results with large plaintext modulus.
- Simplified many class constructors: MemoryPoolHandle is no longer an optional parameter.
- Thread-unsafe memory pools are no longer available by default (too dangerous).
- Added experimental support for Microsoft GSL (gsl::span and gsl::multi_span).
- Of course a huge number of internal bug fixes and improvements have been made.
Feel free to email email@example.com if you find any bugs, or if you have feature requests or other suggestions.
12/1/2017: SEAL v2.3.0-4 available
A new update v2.3.0-4 fixing several major bugs and issues has been released. Important changes include:
- The problem with GCC-7.2 has been fixed. SEAL also works with GCC-5 now and uses only C++11 (no C++14).
- Homomorphic multiplication of ciphertexts of size larger than 2 gave incorrect results. This problem has been fixed now.
- SEALNET EvaluationKeys|GaloisKeys::Save|Load now work correctly.
- Problems with global memory pool in SEALNET have been fixed. There is no longer need to manually destroy the global memory pool on application exit.
- In SEALNET, EncryptionParameters::SetX(…) functions have been removed and changed into setters for the corresponding properties.
- Downloadable Linux (.tar.gz) and Windows (.zip) versions are available separately.
11/17/2017: Small updates
As some of you may have noticed, we’ve been pushing a lot of small (and big) bug fixes and other updates since the initial release of v2.3.0. We just released SEAL v2.3.0-3 which—in addition to the bug fixes—brings substantial improvements to memory locality and subsequently has a major impact on performance with larger parameters.
11/9/2017: Direct download link
SEAL v2.3.0-2 can now be downloaded directly from https://www.microsoft.com/en-us/download/details.aspx?id=56202.
11/7/2017: SEAL v2.3.0 released
A new version of SEAL is available! This is the biggest update since the first release, and contains a huge number of improvements, including:
- Implementation of the FullRNS variant of the FV scheme by Bajard et al. (SAC 2016)
- Redesigned and improved memory management
- Improved support for multi-threaded applications
- Massive number of optimizations and improvements throughout the library
- Row and column rotations of encrypted matrices (batching)
- Completely revised SEALExamples/main.cpp; new example demonstrating multi-threaded use of SEAL
- Better directory structure
- Lots of bug fixes
A new SEAL manual will be available shortly.
We highly recommend all users (especially those familiar with older versions of SEAL) to go carefully over the examples in SEALExamples/main.cpp. There are several subtle but critical differences to SEAL v2.2, which are necessary to know to achieve the best performance.
7/21/2017: SEAL has found a new home
SEAL is now available at http://sealcrypto.visualstudio.com. To get access, send us an email at firstname.lastname@example.org, include an email address associated to your Microsoft Live Account, and tell us briefly what you are planning on using SEAL for. SEAL v2.3 will be available only through the new repository.
6/4/2017: SEAL v2.2 released
SEAL v2.2 has been released. It includes the changes from the experimental branch, and many other improvements. We have big plans for major improvements to be implemented this summer, so stay tuned!
10/13/2016: Experimental Branch
A new experimental branch has been created. This branch will get much more frequent updates than the master branch, but these updates may not have been tested as thoroughly as the code in the master branch, may introduce frequent API changes, and may contain incomplete functionality. This first experimental commit contains some significant performance improvements over SEAL v2.1.
9/30/2016: SEAL v2.1 released
Again a new version of SEAL has been released. This is a fairly large update, which focuses mostly on performance, but also introduces some small API changes.
To accompany the release and to explain the changes in SEAL v2.1, we have released a new version of the documentation, available here.