Мессенджер со сквозным шифрованием и сетью без пользовательских идентификаторов, с клиентами для iOS, Android, компьютеров и терминала.
microsoft/SEAL
Microsoft SEAL — это библиотека гомоморфного шифрования с открытым исходным кодом на C++, которая позволяет складывать и умножать зашифрованные числа, не расшифровывая их.
- Звёзды
- 4,054
- Форки
- 779
- Открытые issues
- 110
- Последний коммит
- позавчера
Что это?
Microsoft SEAL — библиотека гомоморфного шифрования, разработанная исследовательской группой Microsoft по криптографии. Она позволяет программе обрабатывать зашифрованные данные: облачный сервис может выполнять вычисления над значениями, которые не может прочитать, а расшифровать результаты может только владелец данных, у которого есть секретный ключ. Поддерживаются сложение и умножение зашифрованных целых и вещественных чисел.
Библиотека реализует схемы BFV и BGV для точной модульной арифметики над целыми числами и схему CKKS для приближённой арифметики над вещественными или комплексными числами. Это подходит для таких задач, как суммирование зашифрованных данных и вычисление результатов работы моделей машинного обучения. Библиотека написана на стандартном C++17 и включает .NET-обёртку, распространяемую как пакет NuGet. Сборка доступна через CMake, vcpkg и Homebrew; также можно подключить Intel HEXL, Zstandard и ZLIB.
Гомоморфное шифрование требует значительных вычислительных ресурсов и поддерживает лишь ограниченный набор операций, поэтому SEAL предназначена для тех частей программы, где особенно важна конфиденциальность, а не для вычислений общего назначения. В документации проекта рекомендуется внимательно изучить примеры, прежде чем писать код для production.
Ключевые возможности
- 01Сложение и умножение зашифрованных целых чисел (BFV, BGV), а также вещественных и комплексных чисел (CKKS).
- 02Кодовая база на стандартном C++17, сборка через CMake; поддерживаются Windows, Linux, macOS, Android, iOS и WebAssembly.
- 03Официальная .NET-обёртка доступна в виде пакета NuGet.
- 04Опциональное ускорение с помощью Intel HEXL на процессорах с AVX-512.
- 05Сжатая сериализация и сериализация шифротекстов и ключей с упаковкой битов.
Сценарии использования
- Вычисление сумм и статистических показателей по зашифрованным конфиденциальным данным в облачном сервисе.
- Вычисление результатов работы моделей машинного обучения на зашифрованных входных данных с сохранением конфиденциальности.
- Исследование и прототипирование протоколов вычислений с сохранением конфиденциальности.
- Добавление функций вычислений над зашифрованными данными в приложения на .NET или C++.
Быстрый старт
- 1
Установите с помощью vcpkg (работает на большинстве платформ)
- 2
В macOS установите с помощью Homebrew
- 3
В FreeBSD установите с помощью инструмента pkg
pkg install seal - 4
Для .NET установите пакет NuGet Microsoft.Research.SEALNet
Что важно знать
- Для зашифрованных данных поддерживаются только сложение и умножение; сравнения и ветвления невозможны.
- Схема CKKS дает только приблизительные результаты, поэтому она не подходит, если требуются точные значения.
- Microsoft SEAL сложно освоить: для работы с ним нужно понимать концепции гомоморфного шифрования.
- Гомоморфное шифрование значительно снижает производительность и приводит к гораздо большему размеру шифротекстов; кроме того, большинство схем обеспечивают более слабые гарантии безопасности, чем традиционное шифрование.
Темы
Частые вопросы
- Что такое SEAL?
- Microsoft SEAL — это библиотека гомоморфного шифрования с открытым исходным кодом на C++, которая позволяет складывать и умножать зашифрованные числа, не расшифровывая их. Microsoft SEAL — библиотека гомоморфного шифрования, разработанная исследовательской группой Microsoft по криптографии. Она позволяет программе обрабатывать зашифрованные данные: облачный сервис может выполнять вычисления над значениями, которые не может прочитать, а расшифровать результаты может только владелец данных, у которого есть секретный ключ. Поддерживаются сложение и умножение зашифрованных целых и вещественных чисел.
- SEAL можно использовать бесплатно? Какая у него лицензия?
- SEAL распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- SEAL всё ещё поддерживается?
- Активно поддерживается. Последний коммит в SEAL — 19 окт. 2026 г..
- Для чего можно использовать SEAL?
- Вычисление сумм и статистических показателей по зашифрованным конфиденциальным данным в облачном сервисе. Вычисление результатов работы моделей машинного обучения на зашифрованных входных данных с сохранением конфиденциальности. Исследование и прототипирование протоколов вычислений с сохранением конфиденциальности. Добавление функций вычислений над зашифрованными данными в приложения на .NET или C++.
- Как установить SEAL?
- Установите с помощью vcpkg (работает на большинстве платформ) В macOS установите с помощью Homebrew В FreeBSD установите с помощью инструмента pkg: pkg install seal Для .NET установите пакет NuGet Microsoft.Research.SEALNet
- Где скачать SEAL?
- Исходный код и инструкции по установке — на GitHub: https://github.com/microsoft/SEAL
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Настольный клиент для Windows, macOS и Linux, который обеспечивает прозрачное шифрование файлов на устройстве в Dropbox, Google Drive, OneDrive и других синхронизируемых облачных папках.
Программа с открытым исходным кодом для шифрования дисков и создания зашифрованных томов и разделов, форк TrueCrypt 7.1a с усиленной защитой.
Самостоятельно размещаемый dead man's switch с упором на email: он отправит близким сквозным образом зашифрованные сообщения, если вы перестанете подтверждать, что с вами всё в порядке.
Подборка программ и онлайн-сервисов, ориентированных на приватность и безопасность: от менеджеров паролей до операционных систем.
Открытый инструмент для безопасного хранения секретов — API-ключей, паролей и сертификатов, управления доступом к ним и аудита; предоставляет шифрование как сервис.