Схема Карнина — Грина — Хеллмана

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

Схема Карнина — Грина — Хеллмана — пороговая схема разделения секрета на основе решения систем уравнений. Авторы — Эхуд Карнин (Шаблон:Lang-en), Джонатан Грин (Шаблон:Lang-en2) и Мартин Хеллман (Шаблон:Lang-en2).

Введение

Пороговая схема разделения секрета на конечных полях — схема обмена секретного ключа k между n участниками таким образом, что любые t из них могут восстановить секрет, но любая группа из t1 или менее — не может. Схема состоит из двух фаз. В первой фазе — фазе распределения — некоторая сторона (называемая поставщиком) создаёт доли участия s1,s2,,sn, используя алгоритм распределения D. Для каждого i поставщик лично отдает долю участия si участнику Pi. Вторая фаза, называемая фазой восстановления, происходит, когда t участников Pi1,Pi2,,Pit хотят восстановить секретный ключ k.

Типы пороговых схем

  • Пороговая схема разделения секрета называется совершенной, если по крайней мере t участников могут восстановить секрет, а любая группа из t1 или менее сторон — не может.
  • Пороговая схема разделения секрета называется линейной, если восстановление секрета k происходит путём взятия линейной комбинации t долей участия.
  • Пороговая схема разделения секрета называется идеальной, если размер долей участий равен размеру секрета k.
  • Совершенная, идеальная и линейная пороговая схема разделения секрета называется PIL (perfect, ideal and linear) пороговой схемой разделения секрета.

Для PIL пороговой схемы можно задать требования в терминах свойств матрицы распределения D:

1.Полнота — любая группа, включающая не менее t участников, может вычислить секрет k. Таким образом, любые t строк матрицы распределения D должны иметь интервал, включающий строку

[1,0,0,,0].

2.Конфиденциальность — ни одна группа, включающая менее чем t участников, не может получить информацию о секретном ключе k. Инными словами, t1 или меньше строк матрицы распределения D не могут включать интервал, включающий строку

[1,0,0,,0].

Описание

Рассмотрим конечное поле GF(qm). Пусть α простой элемент GF(qm) и пусть

αiαi,i=1,qm1.

Поставщик случайно выбирает a1,a2,,at1 из GF(qm).

Затем он строит n долей участия si следующим образом

[s1s2srsr+1]=[1α1α12α1t11α2α22α2t11αrαr2αrt10001][ka1a2at1]

n=r+1,rqm1.

Потом поставщик отправляет si участнику Pi, следя за тем, чтобы любые t строк матрицы D, обозначенные как Di1,i2,,it, составляли обратимую матрицу t×t.

Отсюда, y¯=Di1,i2,,it1S¯i1,i2,,it, где S¯i1,i2,,it вектор — столбец, состоящий из si1,si2,,sit.

Таким образом, секрет k может быть вычислен.

Кроме того, для любых t1 строк матрицы D, строка [γ,0,0,,0], γGF(qm){0} не будет входить в Di1,i2,,it1.

Значит, t1 или менее участников не могут получить никакой информации о секрете k. Следовательно, можно построить пороговую схему разделения секрета для r+1, где r+1=𝔽, то есть число участников n может быть равно размеру поля.

Таким образом, с точки зрения определения максимального n мы можем сказать, что схема Карнина — Грина — Хеллмана эффективней, чем схема Шамира.

Пример оптимальной схемы

  • nmax,t — это наибольшее n, для которого можно построить PIL (t,n) пороговую схему разделения секрета над конечным полем 𝔽.
  • D — матрица распределения PIL (t,n) — пороговой схемы разделения секрета над конечным полем 𝔽 записана в KGH нормальной форме, если удовлетворяет следующему равенству:
D=[1x12x13x1t1x22x23x2t1xr2xr3xrt1111010000100001]

Для любой PIL (t,n) — пороговой схемы разделения секрета над конечным полем 𝔽 матрицу распределения D можно записать в KGH нормальной форме.

Теорема 1. Допустим, у нас есть секретное пространство 𝒮 = 𝔽 = GF(qm)

Тогда nmax,t удовлетворяет:

𝔽nmax,t𝔽+t2, qm>t,
nmax,t=t, qmt,

Теорема 2. Пусть 𝔽=GF(2m) — конечное поле и n=𝔽+1. Тогда существует надежная PIL (3,n) — пороговая схема разделения секрета над полем 𝔽.

Доказательство. Характеристикой поля 𝔽=GF(2m) является 2. Все нетривиальные элементы (элементы не равные 0 или 1) поля 𝔽 имеют мультипликативный порядок больше, чем 2. Пусть x1,x2,,x𝔽2 — элементы поля 𝔽 не равные 0 или 1.

Тогда матрица распределения примет следующий вид:

D=[1x1x121x𝔽2x𝔽22111010001]

Таким образом, D — это матрица PIL (3,n) пороговой схемы разделения секрета размером (𝔽+1)×3.

Рассмотрим полноту.

Пронумеруем строки матрицы D от 1 до n сверху вниз.

  • Случай I. Любые 3 строки из набора {1,,n2} могут восстановить секрет ввиду обратимости матрицы Вандермонда.
  • Случай II. Допустим даны строки [0,1,0] и [0,0,1] и ещё одна строка из набора {1,,n2}. Тогда очевидно, что можно восстановить секрет.
  • Случай III. Допустим одна из строк принадлежит набору {[0,1,0],[0,0,1]}, а две остальные выбраны из {1,,n2}. Тогда с помощью элементарных преобразований строк можно убрать строку из набора {[0,1,0],[0,0,1]}. В итоге, останется система Вандермонта размером 2×2, которая обратима.

Свойство полноты доказано. Доказательство конфиденциальности проходит похожим образом.

Для любого поля 𝔽 с характеристикой 2 получается, что:

nmax,3=𝔽+1=𝔽+32=𝔽+t2.

Следовательно, для полей с характеристикой 2 в схеме Карнина — Грина — Хеллмана nmax,3 по теореме 1 достигает верхней границы.

Литература