- •Конфиденциальные вычисления
- •Водные замечания по проблематике конфиденциальных вычислений
- •Описание используемых примитивов, схем и протоколов
- •Общие определения
- •Проверяемая схема разделения секрета
- •Широковещательный примитив (Br-протокол)
- •Протокол bb
- •Протокол византийского соглашения (ba-протокол)
- •Обобщенные модели для сети синхронно и асинхронно взаимодействующих процессоров
- •Вводные замечания
- •Обобщенные модели сбоев и противника
- •Получестные модели
- •Злонамеренные модели Действия процессоров в злонамеренной модели
- •Вычисления в идеальной модели
- •Вычисления в идеальной модели
- •Вычисления в реальной модели
- •Модель взаимодействия
- •Синхронная модель вычислений Общее описание модели
- •Идеальный и реальный сценарии
- •Асинхронная модель вычислений Общее описание модели
- •Асинхронные идеальный и реальный сценарии
- •Безопасность асинхронных вычислений
- •Конфиденциальное вычисление функции
- •Проверяемые схемы разделения секрета как конфиденциальное вычисление функции
- •Описание проверяемой схемы разделения секрета
- •Протокол РзПр
- •Протокол ВсПр
- •Доказательство безопасности схемы проверяемого разделения секрета
- •Описание работы моделирующего устройства m
- •Синхронные конфиденциальные вычисления
- •Примитив «Забывающий обмен»
- •Протокол отпчм
- •Двухсторонние вычисления Безопасные протоколы для получестной модели
- •Редукция к от41
- •Протокол вычислений на арифметической схеме над gf(2)
- •Редукция к мв
- •Основной результат для злонамеренной модели
- •Многосторонние протоколы Общая идея
- •Получестная модель
- •Конфиденциальное вычисление
- •Многосторонний протокол схемного вычисления
- •Редукция к кВm
- •Основной результат для злонамеренной модели
- •Асинхронные конфиденциальные вычисления
- •Вводные замечания
- •Примитив «Соглашение об аккумулируемом множестве» (соам-субпротокол)
- •Протокол соам
- •Алгоритм звз
- •Процедура скоп
- •Асинхронная схема проверяемого разделения секрета Общие определения
- •Протокол аРзПр
- •Протокол аВсПр
- •Доказательство безопасности схемы апрс
- •Асинхронная схема глобального проверяемого разделения секрета
- •Протокол агРз
- •Протокол агВс
- •Субпротокол агпрс
- •Вычисления на мультипликативном вентиле Вычисления при fs-сбоях
- •Вычисления на линейном вентиле
- •Вычисления на мультипликативном вентиле
- •Протокол мат (XI,a)
- •Субпротокол mul(ai,bi)
- •Основной протокол
- •Протокол авф
- •Вычисления при By-сбоях
- •Процедура соим
- •Протокол соим(Zi)
- •Протокол ByMul
Процедура соим
Вычисление синдрома.Для входного словаW=(i1,s1)...(il,sl), пустьVll– матрица Вандермонда (см., например, [Кн, стр.474]), определенная какVj,k=(ik)j. Пусть=s1...sl. СиндромWестьl-(d+1) наибольших правых элементовl-размерного вектора произведенияV-1. Таким образом, на этом шаге вычисляется синдромW.
Вычисление вектора погрешности.Вектор погрешности – этоl-размерный вектор=e1...el, гдеej– «смещениеsjот правильного значения». А именно, предположим, чтоW- (d,r)-интерполируем и пустьP() - (d,r)-интерполируемый полиномW. Тогдаej=P(ij)-sjалгоритм для каждого элемента (ij,sj)W. Вектор погрешности уникален, так как интерполируемый полиномP() – уникален. (Отметим, что вектор погрешности может быть вычислен только на основании синдрома. Если входное словоW- не является (d,r)-интерполируемым, тогда вычисленный вектор погрешности может быть ошибочным).
Вычисление выходного полинома.Выбрать 2t+1 корректных элементов изW(а именно, элементы (ij,aj) такие, чтоej=0) для использования их, чтобы интерполироватьP(). (Этот шаг не будет выполнен).
Важно отметить, что синдром может быть представлен как функция только от вектора погрешности и, таким образом, он не содержит никакой информации относительно (d,r)-интерполируемого полиномаP(). А именно, пусть(в отн.) - вектор коэффициентов полиномаP() (в отн.Q()) длиныl. (ПолиномQ() - полином, удовлетворяющийQ(i)=aдля каждой пары (i,a)W). Тогда=V-1=(V+)V-1=+V-1.
Последние l-(d+1) элементов изявляется нулевыми. Так какl-(d+1)<il, мы имеемQi=[V]i. Следовательно, последниеl-(d+1) элементов из(т.е. синдром) являются линейной комбинациейи, таким образом, процессоры могут совместно вычислять синдром. То есть для данного согласованного множестваG, каждый элемент синдромаSGвычисляется следующим образом. Каждый процессор вычисляет соответствующую линейную комбинацию долей и вызывает субпротоколАВсПрс результатом этой линейной комбинации как входом. Как только все эти субпротоколы завершаться, каждый процессор будет иметь полный синдромSG.
Как только синдром вычислен, каждый процессор использует алгоритм Берлекампа-Месси, чтобы локально вычислить вектор погрешности. Если на итерации rявляется (2t,r)-интерполируем, тогда вычисленный вектор погрешности является «истинным» вектором погрешности множества, однако, еслине является (2t,r)-интерполируемым, тогда вычисленный вектор погрешности может быть некорректным. Следовательно, процессоры должны выполнить следующие действия. (Каждый выполняет эти операции локально, а все несбоящие процессоры выполняют одни и те же действия). Если вычисленный вектор погрешности, обозначаемыйсодержит более чемrненулевых элементов, то несомненноне является (2t,r)-интерполируемым и процессоры переходят к следующей итерации. Еслисодержит не болееrненулевых элементов, то процессоры все еще должны проверять, что- корректный вектор погрешности. Для этого пустьGr- множество процессоровPiтакое, чтоei=0, тогда процессоры повторно вычисляют синдром, основанный только наGr. Если повторно вычисленный синдром представляет собой одни нули, тогдаявляется (2t,0)-интерполируем и процессоры выдаютGrи заканчивают. Если повторно вычисленный синдром ненулевой, тогда процессоры заключают, что- не является (2t,r)-интерполируемым и переходят к следующей итерации.
Далее опишем непосредственно протокол СОИМ. Пустьzi,j- доляPi' значения общего сPj. Динамический вход каждого процессораPiявляется следующим аккумулируемым множеством, обозначаемым какZi: как толькоPiуспешно завершил субпротоколАРзПрдляPj, пара (j,zi,j) добавляется кZi. Общий выход сторон – это множествоGиз, по крайней мере, 3t+1 процессоров такое, что каждый несбоящий процессорPiзавершает субпротоколАРзПрдля каждой стороны изG(а именно,G{Pj(j,zi,j)Zi}) иSG– является (2t,0)-интерполируем.
Утверждение 3.1.Предположим, что протоколСОИМинициализируется с динамическими входамиZ1,...,Znкак описано выше. Тогда все несбоящие процессоры завершают протоколСОИМс общим множествомGиз, по крайней мере, 3t+1 процессоров, такое, чтоSGявляется (2t,0)-интерполируемым.
Доказательство.Приведено в работе [Ca1].