Гомоморфное шифрование

редактировать
Гомоморфное шифрование
Ring-signature.svg
Общий
Полученный из Кольцевое обучение с ошибками
Относится к

Гомоморфное шифрование - это форма шифрования, которая позволяет пользователям выполнять вычисления над зашифрованными данными без предварительного их дешифрования. Эти результирующие вычисления остаются в зашифрованной форме, которая при расшифровке дает результат, идентичный тому, который был бы произведен, если бы операции были выполнены с незашифрованными данными. Гомоморфное шифрование может использоваться для хранения и вычислений, передаваемых сторонним организациям с сохранением конфиденциальности. Это позволяет шифровать данные и передавать их в коммерческие облачные среды для обработки, причем все это в зашифрованном виде.

Для конфиденциальных данных, таких как информация о здравоохранении, можно использовать гомоморфное шифрование для включения новых служб путем устранения барьеров конфиденциальности, препятствующих совместному использованию данных, или повышения безопасности существующих служб. Например, прогнозную аналитику в здравоохранении может быть трудно применить через стороннего поставщика услуг из-за проблем с конфиденциальностью медицинских данных, но если поставщик услуг прогнозной аналитики может вместо этого работать с зашифрованными данными, эти проблемы конфиденциальности уменьшаются. Более того, даже если система поставщика услуг будет скомпрометирована, данные останутся в безопасности.

СОДЕРЖАНИЕ

  • 1 Описание
  • 2 История
    • 2.1 Pre-FHE
    • 2.2 FHE первого поколения
    • 2.3 FHE второго поколения
    • 2.4 FHE третьего поколения
    • 2.5 FHE четвертого поколения
  • 3 Частично гомоморфные криптосистемы
  • 4 Полностью гомоморфное шифрование
    • 4.1 Реализации
    • 4.2 Стандартизация
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки

Описание

Гомоморфное шифрование - это форма шифрования с дополнительной возможностью оценки для вычислений по зашифрованным данным без доступа к секретному ключу. Результат такого вычисления остается зашифрованным. Гомоморфное шифрование можно рассматривать как расширение криптографии с открытым ключом. Гомоморфизм относится к гомоморфизму в алгебре: функции шифрования и дешифрования можно рассматривать как гомоморфизмы между пространствами открытого и зашифрованного текста.

Гомоморфное шифрование включает в себя несколько типов схем шифрования, которые могут выполнять различные классы вычислений над зашифрованными данными. Вычисления представлены в виде логических или арифметических схем. Некоторые распространенные типы гомоморфного шифрования частично гомоморфны, в некоторой степени гомоморфны, выровнены, полностью гомоморфны и полностью гомоморфны:

  • Частично гомоморфное шифрование включает схемы, которые поддерживают оценку схем, состоящих только из одного типа логических элементов, например, сложение или умножение.
  • В некоторой степени гомоморфные схемы шифрования могут оценивать два типа вентилей, но только для подмножества схем.
  • Выровненное полностью гомоморфное шифрование поддерживает оценку произвольных схем, состоящих из нескольких типов шлюзов ограниченной (заранее определенной) глубины.
  • Полностью гомоморфное шифрование (FHE) позволяет оценивать произвольные схемы, состоящие из нескольких типов вентилей неограниченной глубины, и является самым сильным понятием гомоморфного шифрования.

Для большинства схем гомоморфного шифрования мультипликативная глубина схем является основным практическим ограничением при выполнении вычислений над зашифрованными данными. Схемы гомоморфного шифрования по своей природе гибки. С точки зрения гибкости, гомоморфные схемы шифрования обладают более слабыми свойствами безопасности, чем негомоморфные схемы.

История

Схемы гомоморфного шифрования были разработаны с использованием разных подходов. В частности, полностью гомоморфные схемы шифрования часто группируются по поколениям, соответствующим основному подходу.

Pre-FHE

Проблема построения полностью гомоморфной схемы шифрования была впервые предложена в 1978 году, через год после публикации схемы RSA. Более 30 лет было неясно, существует ли решение. В этот период частичные результаты включали следующие схемы:

FHE первого поколения

Крейг Джентри, используя криптографию на основе решеток, описал первую правдоподобную конструкцию для полностью гомоморфной схемы шифрования. Схема Джентри поддерживает как операции сложения, так и операции умножения над шифрованными текстами, из которых можно создавать схемы для выполнения произвольных вычислений. Конструкция начинается с несколько гомоморфной схемы шифрования, которая ограничивается вычислением полиномов низкой степени по зашифрованным данным; он ограничен, потому что каждый зашифрованный текст в некотором смысле зашумлен, и этот шум растет по мере добавления и умножения зашифрованных текстов, пока в конечном итоге шум не сделает результирующий зашифрованный текст нечитаемым.

Затем Джентри показывает, как немного изменить эту схему, чтобы сделать ее загружаемой, т. Е. Способной оценить свою собственную схему дешифрования, а затем, по крайней мере, еще одну операцию. Наконец, он показывает, что любую гомоморфную схему шифрования, допускающую загрузку, можно преобразовать в полностью гомоморфное шифрование посредством рекурсивного самовложения. Для «зашумленной» схемы Джентри процедура начальной загрузки эффективно «обновляет» зашифрованный текст, гомоморфно применяя к нему процедуру дешифрования, тем самым получая новый зашифрованный текст, который зашифровывает то же значение, что и раньше, но имеет более низкий уровень шума. Периодически «обновляя» зашифрованный текст всякий раз, когда шум становится слишком большим, можно вычислить произвольное количество сложений и умножений, не увеличивая слишком много шума.

Джентри основывал безопасность своей схемы на предполагаемой сложности двух задач: некоторых задач наихудшего случая над идеальными решетками и проблемы с редкими (или маловесными) задачами о сумме подмножеств. Джентри доктор философии. В диссертации приводятся дополнительные подробности. Реализация оригинальной криптосистемы Gentry-Halevi сообщила, что время выполнения базовой битовой операции составляет около 30 минут. Обширная работа по проектированию и внедрению в последующие годы позволила улучшить эти ранние реализации на много порядков производительности во время выполнения.

В 2010 году Мартен ван Дейк, Крейг Джентри, Шай Халеви и Винод Вайкунтанатан представили вторую полностью гомоморфную схему шифрования, которая использует многие инструменты конструирования Джентри, но не требует идеальных решеток. Вместо этого они показывают, что несколько гомоморфный компонент идеальной решетчатой ​​схемы Джентри может быть заменен очень простой в некоторой степени гомоморфной схемой, использующей целые числа. Таким образом, схема концептуально проще, чем схема идеальной решетки Джентри, но имеет аналогичные свойства в отношении гомоморфных операций и эффективности. Несколько гомоморфный компонент в работе Van Dijk et al. аналогична схеме шифрования, предложенной Levieil и Наккаш в 2008 году, а также к тому, который был предложен Брэм Коэн в 1998 году.

Однако метод Коэна не является даже аддитивно гомоморфным. Схема Левье-Наккаша поддерживает только сложение, но ее можно изменить, чтобы она также поддерживала небольшое количество умножений. Многие усовершенствования и оптимизации схемы Ван Дейка и др. были предложены в серии работ Жана-Себастьяна Корона, Танкреда Лепуа, Аврадипа Мандала, Давида Наккаша и Мехди Тибучи. Некоторые из этих работ включали также реализации полученных схем.

FHE второго поколения

Гомоморфные криптосистемы этого поколения являются производными от методов, которые были разработаны в 2011-2012 годах Цвикой Бракерски, Крейгом Джентри, Винодом Вайкунтанатаном и другими. Эти нововведения привели к разработке гораздо более эффективных, частично и полностью гомоморфных криптосистем. К ним относятся:

  • Схема Бракерски-Джентри-Вайкунтанатан (BGV, 2011), основанная на методах Бракерски-Вайкунтанатан;
  • Схема, основанная на NTRU, Лопес-Альт, Тромер и Вайкунтанатан (LTV, 2012);
  • Схема Бракерски / Фан-Веркаутерен (BFV, 2012), построенная на масштабно-инвариантной криптосистеме Бракерского ;
  • Схема на основе NTRU, разработанная Босом, Лаутером, Лофтусом и Неригом (BLLN, 2013), построенная на LTV и масштабно-инвариантной криптосистеме Бракерски;

Безопасность большинства этих схем основана на сложности проблемы (кольцевого) обучения с ошибками (RLWE), за исключением схем LTV и BLLN, которые основаны на чрезмерно растянутом варианте вычислительной проблемы NTRU. Впоследствии было показано, что этот вариант NTRU уязвим для атак на решетку подполей, поэтому эти две схемы больше не используются на практике.

Все криптосистемы второго поколения по-прежнему следуют базовой схеме первоначальной конструкции Джентри, а именно, они сначала создают несколько гомоморфную криптосистему, а затем преобразуют ее в полностью гомоморфную криптосистему с помощью самонастройки.

Отличительной особенностью криптосистем второго поколения является то, что все они имеют гораздо более медленный рост шума во время гомоморфных вычислений. Дополнительные оптимизации, выполненные Крейгом Джентри, Шаем Халеви и Найджелом Смартом, привели к созданию криптосистем с почти оптимальной асимптотической сложностью: выполнение операций с данными, зашифрованными с помощью параметра безопасности, имеет сложность всего лишь. Эти оптимизации основаны на методах Smart-Vercauteren, которые позволяют упаковывать множество значений открытого текста в один зашифрованный текст и работать со всеми этими значениями открытого текста в режиме SIMD. Многие достижения в этих криптосистемах второго поколения также были перенесены в криптосистему вместо целых чисел. Т {\ displaystyle T} k {\ displaystyle k} Т п о л у л о г ( k ) {\ Displaystyle Т \ cdot \ mathrm {полилог} (к)}

Еще одна отличительная черта схем второго поколения состоит в том, что они достаточно эффективны для многих приложений даже без вызова начальной загрузки, вместо этого они работают в выровненном режиме FHE.

FHE третьего поколения

В 2013 году Крейг Джентри, Амит Сахаи и Брент Уотерс (GSW) предложили новую технику построения схем FHE, которая позволяет избежать дорогостоящего шага «релинеаризации» при гомоморфном умножении. Цвика Бракерски и Винод Вайкунтанатан заметили, что для определенных типов схем криптосистема GSW отличается еще более медленным ростом шума и, следовательно, более высокой эффективностью и большей безопасностью. Затем Джейкоб Альперин-Шериф и Крис Пайкерт описали очень эффективную технику самонастройки, основанную на этом наблюдении.

Эти методы были дополнительно улучшены для разработки эффективных кольцевых вариантов криптосистемы GSW: FHEW (2014) и TFHE (2016). Схема FHEW была первой, которая показала, что, обновляя зашифрованные тексты после каждой отдельной операции, можно сократить время начальной загрузки до доли секунды. FHEW представил новый метод вычисления логических вентилей для зашифрованных данных, который значительно упрощает начальную загрузку, и реализовал вариант процедуры начальной загрузки. Эффективность FHEW была дополнительно улучшена схемой TFHE, которая реализует кольцевой вариант процедуры начальной загрузки с использованием метода, аналогичного методу в FHEW.

FHE четвертого поколения

Схема CKKS поддерживает эффективные операции округления в зашифрованном состоянии. Операция округления контролирует увеличение шума при шифрованном умножении, что сокращает количество операций начальной загрузки в схеме. В Crypto2018 CKKS фокусируется как решение для зашифрованного машинного обучения. Это связано с особенностью схемы CKKS, которая шифрует приблизительные значения, а не точные значения. Когда компьютеры хранят данные с действительными значениями, они запоминают приблизительные значения с длинными значащими битами, а не в точности реальные значения. Схема CKKS построена так, чтобы эффективно устранять ошибки, возникающие из-за приближений. Схема знакома с машинным обучением, которому присущи шумы в своей структуре.

В статье 2020 года Байю Ли и Даниэле Миччанчио обсуждаются пассивные атаки на CKKS, предполагая, что стандартное определение IND-CPA может быть недостаточным в сценариях, где результаты дешифрования являются общими. Авторы применяют атаку к четырем современным библиотекам гомоморфного шифрования (HEAAN, SEAL, HElib и PALISADE) и сообщают, что можно восстановить секретный ключ из результатов дешифрования в нескольких конфигурациях параметров. Авторы также предлагают стратегии смягчения этих атак и включают в статью «Ответственное раскрытие информации», предполагая, что библиотеки гомоморфного шифрования уже реализовали меры по смягчению последствий атак до того, как статья стала общедоступной. Также была опубликована дополнительная информация о стратегиях смягчения, реализованных в библиотеках гомоморфного шифрования.

Частично гомоморфные криптосистемы

В следующих примерах используются обозначения для обозначения шифрования сообщения. E ( Икс ) {\ Displaystyle {\ mathcal {E}} (х)} Икс {\ displaystyle x}

Неплотный RSA

Если открытый ключ RSA имеет модуль и показатель шифрования, то шифрование сообщения задается с помощью. Тогда гомоморфность п {\ displaystyle n} е {\ displaystyle e} м {\ displaystyle m} E ( м ) знак равно м е мод п {\ Displaystyle {\ mathcal {E}} (м) = м ^ {е} \; {\ bmod {\;}} п}

E ( м 1 ) E ( м 2 ) знак равно м 1 е м 2 е мод п знак равно ( м 1 м 2 ) е мод п знак равно E ( м 1 м 2 ) {\ displaystyle {\ begin {align} {\ mathcal {E}} (m_ {1}) \ cdot {\ mathcal {E}} (m_ {2}) amp; = m_ {1} ^ {e} m_ {2 } ^ {e} \; {\ bmod {\;}} n \\ [6pt] amp; = (m_ {1} m_ {2}) ^ {e} \; {\ bmod {\;}} n \\ [6pt] amp; = {\ mathcal {E}} (m_ {1} \ cdot m_ {2}) \ end {align}}}

Эль-Гамаль

В криптосистемы Эль - Гамаля, в циклической группе порядка с генератором, если открытый ключ, где, и секретный ключ, то шифрование сообщения является для некоторых случайных. Тогда гомоморфность г {\ displaystyle G} q {\ displaystyle q} г {\ displaystyle g} ( г , q , г , час ) {\ displaystyle (G, q, g, h)} час знак равно г Икс {\ displaystyle h = g ^ {x}} Икс {\ displaystyle x} м {\ displaystyle m} E ( м ) знак равно ( г р , м час р ) {\ Displaystyle {\ mathcal {E}} (м) = (г ^ {г}, м \ cdot ч ^ {г})} р { 0 , , q - 1 } {\ Displaystyle г \ в \ {0, \ ldots, q-1 \}}

E ( м 1 ) E ( м 2 ) знак равно ( г р 1 , м 1 час р 1 ) ( г р 2 , м 2 час р 2 ) знак равно ( г р 1 + р 2 , ( м 1 м 2 ) час р 1 + р 2 ) знак равно E ( м 1 м 2 ) . {\ displaystyle {\ begin {align} {\ mathcal {E}} (m_ {1}) \ cdot {\ mathcal {E}} (m_ {2}) amp; = (g ^ {r_ {1}}, m_ {1} \ cdot h ^ {r_ {1}}) (g ^ {r_ {2}}, m_ {2} \ cdot h ^ {r_ {2}}) \\ [6pt] amp; = (g ^ { r_ {1} + r_ {2}}, (m_ {1} \ cdot m_ {2}) h ^ {r_ {1} + r_ {2}}) \\ [6pt] amp; = {\ mathcal {E} } (m_ {1} \ cdot m_ {2}). \ end {align}}}

Гольдвассер-Микали

В криптосистемах Гольдвасер-Микал, если открытый ключ модуль и квадратичный невычет, то шифрование бита является для некоторых случайных. Тогда гомоморфность п {\ displaystyle n} Икс {\ displaystyle x} б {\ displaystyle b} E ( б ) знак равно Икс б р 2 мод п {\ displaystyle {\ mathcal {E}} (b) = x ^ {b} r ^ {2} \; {\ bmod {\;}} n} р { 0 , , п - 1 } {\ Displaystyle г \ в \ {0, \ ldots, п-1 \}}

E ( б 1 ) E ( б 2 ) знак равно Икс б 1 р 1 2 Икс б 2 р 2 2 мод п знак равно Икс б 1 + б 2 ( р 1 р 2 ) 2 мод п знак равно E ( б 1 б 2 ) . {\ displaystyle {\ begin {align} {\ mathcal {E}} (b_ {1}) \ cdot {\ mathcal {E}} (b_ {2}) amp; = x ^ {b_ {1}} r_ {1 } ^ {2} x ^ {b_ {2}} r_ {2} ^ {2} \; {\ bmod {\;}} n \\ [6pt] amp; = x ^ {b_ {1} + b_ {2 }} (r_ {1} r_ {2}) ^ {2} \; {\ bmod {\;}} n \\ [6pt] amp; = {\ mathcal {E}} (b_ {1} \ oplus b_ { 2}). \ End {выравнивается}}}

где обозначает сложение по модулю 2 (т. е. исключающее ИЛИ ). {\ displaystyle \ oplus}

Бенало

В криптосистеме Бенало, если открытый ключ является модулем и базой с размером блока, то шифрование сообщения выполняется случайным образом. Тогда гомоморфность п {\ displaystyle n} г {\ displaystyle g} c {\ displaystyle c} м {\ displaystyle m} E ( м ) знак равно г м р c мод п {\ Displaystyle {\ mathcal {E}} (м) = г ^ {м} г ^ {с} \; {\ bmod {\;}} п} р { 0 , , п - 1 } {\ Displaystyle г \ в \ {0, \ ldots, п-1 \}}

E ( м 1 ) E ( м 2 ) знак равно ( г м 1 р 1 c ) ( г м 2 р 2 c ) мод п знак равно г м 1 + м 2 ( р 1 р 2 ) c мод п знак равно E ( м 1 + м 2 мод c ) . {\ displaystyle {\ begin {align} {\ mathcal {E}} (m_ {1}) \ cdot {\ mathcal {E}} (m_ {2}) amp; = (g ^ {m_ {1}} r_ { 1} ^ {c}) (g ^ {m_ {2}} r_ {2} ^ {c}) \; {\ bmod {\;}} n \\ [6pt] amp; = g ^ {m_ {1} + m_ {2}} (r_ {1} r_ {2}) ^ {c} \; {\ bmod {\;}} n \\ [6pt] amp; = {\ mathcal {E}} (m_ {1} + m_ {2} \; {\ bmod {\;}} c). \ end {align}}}

Paillier

В криптосистемы Paillier, если открытый ключ модуль и база, то шифрование сообщения является для некоторых случайных. Тогда гомоморфность п {\ displaystyle n} г {\ displaystyle g} м {\ displaystyle m} E ( м ) знак равно г м р п мод п 2 {\ Displaystyle {\ mathcal {E}} (м) = г ^ {м} г ^ {п} \; {\ bmod {\;}} п ^ {2}} р { 0 , , п - 1 } {\ Displaystyle г \ в \ {0, \ ldots, п-1 \}}

E ( м 1 ) E ( м 2 ) знак равно ( г м 1 р 1 п ) ( г м 2 р 2 п ) мод п 2 знак равно г м 1 + м 2 ( р 1 р 2 ) п мод п 2 знак равно E ( м 1 + м 2 ) . {\ displaystyle {\ begin {align} {\ mathcal {E}} (m_ {1}) \ cdot {\ mathcal {E}} (m_ {2}) amp; = (g ^ {m_ {1}} r_ { 1} ^ {n}) (g ^ {m_ {2}} r_ {2} ^ {n}) \; {\ bmod {\;}} n ^ {2} \\ [6pt] amp; = g ^ { m_ {1} + m_ {2}} (r_ {1} r_ {2}) ^ {n} \; {\ bmod {\;}} n ^ {2} \\ [6pt] amp; = {\ mathcal { E}} (m_ {1} + m_ {2}). \ End {выравнивается}}}

Другие частично гомоморфные криптосистемы

Полностью гомоморфное шифрование

Криптосистема, поддерживающая произвольные вычисления с шифрованными текстами, известна как полностью гомоморфное шифрование (FHE). Такая схема позволяет создавать программы для любых желаемых функций, которые можно запускать на зашифрованных входных данных, чтобы произвести шифрование результата. Поскольку такой программе никогда не нужно расшифровывать свои входные данные, она может быть запущена ненадежной стороной, не раскрывая свои входные данные и внутреннее состояние. Полностью гомоморфные криптосистемы имеют большое практическое значение при передаче частных вычислений на аутсорсинг, например, в контексте облачных вычислений.

Реализации

Список библиотек FHE с открытым исходным кодом, реализующих схемы FHE второго и / или третьего поколения, приведен ниже. Обновленный список реализаций гомоморфного шифрования также поддерживается сообществом на GitHub.

Существует несколько реализаций полностью гомоморфных схем шифрования второго и третьего поколения с открытым исходным кодом. Реализации схемы FHE второго поколения обычно работают в режиме сглаживания FHE (хотя самозагрузка все еще доступна в некоторых библиотеках) и поддерживают эффективную упаковку данных, подобную SIMD ; они обычно используются для вычисления зашифрованных целых или действительных / комплексных чисел. Реализации схемы FHE третьего поколения часто загружаются после каждой операции логического логического элемента, но имеют ограниченную поддержку упаковки и эффективных арифметических вычислений; они обычно используются для вычисления логических схем по зашифрованным битам. Выбор использования схемы второго или третьего поколения зависит от типов входных данных и желаемых вычислений.

Библиотеки FHE
Имя Разработчик BGV CKKS BFV FHEW CKKS Bootstrapping TFHE Описание
HElib IBM да да Нет Нет Нет Нет Схема BGV с оптимизацией GHS.
ПЕЧАТЬ Microsoft Microsoft Нет да да Нет Нет Нет
ПАЛИСАДА Консорциум оборонных подрядчиков и ученых, финансируемых DARPA: Технологический институт Нью-Джерси, Duality Technologies, Raytheon BBN Technologies, Массачусетский технологический институт, Калифорнийский университет, Сан-Диего и другие. да да да да Нет да Библиотека решетчатой ​​криптографии общего назначения.
HEAAN Сеульский национальный университет Нет да Нет Нет да Нет
FHEW Лео Дука и Даниэле Миччансио Нет Нет Нет да Нет Нет
TFHE Илария Чиллотти, Николас Гама, Мария Георгиева и Малика Изабачене Нет Нет Нет Нет Нет да
FV-NFLlib CryptoExperts Нет Нет да Нет Нет Нет
NuFHE NuCypher Нет Нет Нет Нет Нет да Предоставляет реализацию TFHE на графическом процессоре.
Lattigo EPFL-LDS Нет да да Нет да Нет Реализация на Go вместе с их распределенными вариантами, обеспечивающая безопасные многосторонние вычисления.
Фреймворки FHE
Имя Разработчик FHEW TFHE Хелиб ТЮЛЕНЬ ПАЛИСАДА
E3 Лаборатория MoMA в Нью-Йоркском университете Абу-Даби да да да да да
ОВЕЦ Институт Алана Тьюринга Нет да да да да

Стандартизация

Стандарт сообщества для гомоморфного шифрования поддерживается группой HomomorphicEncryption.org, открытым отраслевым / правительственным / академическим консорциумом, основанным в 2017 году Microsoft, IBM и Duality Technologies. Текущий стандартный документ включает спецификации безопасных параметров для RLWE.

Смотрите также

использованная литература

внешние ссылки

Последняя правка сделана 2023-04-16 08:29:09
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте