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

Материал из testwiki
Перейти к навигации Перейти к поиску

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

Описание

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

  • ∀i:di>p
  • ∀i:di<di+1
  • d1∗d2∗…dm>p∗dn−m+2∗dn−m+3∗…∗dn

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

M′=M+rp

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

ki=M′moddi

Участникам раздаются {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∗dn−m+2∗dn−m+3∗…∗dn
    d1∗d2∗d3>p∗d3∗d4
    11∗13∗17>3∗17∗19

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

M′=M+rp=2+51∗3=155

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

ki=M′moddi
k1=155mod11=1
k2=155mod13=12
k3=155mod17=2
k4=155mod19=3

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

1=M′mod11
12=M′mod13
2=M′mod17

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

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

M≡M′modp
M≡155mod3≡2

В данном примере (так как 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 I2⋮c(X)≡st(X) mod It

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

Рассмотрим сначала обобщение схемы Миньотта. Секретом будет некоторый многочлен 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,i∈B], M2=⋂B∈ΓRT(IB)

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

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

1) I0+Ii=1,∀i∈J.
2) ∀A∉Γ:RT(IAI0)⊆M2.

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

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

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

g(X)=sA(X)+(m−m(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). С другой стороны, m∈g(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), содержащему хотя бы один моном из M2∖RT(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 для каждого значения секрета существует одинаковое число возможных значений промежуточного секрета, что влечет равномерное распределение секрета и при наличии частичных секретов из запрещенного подмножества.

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

Литература