- •Конфиденциальные вычисления
- •Водные замечания по проблематике конфиденциальных вычислений
- •Описание используемых примитивов, схем и протоколов
- •Общие определения
- •Проверяемая схема разделения секрета
- •Широковещательный примитив (Br-протокол)
- •Протокол bb
- •Протокол византийского соглашения (ba-протокол)
- •Обобщенные модели для сети синхронно и асинхронно взаимодействующих процессоров
- •Вводные замечания
- •Обобщенные модели сбоев и противника
- •Получестные модели
- •Злонамеренные модели Действия процессоров в злонамеренной модели
- •Вычисления в идеальной модели
- •Вычисления в идеальной модели
- •Вычисления в реальной модели
- •Модель взаимодействия
- •Синхронная модель вычислений Общее описание модели
- •Идеальный и реальный сценарии
- •Асинхронная модель вычислений Общее описание модели
- •Асинхронные идеальный и реальный сценарии
- •Безопасность асинхронных вычислений
- •Конфиденциальное вычисление функции
- •Проверяемые схемы разделения секрета как конфиденциальное вычисление функции
- •Описание проверяемой схемы разделения секрета
- •Протокол РзПр
- •Протокол ВсПр
- •Доказательство безопасности схемы проверяемого разделения секрета
- •Описание работы моделирующего устройства m
- •Синхронные конфиденциальные вычисления
- •Примитив «Забывающий обмен»
- •Протокол отпчм
- •Двухсторонние вычисления Безопасные протоколы для получестной модели
- •Редукция к от41
- •Протокол вычислений на арифметической схеме над gf(2)
- •Редукция к мв
- •Основной результат для злонамеренной модели
- •Многосторонние протоколы Общая идея
- •Получестная модель
- •Конфиденциальное вычисление
- •Многосторонний протокол схемного вычисления
- •Редукция к кВm
- •Основной результат для злонамеренной модели
- •Асинхронные конфиденциальные вычисления
- •Вводные замечания
- •Примитив «Соглашение об аккумулируемом множестве» (соам-субпротокол)
- •Протокол соам
- •Алгоритм звз
- •Процедура скоп
- •Асинхронная схема проверяемого разделения секрета Общие определения
- •Протокол аРзПр
- •Протокол аВсПр
- •Доказательство безопасности схемы апрс
- •Асинхронная схема глобального проверяемого разделения секрета
- •Протокол агРз
- •Протокол агВс
- •Субпротокол агпрс
- •Вычисления на мультипликативном вентиле Вычисления при fs-сбоях
- •Вычисления на линейном вентиле
- •Вычисления на мультипликативном вентиле
- •Протокол мат (XI,a)
- •Субпротокол mul(ai,bi)
- •Основной протокол
- •Протокол авф
- •Вычисления при By-сбоях
- •Процедура соим
- •Протокол соим(Zi)
- •Протокол ByMul
Вычисления на линейном вентиле
Ниже описывается вычисления на линейном вентиле вместо простого аддитивного вентиля. Это более обобщенное описание будет удобно для протокола вычисления на мультипликативном вентиле.
Вычисления на линейном вентиле достаточно просты и не требуют взаимодействия между процессорами. Пусть - линейный вентиль, гдеa1,...,ak– входные линии вентиля,1,...,k- фиксированные коэффициенты иc– выходная линия. ПустьAj() – полином, ассоциированный сj-той входной линией. А именно доля процессорPiна этой линии – естьai,j=Aj(i). Каждый процессорPiлокально устанавливает свою долю выходной линии в . Можно легко увидеть, что долиc1,...,cnопределяют случайный полиномC() степениtс корректным свободный коэффициентом и сC(i)=Ciдля всех i.
Вычисления на мультипликативном вентиле
Пусть c=ab– мультипликативный вентиль и пустьA(),B() – полиномы, ассоциированные с входными линиями, а именно доли каждого процессораPiэтих линий -A(i) иB(i) соответственно. Процессоры совместно вычисляют свои доли случайного полиномаC() степениt, удовлетворяющийC(0)=A(0)B(0), а именно доля каждого несбоящего процессораPiна выходной линии будетC(i).
Сначала каждый процессор локально вычисляет свою долю полинома E()=A()B(), устанавливаяE(i)=A(i)B(i). Ясно, чтоE() имеет требуемый свободный коэффициент. Однако, полиномE() имеет степень 2tи, кроме того, полином не является равномерно распределенным. Процессоры используют свои доли полиномаE(), чтобы вычислить свои доли требуемого полиномаC() безопасным способом. Вычисления осуществляются в два этапа: на первом этапе процессоры совместно генерируют случайный полиномD() степени 2tтакой, чтобыD(0)=E(0). А именно, каждый процессорPiбудет иметьD(i). Затем, стороны используют их долиD(), чтобы совместно вычислить свои доли полинома C(). Эти шаги описаны ниже.
Рандомизация.Сначала покажем, как генерируется полиномD(). Сначала процессоры генерируют случайный полиномH() степени 2tи сH(0)=0; а именно, каждая сторонаPiбудет иметьH(i). Мы сначала описываем, как полиномH() делится в синхронной модели вычислений [BGW].
Каждый процессор Piвыбирает случайный полиномHi() степени 2tсHi(0)=0 и делит его среди процессоров; а именно, каждый процессорPjполучаетHi(j). ПолиномH() – устанавливается вH()=j(); а именно каждый процессорPiвычисляетH(i)=j(i).
В асинхронной модели вычислений процессор не может ждать, пока получит свою долю от всех других процессоров. Вместо этого, стороны соглашаются, используя субпротокол СОАМ, о множествеCпроцессоров, которые успешно разделили полиномыHi. Затем полиномH() будет установлен вH()=(). Другими словами, процессоры запускают протоколАГПРС, получают на выходе (C,f{Hj(i)jC}) и каждый процессорPiвычисляетH(i)=(i).
Полином D()теперь определен какD()=E()+H(); а именно каждый процессорPiвычисляетD(i)=E(i)+H(i). Ясно, чтоD(0)=A(0)B(0) и все другие коэффициентыD() равномерно и независимо распределены надF.
Редукция степени.На этом этапе процессоры используют свои доли полиномаD(), чтобы совместно и безопасно вычислить свои доли случайного полиномаC() степениtсC(0)=D(0). ПолиномC() будет устанавливать «усечение» полиномаD() к степениt; а именноt+1 коэффициентовC() являются коэффициентамиt+1 более низкой степени полиномаD(). Важный момент здесь состоит в том, что информация, которую накапливают сбоящие процессоры (а именноtдолей полиномаD() вместе сtдолями усеченного полиномаC()), независима отC(0).
Пусть =D(1),...,D(n) и пусть =C(1),...,C(n). В работе [BGW] отмечено, что существует фиксированная матрицаMразмерностьюnnтакая, что =. Отсюда следует, что требуемый выход каждого процессораPi- линейная комбинация входов процессоров:C(i)=[]i=. Будем называть такую операцию «умножение входов на фиксированную матрицу». В этом случае, входы процессоров являются их долями полиномаD().
В синхронной модели вычислений умножение входов на фиксированную матрицу может быть выполнено посредством безопасного вычисления соответствующих nфиксированных линейных комбинаций входов таких, что значениеi-той линейной комбинации вскрываемо только процессором Pi. Линейные комбинации безопасно вычисляются следующим образом. Сначала каждый процессор разделяет свой вход; затем каждый процессор вычисляет линейную комбинацию своих долей и открывает эту линейную комбинацию специальному процессору; в заключение специальный процессор вычисляет значение выхода, интерполируя полином степениtиз полученных комбинаций [Ca2].
Линейные комбинации всех входов не могут быть вычислены в асинхронной модели вычислений и, следовательно, синхронный метод, описанный выше, не может использоваться. Ниже приводится решение для асинхронной модели вычислений. Сначала мы описываем метод для умножения входов на фиксированную матрицу в асинхронной модели для случая, когда матрица и множество входов связаны специальным образом. Кроме того, мы отметим также, что матрица Ми множество возможных входов (на этапе редукции степени) тоже связаны специальным образом.
Определение 3.7.ПустьA– матрица размерностьюnnи пустьSFn- множество входных векторов. Будем говорить, чтоS–t-умножаемонаA, если для каждого множестваG[n] сGn-tсуществует (легко вычислимая) матрицаAGразмеромGnтакая, что для каждого входа Sмы имеем GAG=A.
Пусть S–t-умножаемо наA. Тогда протокол, описанный ниже, «умножает входы из множестваSна матрицу». Пусть S. Процессоры сначала выполняют протоколАГПРС(с входным вектором ). Как только общее множествоGвычислено, каждый процессор локально вычисляетAG. Затем, процессоры запускаютn протоколов восстановления секретаАВс, где вi-том протоколеАВспроцессоры позволяют процессоруPiвычислить GAG, посылая ему соответствующую линейную комбинацию своих долей. Ниже описывается протокол для умножения входа на фиксированную матрицу.