Научная статья на тему 'Конструкции некоторых схем разделения секрета на основе линейных кодов'

Конструкции некоторых схем разделения секрета на основе линейных кодов Текст научной статьи по специальности «Математика»

CC BY
2
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
криптография / линейный код / схема разделения секрета / структура доступа / cryptography / linear code / secret sharing scheme / access structure

Аннотация научной статьи по математике, автор научной работы — Рацеев Сергей Михайлович

Среди пороговых схем разделения секрета существуют совершенные схемы со свойством идеальности (например, схема Шамира). Для случая схем разделения секрета с произвольной структурой доступа можно построить совершенную схему для любой структуры доступа (например, схему Ито Саито Нишизеки, схему Бенало Лейхтера), но в общем случае такая схема свойством идеальности обладать уже не будет. В работе для некоторых классов структур доступа приводится конструкция совершенных схем разделения секрета со свойством идеальности на основе линейных кодов. Также приводится конструкция совершенных проверяемых схем разделения секрета для любой структуры доступа, для которой существует линейных код, реализующий эту структуру.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Constructions of some secret sharing schemes based on linear codes

There are perfect and ideal threshold secret sharing schemes, for example, Shamir’s secret sharing scheme. For the case of general secret sharing schemes with an arbitrary access structure, it is possible to construct a perfect scheme for any access structure (for example, the Ito – Saito –Nishizeki scheme, the Benaloh – Leichter scheme), but in general, such a scheme will not be an ideal secret sharing scheme. In the paper, for some classes of access structures, the construction of perfect and ideal secret sharing schemes based on linear codes is given. We also give a construction of perfect verifiable secret sharing schemes for any access structure for which there is a line code that implements this structure.

Текст научной работы на тему «Конструкции некоторых схем разделения секрета на основе линейных кодов»

Известия Саратовского университета. Новая серия. Серия: Математика. Механика. Информатика. 2024. Т. 24, вып. 3. С. 330-341

Izvestiya of Saratov University. Mathematics. Mechanics. Informatics, 2024, vol. 24, iss. 3, pp. 330-341 https://mmi.sgu.ru https://doi.org/10.18500/1816-9791-2024-24-3-330-341, EDN: FDXFXL

Научная статья УДК 519.725

Конструкции некоторых схем разделения секрета на основе линейных кодов

С. М. Рацеев

Ульяновский государственный университет, Россия, 432017, г. Ульяновск, ул. Льва Толстого, д. 42

Рацеев Сергей Михайлович, доктор физико-математических наук, профессор кафедры информационной безопасности и теории управления, ratseevsm@mail.ru, https://orcid.org/0000-0003-4995-9418, AuthorlD: 662208

Аннотация. Среди пороговых схем разделения секрета существуют совершенные схемы со свойством идеальности (например, схема Шамира). Для случая схем разделения секрета с произвольной структурой доступа можно построить совершенную схему для любой структуры доступа (например, схему Ито - Саито - Нишизеки, схему Бенало - Лейхтера), но в общем случае такая схема свойством идеальности обладать уже не будет. В работе для некоторых классов структур доступа приводится конструкция совершенных схем разделения секрета со свойством идеальности на основе линейных кодов. Также приводится конструкция совершенных проверяемых схем разделения секрета для любой структуры доступа, для которой существует линейных код, реализующий эту структуру. Ключевые слова: криптография, линейный код, схема разделения секрета, структура доступа Для цитирования: Рацеев С. М. Конструкции некоторых схем разделения секрета на основе линейных кодов // Известия Саратовского университета. Новая серия. Серия: Математика. Механика. Информатика. 2024. Т. 24, вып. 3. С. 330-341. https://doi.org/10.18500/1816-9791-2024-24-3-330-341, EDN: FDXFXL

Статья опубликована на условиях лицензии Creative Commons Attribution 4.0 International (CC-BY 4.0) Article

Constructions of some secret sharing schemes based on linear codes

S. M. Ratseev

Ulyanovsk State University, 42 Leo Tolstoy St., Ulyanovsk 432017, Russia

Sergey M. Ratseev, ratseevsm@mail.ru, https://orcid.org/0000-0003-4995-9418, AuthorlD: 662208

Abstract. There are perfect and ideal threshold secret sharing schemes, for example, Shamir's secret sharing scheme. For the case of general secret sharing schemes with an arbitrary access structure, it is possible to construct a perfect scheme for any access structure (for example, the Ito - Saito - Nishizeki scheme, the Benaloh - Leichter scheme), but in general, such a scheme will not be an ideal secret sharing scheme. In the paper, for some classes of access structures, the construction of perfect and ideal secret sharing schemes based on linear codes is given. We also give a construction of perfect verifiable secret sharing schemes for any access structure for which there is a line code that implements this structure. Keywords: cryptography, linear code, secret sharing scheme, access structure

For citation: Ratseev S. M. Constructions of some secret sharing schemes based on linear codes. Izvestiya of Saratov University. Mathematics. Mechanics. Informatics, 2024, vol. 24, iss. 3, pp. 330-341 (in Russian). https://doi.org/10.18500/1816-9791-2024-24-3-330-341, EDN: FDXFXL This is an open access article distributed under the terms of Creative Commons Attribution 4.0 International License (CC-BY 4.0)

Введение

Одним из направлений исследований схем разделения секрета являются схемы, построенные на основе линейных кодов. Это связано с тем, что схемы разделения секрета на основе линейных кодов очень часто помимо свойства совершенности обладают также свойством идеальности, что является важной характеристикой при практической реализации этих схем. Схему разделения секрета назовем совершенной, если любая правомочная коалиция может восстановить секрет, при этом доли секрета любой неправомочной коалиции не дают никакой информации о секрете (в теоретико-информационном смысле). Схема разделения секрета обладает свойством идеальности, если размер секрета и размеры долей секрета совпадают.

Взаимосвязь между схемами разделения секрета и корректирующими кодами первыми заметили Мак-Элис и Сарвате [1]. Они показали обобщение схемы разделения секрета Шамира с помощью кодов Рида - Соломона. Секретом является одна из компонент информационного вектора, а долями секрета — компоненты кодового вектора. В этом обобщении восстановление секрета можно интерпретировать как декодирование вектора, содержащего стирания (отсутствующие доли некоторых участников). Также в этом обобщении может быть рассмотрена ситуация, когда некоторые участники в процессе восстановления секрета предоставляют заведомо некорректные доли. В этом случае можно применить алгоритм декодирования для случая стираний и ошибок. Ренвалл и Динг обобщили эту конструкцию для любого линейного кода [2]. В этом случае кодирование информационного вектора, содержащего компоненту, равную значению секрета, происходит на основе порождающей матрицы кода, а компоненты кода являются долями секрета. Если линейный код является кодом МДР, то полученная конструкция является пороговой схемой разделения секрета со свойствами идеальности и совершенности. Похожая конструкция приводится в работе Динга с соавт. [3]. Здесь исследуются схемы разделения мультисекретов на основе линейных кодов. В этом случае весь информационный вектор (или его часть) является набором секретов, который при кодировании с помощью порождающей матрицы переходит в (кодовый) вектор, компоненты которого являются долями секрета.

Карнин с соавт. [4] привели конструкцию схем разделения секрета на основе линейных кодов, в которой секрет является частью не информационного вектора, а кодового. В этой конструкции компонента u0 = s кодового вектора u линейного [n + 1,к]-кода является секретом, а все остальные компоненты u1,..., un — долями секрета. Если линейный код является кодом МДР, то получается совершенная и идеальная пороговая схема разделения секрета. В работе [5] приводятся конструкции пороговых схем разделения секрета на основе кодов МДР, которые обобщают конструкцию Карнина и др. В этих конструкциях при восстановлении секрета возможно наличие участников с заведомо некорректными долями. В этом случае число собравшихся участников должно быть не менее 2t + k, где k — порог, t — число участников с некорректными долями.

В работах [6, 7] Месси показал взаимосвязь между монотонной структурой доступа и минимальными векторами дуального кода, у которых первая компонента равна 1. В работе [8] Танг с соавт. привели критерий существования линейного кода, реализующего монотонную структуру доступа для идеальной схемы разделения секрета на основе минимальных векторов дуального кода. В работе [9] приводятся схемы на основе линейных кодов с использованием линейных хэш-функций. Тенту с соавт. в работе [10] построили совершенную и идеальную иерархическую схему разделения секрета на основе кодов МДР.

Более подробную информацию о корректирующих кодах можно найти, например, в [11].

О криптосистемах со свойством совершенности, в частности о схемах разделения секрета, можно найти информацию, например, в [12].

Пусть Р = {1, 2,..., п} — конечное множество участников разделения секрета (для удобства изложения дальнейшего материала сопоставим участников с их номерами), Р — множество, состоящее из всех возможных непустых подмножеств множества Р, Я — множество, состоящее из подмножеств участников, которым разрешено восстановление секрета (правомочные коалиции), Z — множество, состоящее из подмножеств участников, которые не могут восстановить секрет (неправомочные коалиции). Структура доступа — разбиение Р = Я и Z. Структура доступа называется монотонной, если^все надмножества правомочных коалиций также входят в Я, т. е. если X е Я, X С У е Р, то У е Я. Коалицию X е Я называют минимальной правомочной коалицией, если У е Я всегда, когда выполнено строгое включение У С X. Множество минимальных правомочных коалиций из Я обозначается как Ятт и называется базисом Я. X е Z называют максимальной неправомочной коалицией, если У е Я всегда, когда выполнено строгое включение X С У. Множество максимальных неправомочных коалиций из Z обозначается как Zmax. Заметим, что множество Ятщ однозначно задает структуру доступа. Аналогично множество Zmax однозначно задает структуру доступа. Если структура доступа задается на основе Я или Ятт, то такую структуру доступа будем обозначать через Г. Любая (п, £)-пороговая схема разделения секрета — схема разделения секрета с п участниками для структуры доступа, в которой правомочными являются все коалиции, содержащие не менее £ участников, а все коалиции с меньшим числом участников — неправомочны.

1. Структуры доступа на основе линейных кодов

В [6,7] предложен метод построения структур доступа на основе минимальных векторов дуального кода к коду А. Если на основе дуального кода к заданному линейному коду А строится структура доступа, то будем ее обозначать через Г(А). Пусть А — некоторый [п + 1,к,^]-линейный код над конечным полем Р = СР(д) с порождающей матрицей С и проверочной матрицей Н, 5 е Р — секрет. Пусть номера ¿1 = 0, г2,..., ¿к, где 0 = ¿1 < ¿2 < ... < ¿к ^ п, образуют информационную совокупность. Это значит, что в матрице С столбцы с номерами ¿1, ¿2, • • •, ¿к линейно независимы, поэтому компоненты ио, ,..., щк определяют все компоненты кодового вектора щ. Определим щ0 = а компоненты щ2,... , е Р сгенерируем случайным (равновероятным) образом. На основе компонент ио, щ.2,..., щк вычислим кодовый вектор щ е А. Компоненты щ1, щ2,..., щп вектора щ будут являться долями секрета.

Пусть А^ — дуальный [п +1, п +1 — к, ]-код к коду А. Для кода А^ матрица Н является порождающей матрицей. Будем говорить, что вектор х покрывает вектор у, если для любого индекса г = 0,1,..., п из у = 0 следует х^ = 0. Определим понятие минимального кодового вектора кода А^. Ненулевой вектор х = (х0,х1,..., хп) е А^ называется минимальным кодовым вектором, если:

1) первая ненулевая компонента (считая слева направо) равна единице;

2) для любого ненулевого у е х = у, у которого первая ненулевая компонента равна 1, вектор х не покрывает вектор у.

Замечание 1. Заметим, что не существует двух различных минимальных кодовых векторов, у которых ненулевые компоненты имеют те же самые индексы. Действительно, пусть х, у — два таких вектора. Тогда ненулевой кодовый вектор х — у имеет меньший вес, нежели вес векторов х и у, причем векторы х и у покрывают вектор х — у. Пусть с е Р — значение первой ненулевой компоненты вектора х — у. Тогда вектор г = с-1 (х — у) является кодовым вектором, у которого первая ненулевая компонента равна 1. Причем х = г, у = г, х и у покрывают вектор г. Это противоречит минимальности векторов х и у.

Линейная оболочка, натянутая на множество всех минимальных кодовых векторов, совпадает с кодом А^. На самом деле имеет место более сильное утверждение.

Предложение 1 ([6]). Любой неминимальный кодовый вектор у является линейной комбинацией минимальных кодовых векторов, каждый из которых покрывается вектором у. При этом для любого ненулевого кодового вектора y найдется минимальный кодовый вектор x, у которого номер первой ненулевой компоненты (на которой стоит 1) совпадает с номером первой ненулевой компоненты вектора у, причем вектор у покрывает вектор x.

Для вектора x = (x0, x1,..., xn) обозначим

supp(x) = {i | 0 < i < n, xi = 0}.

Обозначим через Vo множество всех минимальных кодовых векторов u кода A^, у которых

u0 = 1:

V0 = {(1, ац,..., ain), (1, 0-21, • • •, a2n),...}.

Множество V0 не держится в секрете. Определим множество минимальных правомочных коалиций Rmin следующим образом. X е Rmin тогда и только тогда, когда для некоторого x е V0 выполнено X = supp(x) \ {0}.

Множество всех правомочных коалиций R определяется как множество всех надмножеств коалиций из Rmin, причем эти правомочные коалиции являются подмножествами в {1, 2, . . . , n}:

R = {X С {1, 2,..., n} | 3X е Rmin, X С X}.

Пусть X — некоторая правомочная коалиция. Для восстановления секрета сначала отыскивается минимальная правомочная коалиция, являющаяся подмножеством в X, а уже по долям секрета минимальной правомочной коалиции восстанавливается секрет s, используя множество V0. Если минимальная правомочная коалиция соответствует i-му вектору множества V0, то секрет определяется из равенства s + ai1 ui1 + ... + ainuin = 0, где uij — доли участников минимальной правомочной коалиции. Тем самым показано, что любая правомочная коалиция однозначно восстановит секрет.

Любая неправомочная коалиция восстановить секрет не сможет. Действительно, пусть uil,..., uim —доли некоторых участников, по которым секрет s можно восстановить. Тогда найдутся такие скаляры ail,..., aim е F, для которых s = u0 = ail uil + ... + aimuim. Поэтому из равенства

1 • uo - Oil • uil - ... - aim • uim = 0

следует, что вектор a = (1,..., —ail,..., — aim,...) принадлежит пространству A^, где скаляры ail,..., aim стоят на позициях соответственно i1,..., im. Из сказанного выше следует, что вектор а покрывает некоторый вектор из множества V0. Это значит, что коалиция участников {i1,..., im} является правомочной.

Заметим, что, помимо свойства совершенности, данная схема обладает свойством идеальности [6].

2. Структура доступа, связанная с разбиением множества участников

В данном разделе рассмотрим вопрос построения линейных кодов, которые определяют множества минимальных правомочных коалиций в виде декартова произведения подмножеств множества участников, т. е. простой случай, когда Rmin = X1 х ... х Xk. Следующий критерий отражает взаимосвязь множества V0 с проверочной матрицей G. Через [G]i будем обозначать i-й столбец матрицы G.

Предложение 2 ([8]). Пусть (u0, u1,..., un) е A, где u0 = s, G — порождающая матрица [n + 1, к]-линейного кода A над полем F. Коалиция участников X С {1,..., n} может восстановить секрет тогда и только тогда, когда столбец [G]0 является линейной комбинацией столбцов [G]i, i е X.

Пусть {1,..., п} = Х1 и ... и X; — некоторое разбиение множества {1,..., п}. Построим совершенную идеальную схему разделения секрета на основе кодов, для которой коалиция X С {1,..., п} является правомочной тогда и только тогда, когда X П X« = 0 для любого г = 1,..., к, т. е. коалиция X содержит хотя бы по одному участнику из каждого множества X«, г = 1,..., к. Для этого построим матрицу С размером к х (п + 1) над множеством {0,1} следующим образом. Столбец [С]о состоит из единиц. Элементы первой строки матрицы С с номерами г, г е Х1, равны единице, а остальные элементы (кроме элемента столбца [С]о) равны нулю. Аналогичным образом расставлены элементы в остальных строках. Например, если для любых г < з любой элемент множества Ха строго меньше любого элемента множества Х_7, то схематично матрица С примет такой вид:

С =

/11 ... 1 ... \ 1 1 ... 1 ...

V1 ... 1 ... 1/

(1)

Предложение 3. Пусть С — порождающая матрица указанного выше вида для [п+1, к]-линейного кода А над полем ^. Коалиция X С {1,...,п} является правомочной (т. е. может восстановить секрет) тогда и только тогда, когда X П X« = 0 для любого г = 1,..., п. Более того, множество минимальных правомочных коалиций является декартовым произведением множеств X1,..., Xk: = X1 х ... х Xk.

Доказательство. Применим критерий из предложения 2. Из вида (1) матрицы С понятно, что если столбец [С]о является линейной комбинацией некоторых других столбцов матрицы С, то в этой линейной комбинации для любого г = 1,..., к должен участвовать хотя бы один столбец [С]^, з е X«.

Обратно, возьмем по одному элементу з е X« из каждого множества X«, г = 1,..., к. Тогда [С]о = [С]Л + ... + . □

Пусть матрица С имеет вид (1). Обозначим па = IX«|, г = 1,...,к. В этом случае индексы 0,1, п1 + 1, п2 + 1,..., п^-2 + 1 образуют информационную совокупность линейного кода, порожденного матрицей С, так как столбцы матрицы С с данными номерами линейно независимы. Это значит, что компоненты ио, и1, иП1+1,. . ., иПк_2+1 однозначно определяют весь кодовый вектор и. Для этого сначала находится решение системы уравнений

(хо, Х1, . . . , Ж^-1 )([С]о, [С]1, [С]п1 +1,..., +1) = (ио, и, и„1 +1,..., и„к_2+1)

относительно неизвестных х. Таким решением будет

хо = и1, х1 = +1, . . . , = иПк_2 +1, = ио - (и1 + +1 + ... + иПк_2+1).

Теперь весь кодовый вектор определяется следующим образом:

и = = (ио, и1, . . . , иЬ ищ + 1,..., +l,..., ипк_2+1,..., ипк_2 +1,

2+

П1 "2 Пк_1

ио - (и1 + и„1 +1 + ... + иПк_2+1), . . . , ио - (и1 + и„1 + 1 + ... + иПк_2 + 1)).

4-V-'

«к

Пусть некоторая правомочная коалиция X хочет восстановить секрет Пусть X0 — некоторая минимальная правомочная коалиция, причем X0 С X. Если и«1,... ,и«к — доли участников коалиции Xо, то 5 = и«1 + ... + и«к. При этом доли любой неправомочной коалиции не дадут никакой информации о секрете, так как если в коалиции нет ни одного представителя из некоторого множества X«, то, варьируя неизвестную долю, можно получить любое значение секрета 5 из ^. Поэтому схема является совершенной. Идеальность схемы очевидна.

3. Построение линейного кода, реализующего структуру доступа

Рассмотрим вопрос о возможности построения линейного кода по заданной структуре доступа. Для этого на основе работы [8] определим матрицы С и Н.

Пусть А — линейный [п + 1,к]-код над полем Р, X С {1, 2, ...,п}. Напомним, что X является правомочной коалицией тогда и только тогда, когда найдется вектор V е А^, ^о = 1, для которого вирр^) С X и {0}. Это равносильно существованию такого минимального вектора и е У0, для которого вирр(щ) С X и {0}. Обозначим через Г(А) множество всех минимальных правомочных коалиций, определяемых на основе кода А. Получаем, что X — правомочная коалиция тогда и только тогда, когда X является надмножеством некоторой коалиции из Г(А).

Пусть Г = {X!,..., Xm} — некоторая совокупность непустых подмножеств в {1, 2,..., п}. Будем считать, что ни одно множество из Г не содержит другое множество из Г, т. е. Г = Ят1П. Также будем считать, что каждый участник 1, 2,. . . , п входит хотя бы в одно множество (коалицию) Xj. В этом случае Г определяет структуру доступа следующим образом: подмножество X С {1,... ,п} является правомочной коалицией тогда и только тогда, когда X является надмножеством некоторого множества из Г. При этом У С {1,...,п} является неправомочной коалицией тогда и только тогда, когда У не является надмножеством ни для одного множества из Г.

Пусть Г = , ...^то} — некоторая структура доступа (более точно — Г определяет структуру доступа, но иногда будем использовать такую терминологию), где XI С {1,..., п}, % = 1,..., т. Г можно представить в виде матрицы

Г

I Нц Н12 ... Н1п \

Н21 Н22 ... Н2п \ Нт1 Нт2 . . . Нтп )

где Н^- = 0 при j е X«, Н^- = 0 при j £ X«, ъ = 1,..., т, j = 1,..., п. В этом случае каждая строка матрицы Г характеризует соответствующее множество XI. На основе матрицы Г построим матрицу Н:

! 1 Нц Н12 ... Н1п \

1 Н21 Н22 ... Н2п

Н

1 Нт1 Нт2 . . . Нтп

(2)

т. е. к матрице Г добавили столбец из единиц, который будет являться столбцом с нулевым номером. У остальных столбцов будут номера 1, 2,..., п, которые соответствуют участникам разделения секрета. Через (Н)^ и [Н^- будем обозначать соответственно ¿-ю строку и j-й столбец матрицы Н. Заметим, что в матрице Н нет нулевых столбцов.

Теорема 1. Пусть Г = ,...,Xm} = Ятщ — некоторая структура доступа, Р — некоторое конечное поле. Составим на основе Г матрицу Н вида (2), в которой всем ненулевым элементам Н^ придадим некоторые конкретные значения из Р*. Пусть А^ — линейная оболочка над Р, натянутая на векторы-строки матрицы Н. Пусть У0 — множество минимальных кодовых векторов и кода А±, у которых и0 = 1. Равенство Г = Г(А) выполнено тогда и только тогда, когда множество У0 и множество строк матрицы Н равны.

Доказательство. Пусть на основе Г = ,..., Xm} = Ятт получены матрица Н, код множество У).

Если множество У0 и множество строк матрицы Н равны, то Ятт = Ятт(А). Так как множество минимальных правомочных коалиций полностью определяет структуру доступа, то исходная структура доступа Г и структура доступа, задаваемая кодом А, равны.

Обратно, пусть Г = Г(Л). Из построения кода Л± понятно, что множество строк матрицы Н является подмножеством в • Если бы в был вектор, которого нет среди строк матрицы Н, то, учитывая замечание 1, было бы выполнено строгое включение Г с Г(Л), что противоречит условию. □

В следующем утверждении приводится критерий неправомочной коалиции.

Предложение 4 ([8]). Пусть Л — линейный [п +1,к]-код над конечным полем Р. Множество Т с {1,..., п} является неправомочной коалицией тогда и только тогда, когда найдется кодовый вектор и = (и0,щ , ...,ип) е Л, для которого и0 = 1 и щ = 0 для любого г е Т.

Матрица (2) несет информацию о минимальных правомочных коалициях. На основе предложения 4 определим еще одну матрицу. Пусть Г = {Х1,..., Хт}. На основе Г определим ^тах = {У,..., У} — множество всех максимальных неправомочных коалиций. Учитывая критерий неправомочной коалиции из предложения 4, определим матрицу

С

1 1

011 021

012 022

\ 1 011

где 0ц = 0 при з е У*, 0^ = 0 при з £ У*.

012

01п 02п

\

01п /

(3)

Теорема 2 ([8]). Для заданной структуры доступа Г = {Х1 ,...,Хт} существует линейный код Л над конечным полем Р, определяющий структуру доступа Г = Г(Л), тогда и только тогда, когда система квадратных уравнений

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

т

О

имеет решение над полем Р для 0^, 3 £ Уг, Н^, з е Хг.

(4)

Пример 1. Пусть Г = {{1, 2, 3}, {1, 2, 4}, {1, 2, 5}} = Дтт. В этом случае £тах = {{1, 2}, {1, 3,4, 5}, {2, 3,4, 5}}. Найдем линейный код (если он существует), реализующий Г. Составим матрицы С и Н:

1 0 0 013 014 015 С = | 1 0 022 0 0 0 1 031 0 0 0 0

1 Н11 Н12 Н13 0 0 Н = 1 1 Н21 Н22 0 Н24 0 1 Н31 Н32 0 0 Н35

где все элементы 0^, Н^, кроме явно выписанных нулей, не равны нулю. Учитывая теорему 2, получаем такую систему уравнений:

1 + 013 Н13 = 0, 1 + 014 Н24 = 0, 1 + 015 Н35 = 0, 1 + 022 Н12 = 0, 1 + 022 Н22 = 0, 1 + 022 Н32 = 0, 1 + 031Н11 = 0, 1 + 031Н21 = 0, 1 + 031Н31 = 0.

Вычитая из 4-го уравнения по очереди 5-е и 6-е уравнения, получаем, что Н12 = Н22 = Н32 = = —0-21. Аналогичным образом из первых трех уравнений системы получаем Н13 = — 0-1,

Ь>24 = — д—1, ^35 = — д-1, а из последних трех — = Ь,21 = Ь,31 = — д-1. Поэтому данная система имеет решение над любым полем ^.

Возьмем, например, поле ^ = (2т) для некоторого фиксированного ш. Тогда в качестве матриц С и Н можно определить

10 0 111' С = 110 10 0 0 1 1 0 0 0 0

111100 Н = [1110 10 111001

Пусть А — линейная оболочка над полем ^, натянутая на векторы, являющиеся строками матрицы С. Получим [6, 3]-линейный код А, причем Г = Г(А).

4. Построение линейных кодов на основе некоторых структур доступа

Пусть Xо С {1, 2,..., п} — некоторое подмножество, причем Xо может быть пустым. Определим на множестве {1, 2,..., п} \ Xо разбиение вида

{1, 2,..., п} \ Xо = X! и X2 и ... и X™.

Рассмотрим структуру доступа Г = и X1, X0 и X2,..., X0 и X™}. Пусть каждый элемент множества X« строго меньше каждого элемента множества X, при г < 3. Пусть ^ — некоторое конечное поле. На основе Г составим матрицу Н вида (2), в которой ненулевым элементам придадим значение 1. Тогда схематично матрица Н примет такой вид:

Н

/11 ... 11 ... 1 ... 11 ... 1 1 ... 1 ...

11 ... 1

. . . 1 . . . 1

\

/

(5)

Столбец с номером 0 матрицы Н состоит из единиц. Далее следуют 1X01 столбцов, тоже состоящих из единиц. Напомним, что множество Xо может быть пустым (в отличие от множеств X1,. .. , X™). Серия единиц в г-й строке (за исключением первых 1X01 +1 столбцов из единиц) матрицы Н соответствует множеству X«, г = 1,..., ш. Например, матрица Н из примера 1 соответствует случаю X0 = {1, 2}, X1 = {3}, X2 = {4}, X3 = {5}.

Из (5) видно, что если для некоторого вектора и, являющегося линейной комбинацией строк матрицы Н, выполнено и0 = 1, то вектор и покрывает некоторую строку матрицы Н. Поэтому по теореме 1 выполнено Г = Г(А), где — линейная оболочка над ^, натянутая на векторы-строки матрицы Н.

Пусть /(X«) — значение максимального элемента множества X«, г = 1,...,ш. Индексы I = {0,1,..., п} \ {/), /^2),..., /(X™)} образуют информационную совокупность кода А. Поэтому компонентам и«, г е I, можно придавать произвольные значения поля ^, где и0 = 5 — значение секрета. А все остальные компоненты кодового вектора и вычисляются на основе компонент и«, г е I, по следующим формулам:

и/(х) = — № + ^), г = 1,...,ш,

где

$0 = ио + ^ и, = У

и,

ЗеХо

з ех\{/(х)}

г = 1,..., ш.

Пусть и«1,..., и«г — доли собравшихся участников некоторой минимальной правомочной коалиции. Тогда секрет 5 = и0 восстанавливается исходя из равенства и0 + и«1 + ... + и«г = 0.

Замечание 2. Если структура доступа задается с помощью множества минимальных правомочных коалиций, состоящих из двух коалиций, то этот случай подпадает под рассматриваемый в этом разделе случай, поскольку

{XI, Х2} = {(XI П Х2) и (XI \ Х2), (XI П Х2) и (Х2 \ XI)}.

Это значит, что для любой структуры доступа, которая задается на основе двух минимальных правомочных коалиций, существует совершенная схема разделения секрета со свойством идеальности.

Пример 2. Пусть Xo = {1, 2, 3}, X: = {4, 5}, X2 = {6, 7, 8}, Xз = {9,10},

г = № и XI, Xo и X2, Xo и Xз}.

В данном случае матрицы Н и С примут вид

11

С =

1 1 1 1 11

= (1 1 1 1 11

1 1 1 1

—1 1

—1 1

—1 1

0 —1 1

0 0 —1

0 0 —1

—1 1 1

—1 1 1

1

/

где вне выписанных чисел стоят нули. Пусть А — линейный [11, 8]-код над некоторым полем Р, порожденный матрицей С. В коде А выберем индексы 0, 1, 2, 3, 4, 6, 7, 9 в качестве информационной совокупности. Тогда кодовый вектор и на основе компонент ио, и, и2, из, и4, иб, и7, ид вычисляется следующим образом:

и = (ио = в, и1, и2, из, и4, и5 = — (ио + и1 + и2 + из + и4), иб, иу, и8 = —(ио + и: + и2 + из + иб + иу), ид, и^ = —(ио + и: + и2 + из + ид.

Компонента и передается участнику с номером г, г = 1,..., 10.

Предположим, что собрались вместе участники коалиции Xo и Xз = {1, 2, 3,9,10}. В этом случае секрет 5 = ио восстанавливается исходя из равенства ио + и + и2 + из + ид + и1о = 0.

Заметим, что приведенную выше структуру доступа можно обобщить. Пусть Zo, У1,. . ., Ур — некоторые попарно пересекающиеся по пустому множеству подмножества в {1,..., п}. Некоторые из данных множеств могут быть пустыми. Будем считать, что Zo является корнем дерева, У1,..., Ур — его непосредственные потомки. Пусть X11,..., X1nl — непосредственные потомки вершины У1. И так далее, Xp1,..., Xpnp — непосредственные потомки вершины Ур. При этом

{1,..., п} \ (Яо и у и ... и Ур) = X11 и ... и X1nl и ... и Xp1 и ... и X

РПр

— разбиение множества (которое стоит в левой части равенства). Рассмотрим структуру доступа

г = {^о и У1 и Xll,..., ^о и У1 и Xlnl,. ..,^о и Ур и Xpl,...,^о и Ур и Xpnp}.

1

1

В данном случае секрет s е F можно разделить следующим образом. Случайно равновероятно генерируются элементы u, i е I, кроме uo = s, где I = {0,1,..., n}\{f (Xn),..., f (X1ni),..., f (Xpi),..., f (Xpnp)}. Пусть

So = uo + ^^ uj, S« = ^^ uj, i = 1,...

j GZo jGY

Sij = ^ uk, i = 1,...,p, j = 1,...,п«.

kGXj\{f (Xij)}

Тогда

uf(X,,) = -(So + Si + Sij), i = 1,... ,p, j = 1,..., n.

Пусть собрались вместе участники правомочной коалиции Zo U Yi U Xj. Тогда значение секрета uo = s восстанавливается исходя из равенства

uo uj + ^2 uj + YI uk + uf (х,,) = (6)

jGZo jGY fcGXij\{f(Xij)}

Пусть T — некоторая неправомочная коалиция. Тогда (Zo U Yi U Xj) ^ T для любых i = 1,... j = 1,..., n. Зафиксируем i и j. Тогда либо Zo ^ T при Zo = 0, либо Yi ^ T при Yi = 0, либо Xij ^ T. Это значит, что в сумме (6) для нахождения uo не хватает некоторой компоненты us. Если в качестве значения us подставлять все значения поля F, то uo будет принимать все значения поля F. В силу произвольности индексов i и j получаем, что доли секрета любой неправомочной коалиции не дают никакой информации о секрете. Поэтому полученная схема является совершенной. Свойство идеальности схемы очевидно.

Приведенная структура доступа также легко может быть еще более обобщена.

5. Совершенные проверяемые схемы разделения секрета на основе линейных кодов

Рассмотрим ситуацию, когда участники разделения секрета, включая дилера D, не доверяют друг другу. Пусть p, q — большие простые числа, причем q — делитель числа p — 1, g — некоторый элемент мультипликативной группы поля GF(p)*, имеющий порядок q. Теперь линейные коды будут рассматриваться над полем GF(q). Пусть d е GF(q) — некоторый секретный случайный параметр, h = gd (mod p). Значения p, q, g, h являются открытыми параметрами.

Пусть Г — некоторая структура доступа, причем для некоторого линейного [n + 1,к]-кода над полем GF(q) выполнено Г = Г(А). Для разделения секрета s е GF(q) дилер находит вектор x = (xo, x1,..., xk-1), для которого u = xG = (uo, u1,..., un) (например, на основе компонент uil ,ui2 ,...,uik, где i1 = 0, i2 ,...,ik — некоторая информационная совокупность кода A), где s = uo, G — порождающая матрица кода A, генерирует случайным равновероятным образом вектор y = (yo, y1,..., Ук-1) и вычисляет вектор v = yG = (vo, v1?..., vn). В данной схеме i-й участник разделения секрета получит пару значений u, v, i = 1,..., n. Для проверки корректности долей секрета дилер D вычисляет значения

г« = gxihyi (mod p), i = 0,1,..., k — 1.

Эти значения являются открытыми и не хранятся в секрете.

Заметим, что г« = gxi(mod p). Предположим, что злоумышленник умеет вычислять дискретные логарифмы. Тогда ему известны значения d, x« + dyi, i = 0,1,..., k — 1. Так как все yi вычислялись случайным равновероятным образом, то известные значения не дадут никакой информации о x« (в теоретико-информационном смысле), i = 0,1,..., k — 1.

Каждый участник может произвести проверку корректности своей доли секрета. Если i-я доля корректна, i = 1,... ,n, то должно выполняться следующее сравнение:

rg1i • rg2i • ... • rf-1 = gUi hvi (mod p),

где g1i, . . ., gki — элементы i-го столбца матрицы G, которая не держится в секрете.

Модификация проверяемой СРС на эллиптических кривых. Пусть, как и ранее, q — некоторый достаточно большой простой делитель числа |Ep(a, b) |, где Ep(a, b) — эллиптическая кривая над полем GF(p) вида y2 = x3 + ax + b (mod p). Пусть некоторая точка P e Ep(a, b) имеет порядок q, d e GF(q) — некоторый секретный параметр, Q = [d]P — открытый параметр (точка эллиптической кривой).

Пусть u = xG, v = yG, где s = uo — секрет. В данном случае дилер D вычисляет значения Ri = [x^]P + [y^]Q e Ep(a, b), i = 0,1,..., k — 1. Эти значения являются открытыми и не хранятся в секрете. Теперь i-й участник разделения секрета может сделать проверку корректности доли. В этом случае должно выполняться равенство

[gii ]Ro + [g2i ]Ri + ... + [gki ]Rk-i = [u ]P + NQ.

Список литературы

1. McEliece R. J., Sarwate D. V. On sharing secrets and Reed-Solomon codes // Communications of the ACM. 1981. Vol. 24, iss. 9. P. 583-584. https://doi.org/10.1145/358746.358762

2. Renvall A., Ding C. The access structure of some secret-sharing schemes // Information Security and Privacy. ACISP 1996 / ed. by J. Pieprzyk, J. Seberry. Berlin, Heidelberg : Springer, 1996. P. 67-78. (Lecture Notes in Computer Science, vol. 1172). https://doi.org/10.1007/BFb0023288

3. Ding C., Laihonen T., Renvall A. Linear multisecret-sharing schemes and error-correcting codes // Journal of Universal Computer Science. 1997. Vol. 3, iss. 9. P. 1023-1036.

4. Karnin E. D., Greene J. W., Hellman M. E. On secret sharing systems // IEEE Transactions on Information Theory. 1983. Vol. 29, iss. 1. P. 35-41. https://doi.org/10.1109/TIT.1983.1056621

5. Pieprzyk J., Zhang X. M. Ideal threshold schemes from MDS codes // Information Security and Cryptology — ICISC 2002 / ed. by P. J. Lee, C. H. Lim. Berlin, Heidelberg : Springer, 2003. P. 253263. (Lecture Notes in Computer Science, vol. 2587). https://doi.org/10.1007/3-540-36552-4_18

6. Massey J. L. Minimal codewords and secret sharing // Proceedings of the 6th Joint Swedish-Russian Workshop on Information Theory. Molle, Sweden, 1993. P. 276-279.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7. Massey J. L. Some applications of coding theory in cryptography // Codes and Ciphers: Cryptography and Coding IV / ed. by P. G. Farrell. Essex, England : Formara Ltd., 1995. P. 33-47.

8. Tang C., Gao S., Zhang C. The optimal linear secret sharing scheme for any given access structure // Journal of Systems Science and Complexity. 2013. Vol. 26, № 4. P. 634-649. https: //doi.org/10.1007/s11424-013-2131-4

9. Cramer R., Damgard I. B., Dottling N., Fehr S., Spini G. Linear secret sharing schemes from error correcting codes and universal hash functions // Advances in Cryptology — EUROCRYPT 2015 / ed. by E. Oswald, M. Fischlin. Berlin, Heidelberg : Springer, 2015. P. 313-336. (Lecture Notes in Computer Science, vol. 9057). https://doi.org/10.1007/978-3-662-46803-6_11

10. Tentu A. N., Paul P., Venkaiah V. Ch. Ideal and perfect hierarchical secret sharing schemes based on MDS codes // Proceeding of International Conference on Applied and Computational Mathematics. Ankara, Turkey, 2012. P. 256-272.

11. Рацеев С. М. Элементы высшей алгебры и теории кодирования : учеб. пособие для вузов. Санкт-Петербург : Лань, 2022. 656 с. EDN: EPVGNW

12. Рацеев С. М. Математические методы защиты информации : учеб. пособие для вузов. Санкт-Петербург : Лань, 2022. 544 с. EDN: QZANSJ

References

1. McEliece R. J., Sarwate D. V. On sharing secrets and Reed-Solomon codes. Communications of the ACM, 1981, vol. 24, iss. 9, pp. 583-584. https://doi.org/10.1145/358746.358762

2. Renvall A., Ding C. The access structure of some secret-sharing schemes. In: Pieprzyk J., Seberry J. (eds.) Information Security and Privacy. ACISP 1996. Lecture Notes in Computer Science, vol. 1172. Berlin, Heidelberg, Springer, 1996, pp. 67-78. https://doi.org/10.1007/BFb0023288

3. Ding C., Laihonen T., Renvall A. Linear multisecret-sharing schemes and error-correcting codes. Journal of Universal Computer Science, 1997, vol. 3, iss. 9, pp. 1023-1036.

4. Karnin E. D., Greene J. W., Hellman M. E. On secret sharing systems. IEEE Transactions on Information Theory, 1983, vol. 29, iss. 1, pp. 35-41. https://doi.org/10.1109/TIT.1983.1056621

5. Pieprzyk J., Zhang X. M. Ideal threshold schemes from MDS codes. In: Lee P. J., Lim C. H. (eds.) Information Security and Cryptology — ICISC 2002. ICISC 2002. Lecture Notes in Computer Science, vol. 2587. Berlin, Heidelberg, Springer, 2003, pp. 253-263. https://doi.org/10.1007/3-540-36552-4_ 18

6. Massey J. L. Minimal codewords and secret sharing. Proceedings of the 6th Joint Swedish-Russian Workshop on Information Theory. Molle, Sweden, 1993, pp. 276-279.

7. Massey J. L. Some applications of coding theory in cryptography. In: Farrell P. G. (ed.) Codes and Ciphers: Cryptography and Coding IV. Essex, England, Formara Ltd., 1995, pp. 33-47.

8. Tang C., Gao S., Zhang C. The optimal linear secret sharing scheme for any given access structure. Journal of Systems Science and Complexity, 2013, vol. 26, iss. 4, pp. 634-649. https: //doi.org/10.1007/s11424-013-2131-4

9. Cramer R., Damgard I. B., Dottling N., Fehr S., Spini G. Linear secret sharing schemes from error correcting codes and universal hash functions. In: Oswald E., Fischlin M. (eds.) Advances in Cryptology — EUROCRYPT 2015. Lecture Notes in Computer Science, vol. 9057. Berlin, Heidelberg, Springer, 2015, pp. 313-336. https://doi.org/10.1007/978-3-662-46803-6_11

10. Tentu A. N., Paul P., Venkaiah V. Ch. Ideal and perfect hierarchical secret sharing schemes based on MDS codes. Proceeding of International Conference on Applied and Computational Mathematics. Ankara, Turkey, 2012, pp. 256-272.

11. Ratseev S. M. Elementy vysshey algebry i teorii kodirovaniya [Elements of Higher Algebra and Coding Theory]. St. Petersburg, Lan', 2022. 656 p. (in Russian). EDN: EPVGNW

12. Ratseev S. M. Matematicheskie metody zashchity informatsii [Mathematical Methods of Information Security]. St. Petersburg, Lan', 2022. 544 p. (in Russian). EDN: QZANSJ

Поступила в редакцию / Received 24.02.2023 Принята к публикации / Accepted 25.04.2023 Опубликована / Published 30.08.2024

i Надоели баннеры? Вы всегда можете отключить рекламу.