Microsoft SEAL explained

Microsoft SEAL
Screenshot Alt:Microsoft SEAL example of homomorphic encryption
Developer:Microsoft Research
Latest Release Version:4.0.0
Programming Language:C++
Operating System:Microsoft Windows, macOS, Linux, Android
Platform:IA-32, x86-64, ARM64
Genre:Homomorphic encryption library
License:MIT License

Simple Encrypted Arithmetic Library or SEAL is a free and open-source cross platform software library developed by Microsoft Research that implements various forms of homomorphic encryption.[1]

History

Development originally came out of the Cryptonets paper,[2] demonstrating that artificial intelligence algorithms could be run on homomorphically encrypted data.[3]

It is open-source (under the MIT License) and written in standard C++ without external dependencies and so it can be compiled cross platform. An official .NET wrapper written in C# is available and makes it easier for .NET applications to interact with SEAL.

Features

Algorithms

Microsoft SEAL supports both asymmetric and symmetric (added in version 3.4) encryption algorithms.

Scheme types

Microsoft SEAL comes with two different homomorphic encryption schemes with very different properties:

Compression

Data compression can be achieved by building SEAL with Zlib support. By default, data is compressed using the DEFLATE algorithm which achieves significant memory footprint savings when serializing objects such as encryption parameters, ciphertexts, plaintexts, and all available keys: Public, Secret, Relin (relinearization), and Galois. Compression can always be disabled.

Availability

There are several known ports of SEAL to other languages in active development:

C++

C#/F#

Python

JavaScript

TypeScript

Notes and References

  1. Book: Advances in Cryptology – EUROCRYPT 2017: 36th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Paris, France, April 30 – May 4, 2017, Proceedings. Coron. Jean-Sébastien. Nielsen. Jesper Buus. 2017-04-10. Springer. 9783319566146. 104. en.
  2. Downlin. Nathan. Gilad-Bachrach. Ran. Laine. Kim. Lauter. Kirstin. Naehrig. Michael. Wernsing. John. 2016-05-25. CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy. Proceedings of the 33rd International Conference on Machine Learning. https://web.archive.org/web/20180826211245/http://proceedings.mlr.press/v48/gilad-bachrach16.pdf. 2018-08-26.
  3. Web site: The Microsoft Simple Encrypted Arithmetic Library goes open source. 2018-12-03. Microsoft Research. en-US. live. https://web.archive.org/web/20191112165543/https://www.microsoft.com/en-us/research/blog/the-microsoft-simple-encrypted-arithmetic-library-goes-open-source/. 2019-11-12. 2019-11-20.
  4. Fan. Junfeng. Vercauteren. Frederik. 2012. Somewhat Practical Fully Homomorphic Encryption.
  5. Book: Cheon. Jung Hee. Kim. Andrey. Kim. Miran. Song. Yongsoo. Advances in Cryptology – ASIACRYPT 2017 . Homomorphic Encryption for Arithmetic of Approximate Numbers . 2017. Takagi. Tsuyoshi. Peyrin. Thomas. https://link.springer.com/chapter/10.1007/978-3-319-70694-8_15. Lecture Notes in Computer Science. 10624. en. Cham. Springer International Publishing. 409–437. 10.1007/978-3-319-70694-8_15. 978-3-319-70694-8. 3164123 .