Схема Асмута — Блума

Материал из testwiki
Версия от 17:45, 8 декабря 2016; imported>Vlsergey (Литература)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Схема Асмута — Блума — пороговая схема разделения секрета, построенная с использованием простых чисел. Позволяет разделить секрет (число) между n сторонами таким образом, что его смогут восстановить любые m участников.

Описание

Пусть M — некоторый секрет, который требуется разделить. Выбирается простое число p, большее M. Выбирается n взаимно простых друг с другом чисел d1,d2,,dn, таких что:

  • i:di>p
  • i:di<di+1
  • d1*d2*dm>p*dnm+2*dnm+3**dn

Выбирается случайное число r и вычисляется

M=M+rp

Вычисляются доли:

ki=Mmoddi

Участникам раздаются {p,di,ki}

Теперь, используя китайскую теорему об остатках, можно восстановить секрет M, имея m и более долей.

Пример

Предположим, что нам нужно разделить секрет M=2 между четырьмя участниками таким образом, чтобы любые три из них могли этот секрет восстановить (а два участника — не могли бы). То есть нужно реализовать (3,4)-пороговую схему.

В качестве простого числа выберем p=3, в качестве взаимно простых — 11,13,17,19. Проверяем, что:

  • i:di>p
    i:i{11,13,17,19},i>p=3
  • d1<d2<d3<d4
    11<13<17<19
  • d1*d2*dm>p*dnm+2*dnm+3**dn
    d1*d2*d3>p*d3*d4
    11*13*17>3*17*19

Выбираем случайное число r=51 и вычисляем:

M=M+rp=2+51*3=155

Вычисляем доли:

ki=Mmoddi
k1=155mod11=1
k2=155mod13=12
k3=155mod17=2
k4=155mod19=3

Теперь попробуем восстановить исходный секрет, имея на руках доли {3,11,1}, {3,13,12}, {3,17,2}. Составим систему уравнений:

1=Mmod11
12=Mmod13
2=Mmod17

Мы можем восстановить M, используя китайскую теорему об остатках.

Зная M, мы восстанавливаем секрет.

MMmodp
M155mod32

В данном примере (так как 155<17*19) два участника спокойно восстановят секрет. M' должно быть больше произведения долей неавторизованных участников.

Обобщенная схема Асмута – Блума в кольце многочленов от нескольких переменных

Рассмотрим кольцо многочленов от нескольких переменных 𝔽q[X], X=(x1,,xn) над полем Галуа 𝔽q. Пусть зафиксирован некоторый мономиальный порядок. Тогда приведение многочлена по модулю идеала определено однозначно. Пусть I1,I2,,It – нульмерные идеалы, а s1(X),s2(X),,st(X)𝔽q[X] — некоторые многочлены. Тогда справедливо утверждение: система сравнений

{c(X)s1(X) mod I1c(X)s2(X) mod I2c(X)st(X) mod It

либо несовместна, либо имеет единственное решение по модулю наименьшего общего кратного(НОК) идеалов I1,I2,,It . В случае, если идеалы попарно взаимно простые, т. е. Ii+Ij=1,ij, имеем обобщенную китайскую теорему об остатках, причем решение системы всегда существует.

Рассмотрим сначала обобщение схемы Миньотта. Секретом будет некоторый многочлен C(X) , участнику i выдается модуль Ii и частичный секрет si(X)=C(X) mod Ii . Для реализации структуры доступа необходимо и достаточно, чтобы секрет C(X) был приведенным по модулю НОК идеалов из любого разрешенного подмножества участников и не являлся таковым для запрещенных подмножеств.

В обобщенной схеме Асмута – Блума присутствует дополнительный модуль I0 , а секретом является si(X)=C(X) mod Ii . В этой схеме C(X) называется промежуточным секретом.

Совершенность схемы

Схема разделения секрета называется совершенной, если запрещенное подмножество участников не получает никакой дополнительной информации о секрете, кроме априорной. Другими словами, распределение секрета остается равномерным и при наличии частичных секретов участников из запрещенного подмножества. Схема Асмута – Блума в отличие от схемы Миньотта может быть совершенной.

Для выработки критерия совершенности, исследуем схему Асмута – Блума в кольце 𝔽q[X]. Обозначим через RT(I) множество мономов, приведенных по модулю I, а через RP(I)линейную оболочку RT(I). Пусть также

IB=HOK[Ii,iB], M2=BΓRT(IB)

– множество мономов, лежащих в пересечении RT идеалов всех разрешенных подмножеств. Отметим, что промежуточный секрет C(X)RP(M2).

Теорема. Схема Асмута – Блума в кольце 𝔽q[X] совершенна тогда и только тогда, когда выполнены следующие условия:

1) I0+Ii=1,iJ.
2) AΓ:RT(IAI0)M2.

Доказательство.

Необходимость. Пусть есть совершенная схема Асмута – Блума, но первое условие теоремы не выполнено, т. е. Ii:Ii+I0=D0. Тогда множество возможных значений секрета для такого участника можно сузить: c(X)si(X) mod D. Следовательно, схема несовершенна – получили противоречие.

Пусть первое условие выполнено, но не выполнено второе, т. е. существует запрещенное подмножество A такое, что RT(IAI0)⊄M2. Иными словами, существует моном mRT(IAI0)M2. Рассмотрим многочлен

g(X)=sA(X)+(mm(modIA))=sA(X)+fm(X),

где sA(X) – общий частичный секрет, восстановленный участниками из подмножества A.

Заметим, что многочлен fm(X) тогда удовлетворяет следующим условиям:

1) fm(X)IA
2) fm(X)RP(IAI0)
3) Содержит моном m.

Следовательно, g(X)RP(IAI0). Положим c=g(X) mod I0. Согласно китайской теореме об остатках, для системы

{C(X)sA(X) mod IAC(X)c(X) mod I0

существует единственное решение в RP(IAI0), но по построению этим решением является многочлен g(X). С другой стороны, mg(X)RP(M2), а значит, значение c(X) для секрета невозможно – опять получили противоречие.

Достаточность. Пусть условия теоремы выполнены. Покажем, что секрет остается равномерно распределенным и при наличии частичных секретов из запрещенного подмножества. Рассмотрим произвольное запрещенное подмножество AΓ и множество многочленов

V={sA(X)+f(X)|f(X)IA,f(X)LP(M2)}

— множество возможных значений промежуточного секрета.

Зафиксируем некоторое значение секрета cj(X)RP(I0).Тогда существует единственный многочлен gj(X)LP(IAI0), такой, что согласно китайской теореме об остатках

gj(X)sA(X) mod IA
gj(X)cj(X) mod I0

Рассмотрим теперь 2 случая:

1) Если RT(IAI0)=M2, то каждому значения секрета соответствует единственный промежуточный секрет из множества V, т.е. секрет остается равномерно распределенным при наличии частичных секретов из подмножества A.

2) Пусть тогда RT(IAI0)M2. Каждому многочлену f(X)RP(M2), содержащему хотя бы один моном из M2RT(IAI0), поставим в соответствие многочлен

f(X)=f(X)f(X) mod RT(IAI0)0

Очевидно, что f(X)IAI0. Тогда каждому значению секрета cj(X)RP(I0) соответствует множество промежуточных секретов

Cj={gj(X),gj(X)+f(X)|f(X)IAI0,f(X)RP(M2)}V

Очевидно, что множества Cj равномощные. Следовательно, в множестве V для каждого значения секрета существует одинаковое число возможных значений промежуточного секрета, что влечет равномерное распределение секрета и при наличии частичных секретов из запрещенного подмножества.

Теорема доказана.

Литература