Скачиваний:
181
Добавлен:
02.05.2014
Размер:
891.9 Кб
Скачать

Редукция к мв

Вход.Процессорiсодержит строку битовxi1...xin{0,1}n,i=1,2.

1. Разделение входов. Каждый процессор делит каждый из своих входных битов с другим процессором. То есть для каждогоi=1,2 иj=1,...,nпроцессорiравномерно выбирает битrijи посылает его другому процессору, как долю входной линии (с нумерацией ((i-1)n+j) последнего. Процессорiустанавливает свою собственную долю на входной линии с нумерацией (i-1)n+jв значениеxij+rij.

2. Эмуляция схемы. Следуя нумерации линий, процессоры используют свои доли двух входных линий схемы, чтобы конфиденциально вычислить доли для выходной линии вентиля.

Предположим, что процессоры имеют общие две входные линии вентиля, то есть процессор 1 содержит доли a1,b1, а процессор 2 содержит долиa2,b2, гдеa1,a2- доли на первой линии иb1,b2- доли на второй линии. Рассмотрим два случая.

2.1. Эмуляция аддитивного вентиля.Процессор 1 только устанавливают долю выходной линии вентиля в значениеa1+b1, а процессор 2 устанавливают долю выходной линии вентиля в значениеa2+b2.

2.2. Эмуляция мультипликативного вентиля. Доли выходной линии вентиля получаются посредством вызова оракула для вычисления функции (см.(3.1)-(3.2)), где процессор 1 обеспечивает вход (часть запроса) (a1,b1), а процессор 2 обеспечивает вход (a2,b2). После ответов оракула, каждый из процессоров устанавливают свою долю выходной линии вентиля в значение равное своей части ответа оракула.

3. Восстановление выходных битов. Как только доли выходных линий схемы вычислены, каждый процессор посылает долю с каждой из таких линий процессору, с которым линия связана. То есть доли на последнихnлиниях посылаются процессором 1 процессору 2, в то время как долиnпредшествующих линий посылаются процессором 2 процессору 1. Каждый из процессоров восстанавливает соответствующие выходные биты, складывая две доли; то есть доли, которую он получил на шаге 2 и доли, полученной на текущем шаге.

Выход.Каждый процессор локально выдает биты, восстановленные на шаге 3.

Сначала необходимо проверить, что выходы действительно корректны. Это можно сделать методом индукции, которая состоит в том, что значение доли каждой линии прибавляется к корректному значению на линии. Базис индукции – номер входной линии схемы. А, именно, ((i-1)n+j)-тая линия имеет значениеxijи ее доли -rijиrij+xij. На каждом шаге индукции рассматривается эмуляция аддитивного или мультипликативного вентиля. Предположим, что значения входных линий –aиbи что их долиa1,a2иb1,b2, которые удовлетворяютa1+a2=aиb1+b2=b. В случае аддитивного вентиля доли на выходной линии устанавливаются в значенияa1+b1иa2+b2, что удовлетворяет (a1+b1)+(a2+b2)=(a1+a2)+(b1+b2)=a+b. В случае мультипликативного вентиля доли выходной линии были устанавливаются в значенияc1иc2так, чтоc1+c2=(a1+a2)(b1+b2). Таким образом,c1+c2=ab, что и требовалось показать.

В работе [Go2] приводятся формальные аргументы для конфиденциального сведения вычисления на арифметической схеме надGF(2) к функции, вычислимой в соответствии с уравнениями (3.1)-(3.2). А следующая теорема, устанавливает главный результат для конфиденциального вычисления любой вычислимой функции для случая двухстороннего протокола взаимодействия.

Теорема 3.2.Предположим, что односторонние перестановки с секретом существуют. Тогда любая вычислимая функция для получестной модели конфиденциально вычислима.

Соседние файлы в папке Казарин О.В. Теория и практика защиты программ