- •Конфиденциальные вычисления
- •Водные замечания по проблематике конфиденциальных вычислений
- •Описание используемых примитивов, схем и протоколов
- •Общие определения
- •Проверяемая схема разделения секрета
- •Широковещательный примитив (Br-протокол)
- •Протокол bb
- •Протокол византийского соглашения (ba-протокол)
- •Обобщенные модели для сети синхронно и асинхронно взаимодействующих процессоров
- •Вводные замечания
- •Обобщенные модели сбоев и противника
- •Получестные модели
- •Злонамеренные модели Действия процессоров в злонамеренной модели
- •Вычисления в идеальной модели
- •Вычисления в идеальной модели
- •Вычисления в реальной модели
- •Модель взаимодействия
- •Синхронная модель вычислений Общее описание модели
- •Идеальный и реальный сценарии
- •Асинхронная модель вычислений Общее описание модели
- •Асинхронные идеальный и реальный сценарии
- •Безопасность асинхронных вычислений
- •Конфиденциальное вычисление функции
- •Проверяемые схемы разделения секрета как конфиденциальное вычисление функции
- •Описание проверяемой схемы разделения секрета
- •Протокол РзПр
- •Протокол ВсПр
- •Доказательство безопасности схемы проверяемого разделения секрета
- •Описание работы моделирующего устройства m
- •Синхронные конфиденциальные вычисления
- •Примитив «Забывающий обмен»
- •Протокол отпчм
- •Двухсторонние вычисления Безопасные протоколы для получестной модели
- •Редукция к от41
- •Протокол вычислений на арифметической схеме над gf(2)
- •Редукция к мв
- •Основной результат для злонамеренной модели
- •Многосторонние протоколы Общая идея
- •Получестная модель
- •Конфиденциальное вычисление
- •Многосторонний протокол схемного вычисления
- •Редукция к кВm
- •Основной результат для злонамеренной модели
- •Асинхронные конфиденциальные вычисления
- •Вводные замечания
- •Примитив «Соглашение об аккумулируемом множестве» (соам-субпротокол)
- •Протокол соам
- •Алгоритм звз
- •Процедура скоп
- •Асинхронная схема проверяемого разделения секрета Общие определения
- •Протокол аРзПр
- •Протокол аВсПр
- •Доказательство безопасности схемы апрс
- •Асинхронная схема глобального проверяемого разделения секрета
- •Протокол агРз
- •Протокол агВс
- •Субпротокол агпрс
- •Вычисления на мультипликативном вентиле Вычисления при fs-сбоях
- •Вычисления на линейном вентиле
- •Вычисления на мультипликативном вентиле
- •Протокол мат (XI,a)
- •Субпротокол mul(ai,bi)
- •Основной протокол
- •Протокол авф
- •Вычисления при By-сбоях
- •Процедура соим
- •Протокол соим(Zi)
- •Протокол ByMul
Протокол РзПр
Дилер Двыбирает случайный полиномf0(x) степениt+1 с единственным условием:f0(0)=s- его секрет. Затем он посылает процессоруPiего долюsi=f0(i). Кроме того, он выбирает 2Кслучайных полиномовf1,...,f2Kстепениt+1 и посылает процессоруPiзначенияfj(i) для каждогоj=1,...,2К.
Каждый процессор Piраспространяет (посредством широковещательного канала)K/nслучайных битов(i-1)K/n+j, дляj=1,...,K/n.
Дилер Драспространяет полиномыgj=fj+jf0для всехj=1,...,K.
Процессор Piпроверяет, удовлетворяют ли его значения полиномам, распространяемым дилером. Если он обнаруживает ошибку, он ее декларирует для всех. Если более чемtпроцессоров сообщают об этом, тогда дилер считается нечестным и все процессоры принимают по умолчанию значение нуля как секрет дилераД.
Если менее чем tпроцессоров сообщили об ошибке, дилер распространяет значения, который он посылал в первом раунде тем процессорам, которые сообщали об ошибке дилера.
Каждый процессор PiраспространяетK/nслучайных битов(i-1)K/n+jдляj=1,...,K/n.
Дилер Драспространяет полиномыhj=fK+j+jf0для всехj=1,...,K.
Процессор Piпроверяет, удовлетворяют ли значения, которые он имеет, полиномам, распространяемым дилеромД в 5-м раунде. Если он находит ошибку, он декларирует об этом всем процессорам сети. Если более чемtпроцессоров сообщают об ошибке, тогда дилер нечестный и все процессоры принимают по умолчанию значение нуля как секрет дилераД.
Протокол ВсПр
Каждый процессор Piвыбирает случайный многочленhiстепениt+1 такой, чтоhi(0)=si- его собственная входная доля секрета. Он посылает процессоруPjзначениеhi(j).
Каждый процессор Piвыбирает случайные полиномыpi(x),qi,1(x),...,qi,2K(x) степениt+1 со свободным членом 0 и посылает процессоруPjзначенияpi(j),qi,1(j),...,qi,2K(j).
Каждый процессор PiраспространяетKслучайных битовl,(i-1)K/n+mдляl=1,...,nиm=K/n.
Каждый процессор распространяет следующие полиномы rj=qi,j+i,jpiдля каждогоj=1,...,K.
Каждый процессор Piпроверяет, что информация процессораPl, посланная ему в 1-м раунде, соответствует тому, чтоPlраспространяет в 3-м раунде. Если имеется ошибка илиPlраспространяет полином с ненулевым свободным членом, процессорPiраспространяет сообщениеbadl. Если более чемtпроцессоров распространяютbadl, процессорPlисключается из сети и все другие процессоры принимают как 0 долю процессораPl. В противном случае,Plраспространяет информацию, которую он посылал в раунде 1 процессорам, распространявшим сообщениеbadl.
Каждый процессор PiраспространяетKслучайных битовl,(i-1)K/n+mдляl=1,...,nиm=1,...,K/n.
Каждый процессор Piраспространяет следующие полиномыrj=qi,K+j+i,jpiдля каждыйj=1,...,K.
Каждый процессор Piпроверяет, что информация, посланная процессоромPl, в 1-м раунде и распространенная в 5-м раунде соответствует полиномам процессораPl, распространенным в 7-м раунде. Если имеется ошибка илиPlраспространил полином с ненулевым свободным членом процессорPiраспространяетbadlr. Если более чемtпроцессоров распространилиbadl, тогдаPl– нечестен и все процессоры принимают его долю, равную 0.
Каждый процессор 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 точки.