Microsoft выпустила .NET-оболочку для SEAL, своей библиотеки гомоморфного шифрования. Простая зашифрованная арифметическая библиотека Microsoft была сделана с открытым исходным кодом в декабре и, согласно Microsoft, уже стала одной из самых популярных в мире гомоморфных библиотек шифрования.
Библиотека была разработана исследователями группы Cryptography Research Group в Microsoft. Он написан на стандартном C++ без внешних зависимостей, что упрощает компиляцию во многих различных средах.
Гомоморфное шифрование (HE) — это метод шифрования, который означает, что данные можно оставить зашифрованными, но по-прежнему использовать для вычислений. Вычисления могут происходить без того, чтобы процесс выполнял вычисления, требующие доступа к ключу дешифрования. Результаты вычислений зашифрованы, и только владелец ключа дешифрования может видеть результаты. Это дает особое преимущество, когда данные хранятся в облачных средах, а облачные операторы никогда не имеют незашифрованного доступа к данным, которые они хранят и используют для вычислений.
Выпуск Microsoft SEAL для .NET предоставляет библиотеку-оболочку для SEAL, чтобы упростить взаимодействие приложений .NET с SEAL. Microsoft также выпустила «подробный пример сценария», демонстрирующий используемую комбинацию оболочки и библиотеки и выполнение различных операций, таких как матричное умножение, сложение и вычитание с использованием функций Azure, без ущерба для конфиденциальности данных.
Функции Azure позволяют запускать небольшие фрагменты кода или «функции» в облаке. Вы пишете только тот код, который вам нужен для решения данной проблемы, без необходимости создавать целое приложение или инфраструктуру для его запуска. Функции могут быть написаны на различных языках программирования, таких как C #, F #, Node.js, Java или PHP.
Один из проектов в демонстрации SEAL .NET демонстрирует реализацию сложения, вычитания и умножения матриц в Функциях Azure с получением на входе пары зашифрованных текстов. Другой проект предоставляет пользовательский интерфейс, который позволяет вводить матрицы, шифровать их, отправлять в облачные функции, получать результат, расшифровывать результат и показывать результат пользователю. В пользовательском интерфейсе есть возможность отображать фактические данные, которые отправляются и получаются из облачных функций.
Microsoft SEAL для .NET является частью Microsoft SEAL версии 3.2.0, которая выпускается на GitHub. Помимо библиотеки оболочки .NET, версия 3.2.0 содержит исправления ошибок и незначительные улучшения производительности.