- •Конфиденциальные вычисления
- •Водные замечания по проблематике конфиденциальных вычислений
- •Описание используемых примитивов, схем и протоколов
- •Общие определения
- •Проверяемая схема разделения секрета
- •Широковещательный примитив (Br-протокол)
- •Протокол bb
- •Протокол византийского соглашения (ba-протокол)
- •Обобщенные модели для сети синхронно и асинхронно взаимодействующих процессоров
- •Вводные замечания
- •Обобщенные модели сбоев и противника
- •Получестные модели
- •Злонамеренные модели Действия процессоров в злонамеренной модели
- •Вычисления в идеальной модели
- •Вычисления в идеальной модели
- •Вычисления в реальной модели
- •Модель взаимодействия
- •Синхронная модель вычислений Общее описание модели
- •Идеальный и реальный сценарии
- •Асинхронная модель вычислений Общее описание модели
- •Асинхронные идеальный и реальный сценарии
- •Безопасность асинхронных вычислений
- •Конфиденциальное вычисление функции
- •Проверяемые схемы разделения секрета как конфиденциальное вычисление функции
- •Описание проверяемой схемы разделения секрета
- •Протокол РзПр
- •Протокол ВсПр
- •Доказательство безопасности схемы проверяемого разделения секрета
- •Описание работы моделирующего устройства m
- •Синхронные конфиденциальные вычисления
- •Примитив «Забывающий обмен»
- •Протокол отпчм
- •Двухсторонние вычисления Безопасные протоколы для получестной модели
- •Редукция к от41
- •Протокол вычислений на арифметической схеме над gf(2)
- •Редукция к мв
- •Основной результат для злонамеренной модели
- •Многосторонние протоколы Общая идея
- •Получестная модель
- •Конфиденциальное вычисление
- •Многосторонний протокол схемного вычисления
- •Редукция к кВm
- •Основной результат для злонамеренной модели
- •Асинхронные конфиденциальные вычисления
- •Вводные замечания
- •Примитив «Соглашение об аккумулируемом множестве» (соам-субпротокол)
- •Протокол соам
- •Алгоритм звз
- •Процедура скоп
- •Асинхронная схема проверяемого разделения секрета Общие определения
- •Протокол аРзПр
- •Протокол аВсПр
- •Доказательство безопасности схемы апрс
- •Асинхронная схема глобального проверяемого разделения секрета
- •Протокол агРз
- •Протокол агВс
- •Субпротокол агпрс
- •Вычисления на мультипликативном вентиле Вычисления при fs-сбоях
- •Вычисления на линейном вентиле
- •Вычисления на мультипликативном вентиле
- •Протокол мат (XI,a)
- •Субпротокол mul(ai,bi)
- •Основной протокол
- •Протокол авф
- •Вычисления при By-сбоях
- •Процедура соим
- •Протокол соим(Zi)
- •Протокол ByMul
Асинхронная схема глобального проверяемого разделения секрета
Протокол асинхронного глобального проверяемого разделения секрета, обозначаемый как АГРз, состоит из двух этапов. Сначала, каждый процессор делит секрет среди других процессоров, а затем процессоры используют протоколСОАМ, чтобы договориться о множествеСразмером не менее чем изn-tпроцессоров, которые успешно разделили свои секреты. Выход процессораPiв протоколеАГРз– это множество процессоров, которые успешно разделили свои входы, вместе сi-той долей входа каждого процессора в этом множестве. ПротоколАГРзимеет параметр безопасностиd. Исходя из контекста, этот параметр будет устанавливаться либо вt, либо в 2t.
Протокол агРз
Код для процессора Pi по входу xi, d.
1. Осуществить разделение xi:
1.1. Выбрать случайным образом полином hi() степениdтакой, чтоhi(0)=xi.
1.2. Для каждого 1jnпослатьhi(j) процессоруPj.
1.3. Разослать сообщение «Сторона Piзавершила разделение».
2. После получения доли si,jсекрета процессораPjи сообщения «СторонаPjзавершила разделение» добавитьjк множествуCiпроцессоров, которые успешно разделили свои секреты. Установить (n,t,Ci)СОАМ=С.
3. Подать на выход Cи {si,jjC}.
Необходимо отметить, что аккумулируемые множества C1,...,Cnна шаге 2 определяют (n-t,t)-однородную коллекцию. Таким образом, все несбоящие процессоры завершают протоколСОАМ(и, следовательно, завершают протоколАПРз) с желаемым выходом. Кроме того, сбоящие процессоры не получают информацию о значениях, разделенных несбоящими процессорами.
В протоколе АГВс, описываемом ниже процессоры восстанавливают секрет из долей. Параметры этого протокола – параметр безопасностиdи множествоRпроцессоров, для которого секрет может быть вскрыт. Вход процессораPiявляетсяi-той долей секрета, обозначаемой какsi.
Протокол агВс
Код для процессора Pi по входу si и параметрам d{t,2t} и R{P1,...,Pn}.
1. Послать siвсем процессорам изR.
2. Если процессор PiR, подать на выход 0. В противном случае после полученияd+1 значений (значениеvjот процессораPj) интерполировать полиномpi() степениdтакой, чтоp(j)=vjдля каждого полученного значенияvj. Подать на выходpi(0).
Асинхронная схема глобального проверяемого разделения секрета (АГПРС), описанная ниже, является обобщением предыдущей схемы для случаяBy-сбоев. Схема состоит из двух этапов: сначала, каждый процессор разделяет вход, используя протоколАРзПрсхемыАПРС, а затем процессоры используют субпротоколСОАМдля того, чтобы договориться о множествеCне менее чемn-tпроцессорами, которые объединили свои входы. Выход процессораPiв субпротоколеАГПРСи есть это множествоCиi-тая доля каждого секрета включена процессоромPiвC. В данном протоколе параметр безопасности фиксирован:d=t.
Субпротокол агпрс
Код для процессора Pi по входу xi.
1. Инициировать АРзПр(xi) сPiв качестве дилера. Для 1jnучаствовать в протоколе вАРзПрj. Пустьvj– есть выходАРзПрj.
2. Пусть Ui={jАРзПрjбыл завершен}. МножествоCвычислить как: (n,t,Ui)СОАМ=С.
3. Как только множество Cвычислено, подать на выход (C,vjjC).
Вычисления на мультипликативном вентиле Вычисления при fs-сбоях
В данном разделе показывается, как надежно при наличии FS-сбояхt-вычислить любую функцию, вход которой разделен междуnпроцессорами, когдаn3t+1.
Пусть F– конечное поле, известное всем процессорам иF>n. Пусть такжеf:FnF- вычислимая функция. Предположим, что процессоры имеют арифметическую схему, вычисляющую функциюf. Схема состоит из вентилей сложения и умножения степени 2. Добавление константы рассматривается как частный случай сложения. Все вычисления в выполняются в полеF.
Общее описание протокола выглядит следующим образом [BCG]. Пустьxi- вход процессора Pi. На первом шаге каждый процессор разделяет вход среди других процессоров, используя, например, схему разделения секрета Шамира (см. выше). А именно, для каждого процессораPi, который успешно разделил свой вход, случайным образом генерируется полиномpi() степени t, сгенерирован такой, что каждый процессорPjимеетpi(j) иpi(0) - значение входа процессорPi. Будем говорить, чтоpi(j) - доляpi(0) процессораPi. Затем, стороны договариваются, используя протоколСОАМ,о множествеСпроцессоров, которые успешно разделили свои входы. Как толькоCвычислено, процессоры начинают вычислятьfC(), следующим образом. Сначала, входные значения процессоров не принадлежащиеC– устанавливаются в некоторое значение по умолчанию, скажем в 0. Затем процессоры вычисляют данную схему, вентиль за вентилем способом, описанном ниже. Заметим, что выход протокола будет зафиксирован, как только множествоCзафиксировано.
Для каждого вентиля процессоры используют свои доли входных линий для совместного и безопасного «генерирования» случайного полинома p() степениt, такого, что каждый процессорPiвычисляетp(i) иp(0) - является выходным значением этого вентиля. А именно,p(i) - доля процессораPiна выходной линии этого вентиля. Как только процессоры вычислили свои доли на выходных линиях всей схемы, процессоры восстанавливают свои доли на выходной линии и интерполируют выходное значение.