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

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

  1. Дилер Двыбирает случайный полиномf0(x) степениt+1 с единственным условием:f0(0)=s- его секрет. Затем он посылает процессоруPiего долюsi=f0(i). Кроме того, он выбирает 2Кслучайных полиномовf1,...,f2Kстепениt+1 и посылает процессоруPiзначенияfj(i) для каждогоj=1,...,2К.

  2. Каждый процессор Piраспространяет (посредством широковещательного канала)K/nслучайных битов(i-1)K/n+j, дляj=1,...,K/n.

  3. Дилер Драспространяет полиномыgj=fj+jf0для всехj=1,...,K.

  4. Процессор Piпроверяет, удовлетворяют ли его значения полиномам, распространяемым дилером. Если он обнаруживает ошибку, он ее декларирует для всех. Если более чемtпроцессоров сообщают об этом, тогда дилер считается нечестным и все процессоры принимают по умолчанию значение нуля как секрет дилераД.

  5. Если менее чем tпроцессоров сообщили об ошибке, дилер распространяет значения, который он посылал в первом раунде тем процессорам, которые сообщали об ошибке дилера.

  6. Каждый процессор PiраспространяетK/nслучайных битов(i-1)K/n+jдляj=1,...,K/n.

  7. Дилер Драспространяет полиномыhj=fK+j+jf0для всехj=1,...,K.

  8. Процессор Piпроверяет, удовлетворяют ли значения, которые он имеет, полиномам, распространяемым дилеромД в 5-м раунде. Если он находит ошибку, он декларирует об этом всем процессорам сети. Если более чемtпроцессоров сообщают об ошибке, тогда дилер нечестный и все процессоры принимают по умолчанию значение нуля как секрет дилераД.

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

  1. Каждый процессор Piвыбирает случайный многочленhiстепениt+1 такой, чтоhi(0)=si- его собственная входная доля секрета. Он посылает процессоруPjзначениеhi(j).

  2. Каждый процессор Piвыбирает случайные полиномыpi(x),qi,1(x),...,qi,2K(x) степениt+1 со свободным членом 0 и посылает процессоруPjзначенияpi(j),qi,1(j),...,qi,2K(j).

  3. Каждый процессор PiраспространяетKслучайных битовl,(i-1)K/n+mдляl=1,...,nиm=K/n.

  4. Каждый процессор распространяет следующие полиномы rj=qi,j+i,jpiдля каждогоj=1,...,K.

  5. Каждый процессор Piпроверяет, что информация процессораPl, посланная ему в 1-м раунде, соответствует тому, чтоPlраспространяет в 3-м раунде. Если имеется ошибка илиPlраспространяет полином с ненулевым свободным членом, процессорPiраспространяет сообщениеbadl. Если более чемtпроцессоров распространяютbadl, процессорPlисключается из сети и все другие процессоры принимают как 0 долю процессораPl. В противном случае,Plраспространяет информацию, которую он посылал в раунде 1 процессорам, распространявшим сообщениеbadl.

  6. Каждый процессор PiраспространяетKслучайных битовl,(i-1)K/n+mдляl=1,...,nиm=1,...,K/n.

  7. Каждый процессор Piраспространяет следующие полиномыrj=qi,K+j+i,jpiдля каждыйj=1,...,K.

  8. Каждый процессор Piпроверяет, что информация, посланная процессоромPl, в 1-м раунде и распространенная в 5-м раунде соответствует полиномам процессораPl, распространенным в 7-м раунде. Если имеется ошибка илиPlраспространил полином с ненулевым свободным членом процессорPiраспространяетbadlr. Если более чемtпроцессоров распространилиbadl, тогдаPl– нечестен и все процессоры принимают его долю, равную 0.

  9. Каждый процессор Plраспределяет всем другим процессорам следующее значениеsi+p1(i)+p2(i)+...+p(i), затем интерполирует полиномF(x)=f0(x)+p1(x)+p2(x)+...+pn(x)cиспользованием алгоритма с исправлением ошибок Берлекампа-Велча. Секрет будет равенs=F(0)=f(0).

Заметим, что если дилер Дчестен, в конце протоколаВсПрпротивник, даже зная секретsиtдолей «подкупленных» процессоров, ничего не узнает о долях секрета несбоящих процессоров, так как полином имеет степеньt+1, а ему необходимо для интерполяцииt+2 точки.

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