{"id":438444,"date":"2017-11-07T10:24:35","date_gmt":"2017-11-07T18:24:35","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-project&#038;p=438444"},"modified":"2023-01-04T09:36:35","modified_gmt":"2023-01-04T17:36:35","slug":"microsoft-seal","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/microsoft-seal\/","title":{"rendered":"Microsoft SEAL"},"content":{"rendered":"<section class=\"mb-3 moray-highlight\">\n\t<div class=\"card-img-overlay mx-lg-0\">\n\t\t<div class=\"card-background  has-background- card-background--full-bleed\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"720\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/SEAL_SPC_Header_01_2019_1920x720-5c61e36da374e.jpg\" class=\"attachment-full size-full\" alt=\"Microsoft SEAL\" style=\"object-position: 66% 50%\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/SEAL_SPC_Header_01_2019_1920x720-5c61e36da374e.jpg 1920w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/SEAL_SPC_Header_01_2019_1920x720-5c61e36da374e-300x113.jpg 300w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/SEAL_SPC_Header_01_2019_1920x720-5c61e36da374e-768x288.jpg 768w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/SEAL_SPC_Header_01_2019_1920x720-5c61e36da374e-1024x384.jpg 1024w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/SEAL_SPC_Header_01_2019_1920x720-5c61e36da374e-1600x600.jpg 1600w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/>\t\t<\/div>\n\t\t<!-- Foreground -->\n\t\t<div class=\"card-foreground d-flex mt-md-n5 my-lg-5 px-g px-lg-0\">\n\t\t\t<!-- Container -->\n\t\t\t<div class=\"container d-flex mt-md-n5 my-lg-5 align-self-center\">\n\t\t\t\t<!-- Card wrapper -->\n\t\t\t\t<div class=\"w-100 w-lg-col-5\">\n\t\t\t\t\t<!-- Card -->\n\t\t\t\t\t<div class=\"card material-md-card py-5 px-md-5\">\n\t\t\t\t\t\t<div class=\"card-body \">\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n<h1 id=\"microsoft-seal\" class=\"h2\">Microsoft SEAL<\/h1>\n\n\n\n<p>Build end-to-end encrypted data storage and computation services<\/p>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n\n\n\n<p><b>Microsoft SEAL<\/b>\u2014powered by open-source homomorphic encryption technology\u2014provides a set of encryption libraries that allow computations to be performed directly on encrypted data. This enables software engineers to build end-to-end encrypted data storage and computation services where the customer never needs to share their key with the service.<\/p>\n\n\n\n<h4 id=\"microsoft-seal-is-open-source-mit-license-start-using-it-today\" class=\"has-text-align-center\">Microsoft SEAL is open source (MIT license). Start using it today!<\/h4>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-16018d1d wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-fill-github\"><a data-bi-type=\"button\" class=\"wp-block-button__link\" href=\"https:\/\/GitHub.com\/Microsoft\/SEAL\" target=\"_blank\" rel=\"noreferrer noopener\">Download<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/github.com\/Microsoft\/SEAL#citing-microsoft-seal\" target=\"_blank\" rel=\"noopener noreferrer\">Citing Microsoft SEAL<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> | <a href=\"mailto:sealcrypto@microsoft.com\">Contact us<\/a><\/p>\n\n\n\n<h3 id=\"homomorphic-encryption\">Homomorphic Encryption<\/h3>\n\n\n\n<p>Homomorphic Encryption refers to a <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/project\/homomorphic-encryption\">new type of encryption technology<\/a> that allows computation to be directly on encrypted data, without requiring any decryption in the process. The first homomorphic encryption scheme was invented in 2009 and several improved schemes were created over the following years. There were a few notable and publicly available implementations, but their use required extensive understanding of the complicated mathematics underlying homomorphic encryption and were not easily usable by normal software developers.<\/p>\n\n\n\n<p>Our goal was different: making homomorphic encryption easy to use and available for <em>everyone<\/em>. Today, Microsoft SEAL reaches this goal by providing a simple and convenient API with state-of-the-art performance. Microsoft SEAL comes with several detailed and thoroughly commented examples, demonstrating how the library can be used correctly and securely, and explaining any necessary background material.<\/p>\n\n\n\n<h3 id=\"scenarios-secure-cloud-storage-and-computation\">Scenarios: Secure cloud storage and computation<\/h3>\n\n\n\n<p>In traditional cloud storage and computation solution customers need to trust the service provider to store and manage their data appropriately, e.g., not to share it with third parties without the customer\u2019s consent. Microsoft SEAL replaces this trust with state-of-the-art cryptography, allowing cloud services to provide both encrypted storage and computation capabilities, while still guaranteeing that their customer\u2019s data will never be exposed to anyone in unencrypted form.<\/p>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-top is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\">\n<h4 id=\"traditional-cloud-storage-and-computation\">Traditional cloud storage and computation<\/h4>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"443\" height=\"254\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/Computation_SEAL_SPC_Other_01_2019_480x280.png\" alt=\"Traditional cloud storage and computation\" class=\"wp-image-567441\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/Computation_SEAL_SPC_Other_01_2019_480x280.png 443w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/Computation_SEAL_SPC_Other_01_2019_480x280-300x172.png 300w\" sizes=\"auto, (max-width: 443px) 100vw, 443px\" \/><\/figure>\n\n\n\n<p>In traditional cloud storage and computation solutions the cloud need to have unencrypted access to customer data to compute on it, necessarily exposing the data to the cloud operators. Data privacy relies on access control policies implemented by the cloud and trusted by the customer.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\">\n<h4 id=\"microsoft-seal-cloud-storage-and-computation\">Microsoft SEAL cloud storage and computation<\/h4>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"443\" height=\"254\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/Secure_Computation_SEAL_SPC_Other_01_2019_480x280.png\" alt=\"Microsoft SEAL cloud storage and computation\" class=\"wp-image-567444\" srcset=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/Secure_Computation_SEAL_SPC_Other_01_2019_480x280.png 443w, https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2019\/02\/Secure_Computation_SEAL_SPC_Other_01_2019_480x280-300x172.png 300w\" sizes=\"auto, (max-width: 443px) 100vw, 443px\" \/><\/figure>\n\n\n\n<p>With Microsoft SEAL, the cloud operators will never have unencrypted access to the data they are storing and computing on. This is possible through homomorphic encryption technology, that allows computations to be performed directly on encrypted data. Data privacy relies on state-of-the-art cryptography (mathematics) and all information release will be controlled by the customer.<\/p>\n<\/div>\n<\/div>\n\n\n\n\n\n<h2 id=\"release-news\">Release news<\/h2>\n\n\n\n<p><b>12\/2\/2018: SEAL 3.1.0 released on <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/github.com\/Microsoft\/SEAL\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> under MIT license<\/b><\/p>\n\n\n\n<p>In addition to the license change, this release brings many internal and a few API updates.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Changed to use Google Test framework for unit tests<\/li><li>Added support for 32-bit platforms<\/li><li>Cleaned up source code from unnecessary files and functions; improved build time<\/li><li>Changed directory structure to be more descriptive<\/li><li>Visual Studio solution now uses CMake to configure SEAL on Windows<\/li><li>Fixed multiple bugs<\/li><li>New capabilities, including:\n<ul>\n<li>Option of not expanding modulus chain when it is not needed<\/li>\n<li>Easier to generate Galois keys for specific rotations<\/li>\n<li>Loading now validates the correctness of plaintexts, ciphertexts, and keys for given SEALContext<\/li>\n<li>New EncryptionParameterQualifiers flag indicating HomomorphicEncryption.org security standard compliance for parameters; option of enforcing the security standard<\/li>\n<li>Secret key data is now cleared automatically from memory by destructors of SecretKey, KeyGenerator, and Decryptor<\/li>\n<\/ul>\n<\/li><\/ul>\n\n\n\n<p><strong>10\/19\/2018: Hotfix to SEAL 3.0<\/strong><\/p>\n\n\n\n<p>Due to a minor mistake SEAL 3.0 did not compile with OS X toolchains. This problem has now been fixed.<\/p>\n\n\n\n<p><strong>10\/17\/2018: SEAL 3.0 released<\/strong><\/p>\n\n\n\n<p>SEAL 3.0 is finally ready! Among other things, this major release adds support for the `FullRNS&#8217; variant of the Cheon-Kim-Kim-Song (CKKS) approximate arithmetic scheme.<\/p>\n\n\n\n<p>Main changes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Added support for the CKKS encryption scheme (https:\/\/eprint.iacr.org\/2016\/421);<\/li><li>SEAL can now be compiled purely as C++14 if necessary although C++17 is recommended;<\/li><li>Added support for modulus switching (for both BFV and CKKS schemes);<\/li><li>Added seeded AES-NI-based PRNG for faster pseudo-randomness.<\/li><li>Improved performance when compiling on g++ and clang++;<\/li><li>Big improvements to the memory pooling system: the MemoryManager class now automatically hands out MemoryPoolHandle objects according to a customizable profile (MMProf class);<\/li><li>Big improvements to SEALExamples, e.g. multiple new examples;<\/li><li>Renamed `hash_block&#8217; to `parms_id&#8217;;<\/li><li>Renamed EvaluationKeys to RelinKeys;<\/li><li>Renamed PolyCRTBuilder to BatchEncoder;<\/li><li>Removed Simulation, and Chooser, and related classes;<\/li><li>Removed .NET Framework wrappers and related projects;<\/li><li>Many bug fixes and improvements to the internals.<\/li><\/ul>\n\n\n\n<p>Let us know if you have any comments! For technical questions that can be of general interest, please ask on <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/stackoverflow.com\/questions\/tagged\/seal\" target=\"_blank\" rel=\"noopener noreferrer\">StackOverflow<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> using the tag [seal]. For other communication, contact us at sealcrypto@microsoft.com.<\/p>\n\n\n\n<p>P.S.: A big thank you to everyone who submitted bug reports for SEAL 2.3.1 and earlier versions.<\/p>\n\n\n\n<p><strong>6<\/strong><b>\/20\/2018: SEAL 2.3.1 released<\/b><\/p>\n\n\n\n<p>A shiny new version of SEAL is now available! Here are the main changes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>SEAL requires C++17; it has been tested on Visual Studio 2017, g++-6 and newer, and clang++-5.0 and newer.<\/li><li>Added support for clang++ and fixed bug that caused incorrect results with g++-8.<\/li><li>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.<\/li><li>Added performance tests to SEALNETExamples.<\/li><li>Enabled all Galois automorphisms in Evaluator\/KeyGenerator.<\/li><li>Fixed bug that caused incorrect results with large plaintext modulus.<\/li><li>Simplified many class constructors: MemoryPoolHandle is no longer an optional parameter.<\/li><li>Thread-unsafe memory pools are no longer available by default (too dangerous).<\/li><li>Added experimental support for <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/github.com\/Microsoft\/GSL\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft GSL<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> (gsl::span and gsl::multi_span).<\/li><li>Of course, a huge number of internal bug fixes and improvements have been made.<\/li><\/ul>\n\n\n\n<p>Feel free to email <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"mailto:\/\/sealcrypto@microsoft.com\" target=\"_blank\" rel=\"noopener noreferrer\">sealcrypto@microsoft.com<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> if you find any bugs, or if you have feature requests or other suggestions.<\/p>\n\n\n\n<p><strong>12\/1\/2017: SEAL v2.3.0-4 available<\/strong><\/p>\n\n\n\n<p>A new update v2.3.0-4 fixing several major bugs and issues has been released. Important changes include:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The problem with GCC-7.2 has been fixed. SEAL also works with GCC-5 now and uses only C++11 (no C++14).<\/li><li>Homomorphic multiplication of ciphertexts of size larger than 2 gave incorrect results. This problem has been fixed now.<\/li><li>SEALNET EvaluationKeys|GaloisKeys::Save|Load now work correctly.<\/li><li>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.<\/li><li>In SEALNET, EncryptionParameters::SetX(&#8230;) functions have been removed and changed into setters for the corresponding properties.<\/li><li>Downloadable Linux (.tar.gz) and Windows (.zip) versions are available separately.<\/li><\/ul>\n\n\n\n<p><strong>11\/17\/2017: Small updates<\/strong><\/p>\n\n\n\n<p>As some of you may have noticed, we&#8217;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\u2014in addition to the bug fixes\u2014brings substantial improvements to memory locality and subsequently has a major impact on performance with larger parameters.<\/p>\n\n\n\n<p><strong>11\/9\/2017: Direct download link<\/strong><\/p>\n\n\n\n<p>SEAL v2.3.0-2 can now be downloaded directly from <a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=56202\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=56202<\/a>.<\/p>\n\n\n\n<p><strong>11\/7\/2017: SEAL v2.3.0 released<\/strong><\/p>\n\n\n\n<p>A new version of SEAL is available! This is the biggest update since the first release, and contains a huge number of improvements, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Implementation of the FullRNS variant of the FV scheme by Bajard <em>et al.<\/em> (SAC 2016)<\/li><li>Redesigned and improved memory management<\/li><li>Improved support for multi-threaded applications<\/li><li>Massive number of optimizations and improvements throughout the library<\/li><li>Row and column rotations of encrypted matrices (batching)<\/li><li>Completely revised SEALExamples\/main.cpp; new example demonstrating multi-threaded use of SEAL<\/li><li>Better directory structure<\/li><li>Lots of bug fixes<\/li><\/ul>\n\n\n\n<p>A new SEAL manual will be available shortly.<\/p>\n\n\n\n<p><em>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.<\/em><\/p>\n\n\n\n<p><strong>7\/21\/2017: SEAL has found a new home<\/strong><\/p>\n\n\n\n<p>SEAL is now available at <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/sealcrypto.visualstudio.com\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/sealcrypto.visualstudio.com<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>. To get access, send us an email at <a href=\"mailto:sealcrypto@microsoft.com\" target=\"_blank\" rel=\"noreferrer noopener\">sealcrypto@microsoft.com<\/a>, include an email address associated to your <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/live.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Live Account<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, and tell us briefly what you are planning on using SEAL for. SEAL v2.3 will be available only through the new repository.<\/p>\n\n\n\n<p><strong>6\/4\/2017: SEAL v2.2 released<\/strong><\/p>\n\n\n\n<p>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!<\/p>\n\n\n\n<p><strong>10\/13\/2016: Experimental Branch<\/strong><\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p><strong>9\/30\/2016: SEAL v2.1 released<\/strong><\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>To accompany the release and to explain the changes in SEAL v2.1, we have released a new version of the documentation, available <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/simple-encrypted-arithmetic-library-seal-v2-1\/\">here<\/a>.<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Microsoft SEAL\u2014powered by open-source homomorphic encryption technology\u2014provides a set of encryption libraries that allow computations to be performed directly on encrypted data.<\/p>\n","protected":false},"featured_media":567399,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13558],"msr-locale":[268875],"msr-impact-theme":[261676],"msr-pillar":[],"class_list":["post-438444","msr-project","type-msr-project","status-publish","has-post-thumbnail","hentry","msr-research-area-security-privacy-cryptography","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"","related-publications":[565860,565848,565854,486480,498032,486486,486471,486492,215425,238112,168902,238106,238111,238113,168029,168031,167580,238118,166912,165622,164098,163880],"related-downloads":[],"related-videos":[591388,591685,749341],"related-groups":[],"related-events":[],"related-opportunities":[],"related-posts":[554733,568638,716848],"related-articles":[],"tab-content":[{"id":0,"name":"Release news","content":"<h2>Release news<\/h2>\r\n<b>12\/2\/2018: SEAL 3.1.0 released on <a href=\"https:\/\/github.com\/Microsoft\/SEAL\">GitHub<\/a> under MIT license<\/b>\r\n\r\nIn addition to the license change, this release brings many internal and a few API updates.\r\n<ul>\r\n \t<li>Changed to use Google Test framework for unit tests<\/li>\r\n \t<li>Added support for 32-bit platforms<\/li>\r\n \t<li>Cleaned up source code from unnecessary files and functions; improved build time<\/li>\r\n \t<li>Changed directory structure to be more descriptive<\/li>\r\n \t<li>Visual Studio solution now uses CMake to configure SEAL on Windows<\/li>\r\n \t<li>Fixed multiple bugs<\/li>\r\n \t<li>New capabilities, including:\r\n<ul>\r\n \t<li>Option of not expanding modulus chain when it is not needed<\/li>\r\n \t<li>Easier to generate Galois keys for specific rotations<\/li>\r\n \t<li>Loading now validates the correctness of plaintexts, ciphertexts, and keys for given SEALContext<\/li>\r\n \t<li>New EncryptionParameterQualifiers flag indicating HomomorphicEncryption.org security standard compliance for parameters; option of enforcing the security standard<\/li>\r\n \t<li>Secret key data is now cleared automatically from memory by destructors of SecretKey, KeyGenerator, and Decryptor<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n&nbsp;\r\n\r\n<strong>10\/19\/2018: Hotfix to SEAL 3.0<\/strong>\r\n\r\nDue to a minor mistake SEAL 3.0 did not compile with OS X toolchains. This problem has now been fixed.\r\n\r\n&nbsp;\r\n\r\n<strong>10\/17\/2018: SEAL 3.0 released<\/strong>\r\n\r\nSEAL 3.0 is finally ready! Among other things, this major release adds support for the `FullRNS' variant of the Cheon-Kim-Kim-Song (CKKS) approximate arithmetic scheme.\r\n\r\nMain changes:\r\n<ul>\r\n \t<li>Added support for the CKKS encryption scheme (https:\/\/eprint.iacr.org\/2016\/421);<\/li>\r\n \t<li>SEAL can now be compiled purely as C++14 if necessary although C++17 is recommended;<\/li>\r\n \t<li>Added support for modulus switching (for both BFV and CKKS schemes);<\/li>\r\n \t<li>Added seeded AES-NI-based PRNG for faster pseudo-randomness.<\/li>\r\n \t<li>Improved performance when compiling on g++ and clang++;<\/li>\r\n \t<li>Big improvements to the memory pooling system: the MemoryManager class now automatically hands out MemoryPoolHandle objects according to a customizable profile (MMProf class);<\/li>\r\n \t<li>Big improvements to SEALExamples, e.g. multiple new examples;<\/li>\r\n \t<li>Renamed `hash_block' to `parms_id';<\/li>\r\n \t<li>Renamed EvaluationKeys to RelinKeys;<\/li>\r\n \t<li>Renamed PolyCRTBuilder to BatchEncoder;<\/li>\r\n \t<li>Removed Simulation, and Chooser, and related classes;<\/li>\r\n \t<li>Removed .NET Framework wrappers and related projects;<\/li>\r\n \t<li>Many bug fixes and improvements to the internals.<\/li>\r\n<\/ul>\r\nLet us know if you have any comments! For technical questions that can be of general interest, please ask on <a href=\"https:\/\/stackoverflow.com\/questions\/tagged\/seal\">StackOverflow<\/a> using the tag [seal]. For other communication, contact us at sealcrypto@microsoft.com.\r\n\r\nP.S.: A big thank you to everyone who submitted bug reports for SEAL 2.3.1 and earlier versions.\r\n\r\n&nbsp;\r\n\r\n<strong>6<\/strong><b>\/20\/2018: SEAL 2.3.1 released<\/b>\r\n\r\nA shiny new version of SEAL is now available! Here are the main changes:\r\n<ul>\r\n \t<li>SEAL requires C++17; it has been tested on Visual Studio 2017, g++-6 and newer, and clang++-5.0 and newer.<\/li>\r\n \t<li>Added support for clang++ and fixed bug that caused incorrect results with g++-8.<\/li>\r\n \t<li>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.<\/li>\r\n \t<li>Added performance tests to SEALNETExamples.<\/li>\r\n \t<li>Enabled all Galois automorphisms in Evaluator\/KeyGenerator.<\/li>\r\n \t<li>Fixed bug that caused incorrect results with large plaintext modulus.<\/li>\r\n \t<li>Simplified many class constructors: MemoryPoolHandle is no longer an optional parameter.<\/li>\r\n \t<li>Thread-unsafe memory pools are no longer available by default (too dangerous).<\/li>\r\n \t<li>Added experimental support for <a href=\"https:\/\/github.com\/Microsoft\/GSL\" target=\"_blank\" rel=\"noopener\">Microsoft GSL<\/a> (gsl::span and gsl::multi_span).<\/li>\r\n \t<li>Of course a huge number of internal bug fixes and improvements have been made.<\/li>\r\n<\/ul>\r\nFeel free to email <a href=\"mailto:\/\/sealcrypto@microsoft.com\" target=\"_blank\" rel=\"noopener\">sealcrypto@microsoft.com<\/a> if you find any bugs, or if you have feature requests or other suggestions.\r\n\r\n&nbsp;\r\n\r\n<strong>12\/1\/2017: SEAL v2.3.0-4 available<\/strong>\r\n\r\nA new update v2.3.0-4 fixing several major bugs and issues has been released. Important changes include:\r\n<ul>\r\n \t<li>The problem with GCC-7.2 has been fixed. SEAL also works with GCC-5 now and uses only C++11 (no C++14).<\/li>\r\n \t<li>Homomorphic multiplication of ciphertexts of size larger than 2 gave incorrect results. This problem has been fixed now.<\/li>\r\n \t<li>SEALNET EvaluationKeys|GaloisKeys::Save|Load now work correctly.<\/li>\r\n \t<li>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.<\/li>\r\n \t<li>In SEALNET, EncryptionParameters::SetX(...) functions have been removed and changed into setters for the corresponding properties.<\/li>\r\n \t<li>Downloadable Linux (.tar.gz) and Windows (.zip) versions are available separately.<\/li>\r\n<\/ul>\r\n&nbsp;\r\n\r\n<strong>11\/17\/2017: Small updates<\/strong>\r\n\r\nAs 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\u2014in addition to the bug fixes\u2014brings substantial improvements to memory locality and subsequently has a major impact on performance with larger parameters.\r\n\r\n&nbsp;\r\n\r\n<strong>11\/9\/2017: Direct download link<\/strong>\r\n\r\nSEAL v2.3.0-2 can now be downloaded directly from <a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=56202\">https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=56202<\/a>.\r\n\r\n&nbsp;\r\n\r\n<strong>11\/7\/2017: SEAL v2.3.0 released<\/strong>\r\n\r\nA new version of SEAL is available! This is the biggest update since the first release, and contains a huge number of improvements, including:\r\n<ul>\r\n \t<li>Implementation of the FullRNS variant of the FV scheme by Bajard <em>et al.<\/em> (SAC 2016)<\/li>\r\n \t<li>Redesigned and improved memory management<\/li>\r\n \t<li>Improved support for multi-threaded applications<\/li>\r\n \t<li>Massive number of optimizations and improvements throughout the library<\/li>\r\n \t<li>Row and column rotations of encrypted matrices (batching)<\/li>\r\n \t<li>Completely revised SEALExamples\/main.cpp; new example demonstrating multi-threaded use of SEAL<\/li>\r\n \t<li>Better directory structure<\/li>\r\n \t<li>Lots of bug fixes<\/li>\r\n<\/ul>\r\nA new SEAL manual will be available shortly.\r\n\r\n<em>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.<\/em>\r\n\r\n&nbsp;\r\n\r\n<strong>7\/21\/2017: SEAL has found a new home<\/strong>\r\n\r\nSEAL is now available at <a href=\"http:\/\/sealcrypto.visualstudio.com\">http:\/\/sealcrypto.visualstudio.com<\/a>. To get access, send us an email at <a href=\"mailto:sealcrypto@microsoft.com\">sealcrypto@microsoft.com<\/a>, include an email address associated to your <a href=\"http:\/\/live.com\/\">Microsoft Live Account<\/a>, and tell us briefly what you are planning on using SEAL for. SEAL v2.3 will be available only through the new repository.\r\n\r\n&nbsp;\r\n\r\n<strong>6\/4\/2017: SEAL v2.2 released<\/strong>\r\n\r\nSEAL 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!\r\n\r\n&nbsp;\r\n\r\n<strong>10\/13\/2016: Experimental Branch<\/strong>\r\n\r\nA 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.\r\n\r\n&nbsp;\r\n\r\n<strong>9\/30\/2016: SEAL v2.1 released<\/strong>\r\n\r\nAgain 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.\r\n\r\nTo accompany the release and to explain the changes in SEAL v2.1, we have released a new version of the documentation, available <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/simple-encrypted-arithmetic-library-seal-v2-1\/\">here<\/a>."}],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Radames Cruz Moreno","user_id":38898,"people_section":"Microsoft Research","alias":"racruzmo"},{"type":"user_nicename","display_name":"Kim Laine","user_id":32546,"people_section":"Microsoft Research","alias":"kilai"}],"msr_research_lab":[199565],"msr_impact_theme":["Trust"],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/438444","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":50,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/438444\/revisions"}],"predecessor-version":[{"id":910944,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/438444\/revisions\/910944"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/567399"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=438444"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=438444"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=438444"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=438444"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=438444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}