
- •Конфиденциальные вычисления
- •Водные замечания по проблематике конфиденциальных вычислений
- •Описание используемых примитивов, схем и протоколов
- •Общие определения
- •Проверяемая схема разделения секрета
- •Широковещательный примитив (Br-протокол)
- •Протокол bb
- •Протокол византийского соглашения (ba-протокол)
- •Обобщенные модели для сети синхронно и асинхронно взаимодействующих процессоров
- •Вводные замечания
- •Обобщенные модели сбоев и противника
- •Получестные модели
- •Злонамеренные модели Действия процессоров в злонамеренной модели
- •Вычисления в идеальной модели
- •Вычисления в идеальной модели
- •Вычисления в реальной модели
- •Модель взаимодействия
- •Синхронная модель вычислений Общее описание модели
- •Идеальный и реальный сценарии
- •Асинхронная модель вычислений Общее описание модели
- •Асинхронные идеальный и реальный сценарии
- •Безопасность асинхронных вычислений
- •Конфиденциальное вычисление функции
- •Проверяемые схемы разделения секрета как конфиденциальное вычисление функции
- •Описание проверяемой схемы разделения секрета
- •Протокол РзПр
- •Протокол ВсПр
- •Доказательство безопасности схемы проверяемого разделения секрета
- •Описание работы моделирующего устройства m
- •Синхронные конфиденциальные вычисления
- •Примитив «Забывающий обмен»
- •Протокол отпчм
- •Двухсторонние вычисления Безопасные протоколы для получестной модели
- •Редукция к от41
- •Протокол вычислений на арифметической схеме над gf(2)
- •Редукция к мв
- •Основной результат для злонамеренной модели
- •Многосторонние протоколы Общая идея
- •Получестная модель
- •Конфиденциальное вычисление
- •Многосторонний протокол схемного вычисления
- •Редукция к кВm
- •Основной результат для злонамеренной модели
- •Асинхронные конфиденциальные вычисления
- •Вводные замечания
- •Примитив «Соглашение об аккумулируемом множестве» (соам-субпротокол)
- •Протокол соам
- •Алгоритм звз
- •Процедура скоп
- •Асинхронная схема проверяемого разделения секрета Общие определения
- •Протокол аРзПр
- •Протокол аВсПр
- •Доказательство безопасности схемы апрс
- •Асинхронная схема глобального проверяемого разделения секрета
- •Протокол агРз
- •Протокол агВс
- •Субпротокол агпрс
- •Вычисления на мультипликативном вентиле Вычисления при fs-сбоях
- •Вычисления на линейном вентиле
- •Вычисления на мультипликативном вентиле
- •Протокол мат (XI,a)
- •Субпротокол mul(ai,bi)
- •Основной протокол
- •Протокол авф
- •Вычисления при By-сбоях
- •Процедура соим
- •Протокол соим(Zi)
- •Протокол ByMul
Основной результат для злонамеренной модели
Следующая теорема устанавливает основной результат для случая двухстороннего протокола и для злонамеренной модели.
Теорема 3.6.Предположим, что односторонние перестановки с секретом существуют. Тогда любая вычислимая функция дляm-стороннего процесса взаимодействия и злонамеренной модели противника конфиденциально вычислима.
Эта теорема устанавливает возможность компиляции любого протокола для получестной модели в «эквивалентный» протокол для двух злонамеренных моделей, обсуждаемых выше. Существование таких компиляторов показано в работе [Go2]. Построение компилятора для первой модели аналогично построению компилятора для злонамеренной модели при двухстороннем взаимодействии. После получения такого компилятора, строится компилятор [Go2] для преобразования любого протокола для первой злонамеренной модели в безопасный протокол для второй злонамеренной модели.
Асинхронные конфиденциальные вычисления
Вводные замечания
В данном подразделе сначала приводятся необходимые примитивы и схема асинхронного проверяемого разделения секрета АПРС, а затем приводятся схема вычислений на мультипликативном вентиле для разных типов сбоев как схема конфиденциальных вычислений.
Примитив «Соглашение об аккумулируемом множестве» (соам-субпротокол)
Предположим, что каждый процессор инициализирует Br-субпротокол с некоторым входным значением. Процессоры желают договориться об общем аккумулируемом множестве с не менееn-tпроцессорами, которые успешно завершилиBr-субпротокол. Понятно, что каждый процессор может пожелать дождатьсяn-tлокальных завершенийBr-субпротокола и сохранить «этих отправителей сообщений». Однако если более чемn-tзавершенийBr-субпротокола глобально осуществлены, тогда мы не можем быть уверены в том, что все несбоящие процессоры сохранят то же самое множество. Для этого необходимо всем процессорам выполнитьСОАМ-субпротокол, в котором выход несбоящих процессоров этого субпротокола есть общее множество из не менееn-tпроцессоров, которые завершилиBr-субпротокол.
Неформально говоря, выходы процессоров после выполнения СОАМ-субпротокола это множества переменных, которые аккумулируют процессоры во время выполнения субпротокола, то есть элементы множества постоянно добавляются в него по мере выполнения субпротокола. Такой тип входа будет называтьсядинамическим входом и, такое множество будет называтьсяаккумулируемым множеством переменных.
Определение 3.1.Пустьm, MN(в данном контекстеm=n-tиM=n) и пустьU1...Un[M] – коллекция аккумулируемых множеств такая, что процессорPiимеетUi. Будем говорить, что коллекция является (m,t)-однородной, если для каждого планировщика и каждой коалиции из не более чемtсбоящих процессоров выполняются следующие условия:
каждый несбоящий процессор Piбудет обязательно иметьUim;
каждых два несбоящие процессора PiиPjбудут обязательно иметьUi=Uj.
Определение 3.2.Пустьm, MNи пустьP- протокол, где вход каждого процессораPiесть аккумулируемое множествоUi. ПротоколРназываетсяt-устойчивым СОАМ-субпротоколомдляnпроцессоров (с параметрамиn, M), если для каждого планировщика и каждой коалиции из не более чемtсбоящих процессоров выполняются следующие условия:
Условие завершения.Если коллекцияU1...Un(m,t)-однородна, тогда с вероятностью 1 все несбоящие процессоры обязательно завершат протокол.
Условие
корректности.Все несбоящие процессоры
завершат протокол с общим выходомC[M]
так, чтоCm.
Кроме того, каждый несбоящий процессор
имеетC,
где
значениеUiпри завершении
протокола.
Схема «Соглашение об аккумулируемом множестве»
Пусть n3t+1. СубпротоколСОАМ состоит из 2-х этапов (с параметрамиmиM). На первом этапе каждый процессор сначала ждет пока его динамический вход станет размеромm. После чего, он выполняет log2nитераций. В каждой итерации процессор посылает текущее содержание его динамического входа всем другим процессорам, после чего собирает множества, посланные другими процессорами в текущей итерации. Как только накопятсяn-tтаких множеств в динамическом входе процессора, он приступает к следующей итерации. Это продолжается до тех пор, пока пересечение динамических входов всех несбоящих процессоров, которые получены во всех log2nитерациях станет размером не менееm.
На втором этапе процессоры последовательно запускают MразBА-субпротокол. Наj-том шаге процессоры решают, принадлежит ли элементj[M] согласованному множествуC. То есть вход каждого процессора наj-том шагеBА-субпротокола будет 1 тогда и только тогда, когдаjпринадлежит динамическому входу процессора. Элементjпринадлежит множествуCтогда и только тогда, когда общий выходj-того шагаBА-субпротокола является 1. СвойстваBА-субпротокола гарантируют нам, что множествоCсодержит пересечение динамических входов всех процессоров, которые получены при завершении первого этапа, и что каждый элементjCбудет в динамическом входе каждого несбоящего процессора.