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

Протокол аРзПр

Вычисления дилера (по входу s):

1. Выбрать случайный полином h(,) степениtот двух переменных такой, чтоh(0,0)=s(Т.е.h(x,y)=, гдеh0,0=sи все другие коэффициентыh0,1,...,ht,tвыбраны однородно и независимо над F). Для каждого 1inпосылает полиномыfi()=h(,i) иgi()=(hi, ) процессоруPi.

Вычисления процессора Pi:

2. После полученияfi() иgi() от дилера и для каждого 1jnпосылаетfi(j) процессоруPj.

3. После получения vi,jот процессораPjпроверяет, еслиvi,j=gi(j), тогда этот процессор распространяет (OK,i,j).

4. После получения (OK,j,k), контролирует существование звезды вOK, используя процедуруЗВЗ, описанную выше. Если звезда (Ci,Di) найдена, переходит к шагу 6 и посылает (Ci,Di) всем процессорам.

5. После получения сообщения (Cj,Dj) добавляет (Cj,Dj) к множеству «предлагаемых звезд». Пока звезда не найдена, всякий раз, когда получено распространяемое сообщение (OK,k,l), проверяет, формируют ли (Cj,Dj) звезду в графе OKi.

6. После нахождения звезды (Ci,Di) и еслиiDiскорректировать полиномgi(), основываясь на сообщении о верификации, полученном от процессоров изDiи с использованием кодовcисправлением ошибок (процедурыСКОП, описанной ниже). А именно, пустьVi={(j,vi,j)jDi}, тогда установить (t,Vi)СКОП=(gi()).

7. Как толькоgi() локально скорректирован, выдаетg(0).

Протокол аВсПр

Вычисления для процессора Pi (по входу i и с параметрами R{P1,...,Pn}).

7. Посылает aiпроцессорам изR.

  1. Пусть Si={(j,aj)ajполучен изPj. ЕслиPiR, заканчивает без выхода. В противном случае установить (t,Si)СКОП=zi() и выдаетzi(0).

Доказательство безопасности схемы апрс

Теорема 3.7.Пара протоколов (АРзПр,АВсПр) являетсяt-устойчивой схемойАПРСв сети изnпроцессоров, еслиn4t+1.

Доказательство.Из определения 3.6 видно, что нам необходимо доказать условия завершения, корректности и конфиденциальности. Начнем с доказательства корректности схемыАПРС.

Корректность.С каждым несбоящим процессоромPi, который завершает протоколАРзПрмы ассоциируем уникальный полиномhi(,) степениtот двух переменных и показываем, что каждые два несбоящих процессораPiиPjимеютhi(,)=hj(,). Затем, мы показываем, что условия 1 и 2 корректности выполняются, относительноr=hi(0,0) (для некоторого несбоящего процессораPi). Кроме того, мы показываем, что выход процессораPiпротоколаАРзПрестьhi(i,0).

Для демонстрации этого мы используем две технических леммы, которые приведем без доказательства [BCG]. В лемме 3.5 показывается, что если 4t+1 долей несбоящих процессоров, находящихся в звезде в графеОKопределяют единственный полином степениtот двух переменных. Лемма 3.6 демонстрирует тот факт, что полиномы индуцированные звездами каждой из двух процессоров одинаковы. Таким образом, только несбоящий процессор находит звезду, и, следовательно, секрет определяется единственным образом.

Лемма 3.5.Пустьmd+1, и пустьf1(),...,fm() иg1(),...,gm() - полиномы степениdнад полемFсFmтакие, что для каждого 1id+1 и каждого 1jmмы имеемfi(j)=gj(i) иgi(j)=fj(i). Тогда существует единственный полиномh(,) степениdот двух переменных такой, что для каждого 1imмы имеемh(,i)=fi() иh(i,)=gi().

Лемма 3.6.Пустьh(,),h(,) – два полинома степениdот двух переменных над полемFсFdи пустьv1,...,vd+1- различные элементы вF. Предположим, что для каждого 1i,jd+1 мы имеемh(vi,vj)=h(vi,vj). Тогдаh(,)=h(,).

Далее, пусть Pi– несбоящий процессор, который завершил протоколАРзПри пусть (Ci,Di) - звезда, найденная процессоромPi. ПустьDi- множество несбоящих процессоров вDiпустьCi- множество несбоящих процессоров вCiи, таким образом,DiDi-tn-2tиCiCi-tn-3tt+1 (так как 4t+1). В соответствии с леммой 3.5 полиномыfj(),gj() процессоровjDiопределяют единственный полином степениtот двух переменных. Пустьhi(,) обозначает этот полином. А именно,hi(,) - полином, ассоциированный сPi. Отметим также, чтоhi(,) фиксирован, как толькоPiзавершает протоколАРзПр. Для каждого другого несбоящего процессораPjпустьIi,j- множество несбоящих процессоров изDiDj. Так какn4t+1, мы имеемDiDjn-2t2t+1 и, таким образом,Ii,jt+1. Для каждых двух процессоровk,lIi,j, мы имеемhi(k,l)=vk,l=hj(k,l), гдеvk,l– верификационная часть, посланнаяPkкPlна шаге 2 протоколаАРзПр. Применяя результаты леммы 3.6, мы имеемhi(,)=hj(,). Значениеr, требуемое в условии корректности, является равнымhi(0,0).

Мы утверждаем, что условие 1 (а именно, что если дилер честен и выдает значение s, тоr=s). Если дилер честен и он выбрал полиномh(,) на шаге 1, тогда для каждых двух процессоровPk,PlDiмы имеемhi(k,l)=h(k,l). В соответствии с леммой 3.6 мы снова можем получитьhi(,)=h(,). Далее нижний индекс в полиномеh(,) опускается.

Далее мы показываем, что выход каждого несбоящего процессора PiпротоколаАРзПрестьh(i,0). Полиномh(i,) - интерполируемый полином аккумулируемого множестваUiпроцессораPiна шаге 6. Следовательно, выход процедурыСКОПна шаге 6 будетh(i,) и выход протоколаАРзПрбудетh(i,0).

В заключение мы показываем, как выполняется условие 2 (а именно, что выход PiпротоколаАВсПрестьr). Каждый несбоящий процессорPjраспространяетh(j,0) на шаге 7 и, таким образом,h(,0) - интерполируемый полином аккумулируемого множестваUiпроцессораPiна шаге 8. Следовательно, выход процедурыСКОПна шаге 8 будетh(,0) и выход протоколаАВсПрбудетh(0,0)=r.

Завершение.Условие 1. Если дилер честен, то для каждых двух несбоящих процессоровPjиPk, оба сообщения (ОК,j,k) и (ОК,k,j) будут распространены так какfj(k)=h(k,j)=gk(j) иgj(k)=h(j,k)=fk(j). Таким образом, каждый несбоящий процессорPiбудет в конечном счете иметь клику размераn-tв графеOKi. Поэтому процедураЗВЗбудет находить звезду вOKiи шаг 4 будет завершен. Шаг 6 будет завершен, так как вход процедурыСКОП(а именно, аккумулируемое множествоUi, которое базируется на звезде, найденной на шагах 4 или 5) - событийно (t,t)-интерполируем.

Условие 2. Пусть Pi– несбоящий процессор, который завершил протоколАРзПри пусть (Ci,Di) - звезда, найденная процессоромPi. Тогда (Ci,Di) будет в конечном счете звездой в графеOKjдля каждого несбоящего процессораPj, даже еслиPjне завершил протоколАРзПр. Кроме того, процессорPjполучит (Ci,Di) сообщение (посланноеPiна шаге 4), и будет проверять на шаге 5, что множества (Ci,Di) формируют звезду вOKj. После нахождения звезды процессорPjвыполнит шаг 6 и завершит протоколАРзПр.

Условие 3. Если все несбоящие процессоры начали выполнять протокол АВсПр, тогда аккумулируемое множествоSiна шаге 8 для каждого несбоящего процессораPi, событийно (t,t)-интерполируемо. Таким образом, все несбоящие процессоры завершат процедуруСКОПи протоколАВсПр.

Конфиденциальность.Мы используем следующую систему обозначения. Для значенияvпустьHvобозначает множество полиномов степениtот двух переменных со свободным коэффициентомv. Будем говорить, что последовательностьf1(),...,ft(),g1(),...,gt() полиномовчередуемы, если для каждых 1i,jtмы имеемfi(j)=gj(i). ПустьIобозначает множество чередуемых последовательностей 2tполиномов степениt.

Лемма 3.7.ПустьF– поле сFdи пустьsF. Тогда для каждой чередуемой последовательностиf1(),...,fd(),g1(),...,gd() вIсуществует единственный полиномh(,)Hsтакой, что для каждого 1idмы имеемh(,i)=fi() иh(i,)=gi().

Доказательство.См. работу [BCG].

Далее предположим, что дилер честен и пусть s– разделяемое значение. Тогда дилер имеет на шаге 1 протоколаАРзПрполиномh(,) с равномерным распределением вероятностей надHs. Кроме того, вся необходимая информация о множестве изtпроцессоров, полученная во время выполнения протоколаАРзПр, является чередуемой последовательностьюf1(),...,ft(),g1(),...,gt() вIтакой, что для каждого 1itмы имеемh(,i)=fi() иh(i,)=gi().

Из леммы 3.7 следует, что для каждого разделяемого значения sFэто соответствие между полиномами вHsи чередуемыми последовательностями в I– является взаимнооднозначным. Следовательно, равномерное распределение над полиномами изHsиндуцирует равномерное распределение вероятностей над чередуемыми последовательностями вI.

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