Microsoft SEAL

Microsoft SEAL

#Application Protection#Data Protection

Hide data in images while maintaining perceptual similarity and extract it from printed and photographed images.

Visit Website

Microsoft SEAL (Simple Encrypted Arithmetic Library): An Overview

Microsoft SEAL (Simple Encrypted Arithmetic Library) is an open-source library for homomorphic encryption. It allows users to perform computations on encrypted data without needing to decrypt it first.

It supports two encryption schemes for different types of arithmetic

1. BFV and BGV are used for performing modular arithmetic on encrypted integers. 2. CKKS is designed for approximate arithmetic on encrypted real or complex numbers.

The library enables addition and multiplication on encrypted data

The library enables addition and multiplication operations on encrypted data. This capability makes it well-suited for privacy-preserving computations in cloud environments.

Designed for Ease of Use and Compatibility

It is designed to be user-friendly and easily compilable across different environments. The implementation is done in modern C++ and does not require any external dependencies. Microsoft SEAL offers APIs for key generation, encryption, decryption, and homomorphic operations.

It includes features such as batching, rotation, and serialization of encrypted data

It includes features such as batching, which groups data together; rotation, which changes the order or arrangement of data; and serialization, which converts encrypted data into a format suitable for storage or transmission.

The library also provides optional integrations

The library also provides optional integrations with Intel HEXL to enhance performance, Microsoft GSL for secure array access, and compression libraries such as ZLIB and Zstandard for effective data serialization.

The project includes comprehensive documentation and tools for CKKS scheme programming

The project features extensive documentation, practical examples, and a dedicated compiler tool named EVA, which simplifies the programming of the CKKS scheme. Microsoft SEAL can be compiled for various platforms such as Windows, Linux, macOS, Android, iOS, and WebAssembly, providing versatility across different application environments.