- •Конфиденциальные вычисления
- •Водные замечания по проблематике конфиденциальных вычислений
- •Описание используемых примитивов, схем и протоколов
- •Общие определения
- •Проверяемая схема разделения секрета
- •Широковещательный примитив (Br-протокол)
- •Протокол bb
- •Протокол византийского соглашения (ba-протокол)
- •Обобщенные модели для сети синхронно и асинхронно взаимодействующих процессоров
- •Вводные замечания
- •Обобщенные модели сбоев и противника
- •Получестные модели
- •Злонамеренные модели Действия процессоров в злонамеренной модели
- •Вычисления в идеальной модели
- •Вычисления в идеальной модели
- •Вычисления в реальной модели
- •Модель взаимодействия
- •Синхронная модель вычислений Общее описание модели
- •Идеальный и реальный сценарии
- •Асинхронная модель вычислений Общее описание модели
- •Асинхронные идеальный и реальный сценарии
- •Безопасность асинхронных вычислений
- •Конфиденциальное вычисление функции
- •Проверяемые схемы разделения секрета как конфиденциальное вычисление функции
- •Описание проверяемой схемы разделения секрета
- •Протокол РзПр
- •Протокол ВсПр
- •Доказательство безопасности схемы проверяемого разделения секрета
- •Описание работы моделирующего устройства m
- •Синхронные конфиденциальные вычисления
- •Примитив «Забывающий обмен»
- •Протокол отпчм
- •Двухсторонние вычисления Безопасные протоколы для получестной модели
- •Редукция к от41
- •Протокол вычислений на арифметической схеме над gf(2)
- •Редукция к мв
- •Основной результат для злонамеренной модели
- •Многосторонние протоколы Общая идея
- •Получестная модель
- •Конфиденциальное вычисление
- •Многосторонний протокол схемного вычисления
- •Редукция к кВm
- •Основной результат для злонамеренной модели
- •Асинхронные конфиденциальные вычисления
- •Вводные замечания
- •Примитив «Соглашение об аккумулируемом множестве» (соам-субпротокол)
- •Протокол соам
- •Алгоритм звз
- •Процедура скоп
- •Асинхронная схема проверяемого разделения секрета Общие определения
- •Протокол аРзПр
- •Протокол аВсПр
- •Доказательство безопасности схемы апрс
- •Асинхронная схема глобального проверяемого разделения секрета
- •Протокол агРз
- •Протокол агВс
- •Субпротокол агпрс
- •Вычисления на мультипликативном вентиле Вычисления при fs-сбоях
- •Вычисления на линейном вентиле
- •Вычисления на мультипликативном вентиле
- •Протокол мат (XI,a)
- •Субпротокол mul(ai,bi)
- •Основной протокол
- •Протокол авф
- •Вычисления при By-сбоях
- •Процедура соим
- •Протокол соим(Zi)
- •Протокол ByMul
Протокол соам
Процессор Pi выполняет следующие шаги по входу m, M и аккумулируемому множеству Ui.
Ожидает пока Uim.
Выполнить в цикле r=log nраз
Послать (r,Ui) всем другим процессорам;
Пусть ={Pj, если (r,Sj) получено отPj}. Ждет покаSjUiдля не менее чемn-tпроцессоровPjFir.
3. Выполняет MразBA-субпротоколBA1...BAM, где вход 1 вj-том выполнении субпротокола, тогда и только тогда, когдаjUi.
4. Устанавливает Ci={j, если выходBAjравен 1}. Ждет покаCiUi.
5. Выдает Ci.
Предложение 3.2.ПротоколСОАМ– являетсяmin(r,(n/3-1))-устойчивым протоколом для сети изnпроцессоров, гдеr– граница устойчивости для используемого протокола соглашений.
Доказательство.Сначала докажем условие завершения. Предположим, что аккумулируемые множестваU1,...,Unопределяют (m,t)-однородную коллекцию. Покажем, что каждый несбоящий процессорPiбудет событийно завершать протокол.
Замечание.Напомним, что в асинхронных моделях выполнение каждой конкретной операции начинается сразу после приема сигнала об окончании предыдущей операции, т.е. после наступления некоторого события, не обязательно привязанного к работе синхронизатора. Такая операция (действие) здесь и далее будет называтьсясобытийной (событийным).
Шаг 1 будет завершен в любом случае. Индукция по числу итераций показывает, что шаг 2 будет также завершен. В каждой итерации rпроцессорPiбудет событийно получать сообщение (r,Sj) от каждого несбоящего процессора. Кроме того, для каждого процессораPjпроцессор будет событийно иметьSjUi(так как системаU1,...,Unявляется однородной). Шаг 3 будет завершен с вероятностью 1, так как все протоколы византийских соглашений завершаются с вероятностью 1. Чтобы доказать, что шаг 4 будет также завершен, необходимо отметить, что еслиBA-субпротокол выдает 1, тогда существует несбоящий процессорPk, который запускаетBAj-протокол, гдеjUkи, таким образом, процессорPiбудет событийно иметьjUi.
Доказательство свойства корректности начинается со следующего. Согласование выходов процессоров непосредственно следует из определения византийских соглашений. Шаг 4 протокола гарантирует, что CUi*для каждого несбоящего процессораPi.
В заключение необходимо показать, что Cm. ПустьUirобозначает значение аккумулируемого множестваUiпо окончанииr-ой итерации на шаге 2 при функционировании процессораPi. Покажем индукцией поr, что каждое множествоDиз не более чем 2rнесбоящих процессоров, которые завершили итерациюr, удовлетворяетjDUjrm. Основание индукции (r=0) следует непосредственно из шага 1 протокола. Для шага индукции рассмотрим множествоDиз не более чем 2rнесбоящих процессоров. Отметим, что для каждых двух процессоровPj,PkDимеемFjrFkrt+1, гдеn3t+1 иFjrn-tдля каждогоj. Поэтому существует не менее одного несбоящего процессораPl FjrFkr. ПроцессорPlбудем называтьарбитромPjиPk. ПроцессорPj(в отн.Pk) получает сообщение (r,Sl). Кроме того,Ulr-1Sl. Таким образом,Ulr-1Ujr(в отн.Ulr-1Ukr).
Рассмотрим независимое деление множества Dна две части, выберем арбитра для каждой пары и пустьDявляется множеством этих арбитров. Таким образом, получимD2r-1. По индукции имеемmjDUjr-1. Каждый процессор изDимеет арбитр изDи, таким образом,jDUjr-1jDUjr. Отсюда,mjDUjr.
Пусть D– множество несбоящих процессоров, которые начинают работу на шаге 3 протокола и пустьC=jDUjlog n. По индукции получимCm. Для каждогоjCвыходы всех несбоящих процессоров вBAj-субпротоколах являются 1. По этому по определению византийских соглашений выход каждогоBAj-субпротокола является 1. Таким образом,CCиCm.
Схема (n,t)-звезды
Пусть OKi-граф – это неориентированный граф с вершинами [n], где ребро (j,k) существует тогда и только тогда, когда процессорPiзавершил распространение двух сообщений (OK,j,k), инициированноеPjи (OK,k,j), инициированноеPk.
Определение 3.3.ПустьG- граф с вершинами [n]. Тогда пара множеств (C,D) такая, чтоCD[n] является (n,t)-звездой вG, если выполняются следующие условия:
Cn-2tиDn-t;
для каждого jCи для каждогоkDвGсуществует ребро (j,k).
Процессор Piполучает доступ к разделенному секрету, когда находит звезду поOKi-графу. Лемма 3.5 (см. далее) реализует, что еслиn4t+1, доли несбоящих процессоров в звездеOKi-графа, определяют единственным образом полином степениtот двух переменных. Лемма 3.6. говорит о том, что полиномы, определенные звездами для каждой из двух сторон равны. Таким образом, только несбоящие процессоры могут найти звезду, определяющую уникальный секрет.
В принципе, можно было бы допустить процессор, ждущий клику размера n-tвзамен звезды. Если дилер честен, тоOKi -граф будет иметь такую клику. Однако задача нахождения клики максимального размера являетсяNP-полной задачей. Поэтому стороны будут пытаться найти (n,t)-звезду.
Кроме того, необходимо удостовериться, что если несбоящий процессор находит звезду по OK-графу, то все несбоящие процессоры найдут звезду, даже если дилер нечестен иOK-граф не содержит клики. После получения сообщения (OK,,) процессор, который не нашел звезду проверяет какая из предложенных звезд является звездой дляOK-графа. Отметим, что ребро вOK-графе для несбоящего процессора будет, в конечном счете, ребром вOK-графе для каждого несбоящего процессора (так как все сообщения (OK,,) распространяются посредствомBr-субпротокола. Таким образом, звезда вOK-графе некоторого несбоящего процессора будет в конечном счете звездой вOK-графе любого другого несбоящего процессора.
Далее описывается процедура нахождения (n,t)-звезды в графе сnвершинами (см. определение 3.3), где граф содержит клику размераn-t. А именно, нижеописываемая процедураЗВЗ, в качестве выхода выдает либо звезду в графе, либо выдает сообщение «звезда не найдена». Как только граф содержит клику размераn-t, процедура выдает звезду в графе. Аналогичная процедура описана в [ГДж].
Алгоритм работает следующим образом. Сначала находится максимальное паросочетание в комплиментарном графе и выдается множество несравнимых вершин. (Паросочетание в графе – это произвольное подмножество попарно несмежных ребер. Паросочетание является максимальным, если оно не содержится в паросочетании с большим числом ребер [Ле]. Комплиментарный граф – это граф, в котором ребро существует тогда и только тогда, когда оно не существует в оригинальном графе).
Выход алгоритма является независимым множеством в комплиментарном графе и, таким образом, формируется клика в оригинальном графе. Кроме того, если граф содержит клику размера n-k, тогда максимальное паросочетание в комплиментарном графе включает не болееkребер и 2k вершин. Далее описание алгоритма ведется в терминах комплиментарного графа. Если входной граф имеет независимое множество мощностьюn-t, находится множестваCDвершин, такие, чтоCn-2tDn-tи не существует ребер между вершинами изCи вершинами изCD. Эта пара множеств будет называться -звездой. Далее находится максимальное паросочетание в графе (см., например, [Ал, стр.18]).
На основе этого паросочетания вычисляются множества CиDвершин, и проверяется, формирует ли пара (C,D) -звезду в графе. Если входной граф содержит независимое множество мощностьюn-t, тогда полученные множестваCиDформируют -звезду в входном графе.
Далее показывается, как вычисляются множества CиD. Вершина называетсятрехглавой, если она не входит в паросочетание и две ее соседние вершины являются парой паросочетаний (а именно, ребро между этими двумя соседними вершинами являются паросочетанием). Пусть C- множество вершин, которые не являются трехглавыми иB- множество вершин, которые имеют соседние вершины изCи пустьD=[n]-B.