logo
ОЗІ / Лекц_ї / все / Методы и средства защиты информации, 2003

Линейное разделение секрета

Начнем с предложенной Шамиром элегантной схемы разделения секрета для пороговых структур доступа. Пусть К = GF(q)— конечное поле изqэлементов (например,q = p— простое число иК = Zp) иq > n. Сопоставим участникамn различных ненулевых элементов поля{a1, …, an}и положимa0 = 0. При распределении секретаs0дилер СРС генерируетk–1независимых равномерно распределенных наGF(q)случайных величинfj (j = 1, …, k–1)и посылает і-му учаснику (і = 1, ..., n) “его” значение si = f(ai) многочлена f(x) = f0 + f1x + … + fk-1xk-1, гдеf0 = s0.Поскольку любой многочлен степениk-1однозначно восстанавливается по его значениям в произвольныхkточках (например, по интерполяционной формуле Лагранжа), то любыеkучастников вместе могут восстановить многочленf(x)и, следовательно, найти значение секрета какs0 = f(0). По этой же причине для любыхk–1участников,любых полученных ими значений проекций si и любого значения секрета s0 существует ровно один “соответствующий” им многочлен, т.е. такой, чтоsi = f(ai)иs0 = f(0). Следовательно, эта схема является совершенной в соответствии с определением 2. “Линейность” данной схемы становится ясна, если записать “разделение секрета” в векторно-матричном виде:

s = fH, (18.3)

где s = (s0, …, sn), f = (f0, …, fk–1), × (n+1)— матрицаH = (hij) = (aij-1)иh00 = 1. Заметим, что любыеkстолбцов этой матрицы линейно независимы, а максимально возможное число столбцов матрицыHравноq, чтобы добиться обещанного значенияq+1надо добавить столбец, соответствующий точке “бесконечность”.

Возьмем в (18.3) в качестве Hпроизвольнуюr × (n + 1)-матрицу с элементами из поляK. Получаемую СРС, будем называтьодномерной линейной СРС. Она является совершенной комбинаторной СРС со структурой доступаГ, состоящей из множествАтаких, что векторh0представим в виде линейной комбинации векторов{hj: j  A}, гдеhj— этоj-ый столбец матрицыH. Строками матрицыV, соответствующей данной СРС, являются, как видно из (18.3), линейные комбинации строк матрицыH. Перепишем (18.3) в следующем виде

sj = (f, hj)дляj = 0, 1, …, n,

где (f, hj) — скалярное произведение векторов f и hj. Если А  Г, т.е. если h0 = Σλjhj, то

s0 = (f, h0) = = Σλj(f, hj) = Σλjsj

и, следовательно, значение секрета однозначно находится по его “проекциям”. Рассмотрим теперь случай, когда вектор h0не представим в виде линейной комбинации векторов{hj: j  A}. Нам нужно показать, что в этом случае для любых заданных значений координат из множестваАчисло строк матрицыVс данным значением любой координаты не зависит от этого значения. В этом не трудно убедится, рассмотрев (18.3) как систему линейных уравнений относительно неизвестныхfiи воспользовавшись тем, что система совместна тогда и только тогда, когда ранг матрицы коэффициентов равен рангу расширенной матрицы, а число решений у совместных систем одинаково и равно числу решений однородной системы.

Указание. Рассмотрите две системы:c“нулевым” уравнением и без него (т.е. со свободным членом). Так как векторh0не представим в виде линейной комбинации векторов{hj: j  A}, то ранг матрицы коэффициентов второй системы на 1 больше ранга матрицы коэффициентов первой системы. Отсюда немедленно следует, что если первая система совместна, то совместна и вторая при любомs0.

Эта конструкция подводит нас к определению общей линейной СРС. Пусть секрет и его “проекции” представляются как конечномерные векторы si = (s, …, s)и генерируются по формулеsi = fHi, гдеHi— некоторыеr × mi-матрицы. Сопоставим каждой матрицеHiлинейное пространствоLiее столбцов (т.е. состоящее из всех линейных комбинаций вектор-столбцов матрицыHi). Несложные рассуждения, аналогичные приведенным выше для одномерного случая (всеmi = 1), показывают, что данная конструкция дает совершенную СРС тогда и только тогда, когда семейство линейных подпространств{L0, …, Ln}конечномерного векторного пространстваKудовлетворяет упомянутому выше свойству “все или ничего”. При этом множествоАявляется разрешенным{La: a  A}содержит подпространствоL0целиком. С другой стороны, множествоАявляется неразрешенным (А  Г), если и только если линейная оболочка подпространств{La: a  A}пересекается с подпространствомL0только по вектору0. Отметим, что если бы для некоторогоАпересечениеL0и линейной оболочки{La: a  A}было нетривиальным, то участникиАне могли бы восстановить секрет однозначно, но получали бы некоторую информацию о нем, т.е. схема не была бы совершенной.

Пример 18.3. Рассмотрим следующую структуру доступа для случая четырех участников, задаваемуюГmin = {{1,2}, {2,3}, {3,4}}. Она известна как первый построенный пример структуры доступа, для которой не существует идеальной реализации. Более того, было доказано, что для любой ее совершенной реализацииR(Г) ≥ 3/2. С другой стороны, непосредственная проверка показывает, что выбор матрицH0,H1, ...,H4, приведенных на рис. 18.2, дает совершенную линейную СРС сR = 3/2, реализующую эту структуру, которая, следовательно, является и оптимальной (наиболее экономной) СРС.

Рис. 18.2.Матрицы, реализующие совершенную линейную СРС