Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Простая арифметика Зашифрованные библиотека или SEAL является свободным и открытым исходным кодом кросс - платформенный библиотека программного обеспечения , разработанная Microsoft Research , которая реализует различные формы гомоморфном шифрования . [1] [2]

История [ править ]

Первоначально разработка была основана на статье Cryptonets [3], демонстрирующей, что алгоритмы искусственного интеллекта могут выполняться на гомоморфно зашифрованных данных. [4]

Он имеет открытый исходный код (под лицензией MIT ) и написан на стандартном C ++ без внешних зависимостей, поэтому его можно скомпилировать на нескольких платформах. Доступна официальная оболочка .NET, написанная на C #, которая упрощает взаимодействие приложений .NET с SEAL.

Особенности [ править ]

Алгоритмы [ править ]

Microsoft SEAL поддерживает как асимметричные, так и симметричные (добавленные в версии 3.4) алгоритмы шифрования.

Типы схем [ править ]

Microsoft SEAL поставляется с двумя разными схемами гомоморфного шифрования с очень разными свойствами:

  • BFV : [5] Схема BFV позволяет выполнять модульную арифметику с зашифрованными целыми числами. Для приложений, где необходимы точные значения, единственным выбором является схема BFV.
  • CKKS : [6] Схема CKKS позволяет сложение и умножение зашифрованных действительных или комплексных чисел, но дает только приблизительные результаты. В таких приложениях, как суммирование зашифрованных реальных чисел, оценка моделей машинного обучения на основе зашифрованных данных или вычисление расстояний до зашифрованных местоположений, CKKS, безусловно, будет лучшим выбором.

Сжатие [ править ]

Сжатие данных может быть достигнуто путем создания SEAL с поддержкой Zlib . По умолчанию данные сжимаются с использованием алгоритма DEFLATE , который обеспечивает значительную экономию памяти при сериализации таких объектов, как параметры шифрования, зашифрованные тексты, открытые тексты и все доступные ключи: Public, Secret, Relin (повторная линеаризация) и Galois. Сжатие всегда можно отключить.

Доступность [ править ]

В активной разработке находится несколько известных портов SEAL на другие языки:

C ++ [ править ]

  • Microsoft SEAL (источник Microsoft)

C # / F # [ править ]

  • NuGet (официальный пакет Microsoft)

Python [ править ]

  • PySEAL
  • SEAL-Python
  • tf-печать
  • Pyfhel

JavaScript [ править ]

  • узел-пломба
  • sealjs

TypeScript [ править ]

  • узел-пломба

Ссылки [ править ]

  1. ^ Microsoft SEAL - это простая в использовании и мощная библиотека гомоморфного шифрования: microsoft / SEAL , Microsoft, 2019-11-20, архивировано из оригинала 31.05.2019 , получено 2019-11-20
  2. ^ Корон, Жан-Себастьян; Нильсен, Джеспер Буус (10 апреля 2017 г.). Достижения в криптологии - EUROCRYPT 2017: 36-я ежегодная международная конференция по теории и применению криптографических методов, Париж, Франция, 30 апреля - 4 мая 2017 г., Труды . Springer. п. 104. ISBN 9783319566146.
  3. ^ Даунлин, Натан; Гилад-Бахрах, Ран; Лайне, Ким; Лаутер, Кирстин; Наэриг, Майкл; Вернсинг, Джон (25 мая 2016 г.). «Криптосети: применение нейронных сетей к зашифрованным данным с высокой пропускной способностью и точностью» (PDF) . Материалы 33-й Международной конференции по машинному обучению . Архивировано из оригинального (PDF) 26.08.2018.
  4. ^ «Простая зашифрованная арифметическая библиотека Microsoft выходит с открытым исходным кодом» . Microsoft Research . 2018-12-03. Архивировано 12 ноября 2019 года . Проверено 20 ноября 2019 .
  5. Fan, Junfeng; Веркаутерен, Фредерик (2012). «Практическое полностью гомоморфное шифрование» . Cite journal requires |journal= (help)
  6. ^ Чхон, Юнг Хи; Ким, Андрей; Ким, Миран; Сон, Ёнсу (2017). Такаги, Цуёси; Пейрин, Томас (ред.). «Гомоморфное шифрование для арифметики приближенных чисел» . Достижения в криптологии - ASIACRYPT 2017 . Конспект лекций по информатике. Чам: Издательство Springer International: 409–437. DOI : 10.1007 / 978-3-319-70694-8_15 . ISBN 978-3-319-70694-8.

Внешние ссылки [ править ]

  • Microsoft SEAL: быстрая и простая в использовании библиотека гомоморфного шифрования
  • SEAL на GitHub