Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Протоколы защищенных вычислений на основе линейных схем разделения секрета. Учебное пособие
.pdf
Министерство науки и высшего образования
Российской Федерации
Ростов-на-Дону – Таганрог
Издательство Южного федерального университета
2020
Федеральное государственное автономное
образовательное учреждение высшего образования
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Ю. В. Косолапов
Протоколы защищенных
вычислений на основе
линейных схем разделения
секрета
Учебное пособие

УДК 003.26:512.64(075.8)
ББК 22.18я73
К71
Печатается по решению кафедры алгебры и дискретной математики
Института математики, механики и компьютерных наук им. И. И. Воровича
Южного федерального университета
(протокол № 11 от 08 апреля 2019 г.)
Рецензенты:
доктор физико-математических наук, профессор кафедры алгебры и дис-
кретной математики Института математики, механики и компьютерных
наук им. И. И. Воровича Южного федерального университета
В. А. Скороходов;
кандидат технических наук, доцент, главный инженер ООО «Стэл Юг»
А. В. Балакин
К71
Косолапов, Ю. В.
Протоколы защищенных вычислений на основе линейных схем
разделения секрета : учебное пособие / Ю. В. Косолапов ; Южный федеральный университет. – Ростов-на-Дону ; Таганрог : Издательство
Южного федерального университета, 2020. – 112 с.
ISBN 978-5-9275-3317-6
Учебное пособие посвящено вопросам построения криптографических протоколов для защищенных вычислений на основе схем разделения секрета. В нем
представлены, по большей части, линейные схемы разделения секрета (ЛСРС).
В частности, рассмотрены мультипликативные и строго мультипликативные
ЛСРС, которые используются в протоколах защищенных вычислений, устойчивых к пассивным и активным нарушителям.
Настоящее пособие содержит материал, входящий в учебную программу
курса «Криптографические протоколы», изучаемого студентами по направлению
подготовки «Прикладная математика и информатика», специализирующимися в
области защиты информации.
УДК 003.26:512.64(075.8)
ББК 22.18я73
ISBN 978-5-9275-3317-6
© Южный федеральный университет, 2020
© Косолапов Ю. В., 2020
© Оформление. Макет. Издательство
Южного федерального университета, 2020

Îãлавление
Óсловные обозначения
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Ãëàâà 1. Ïредварительные сведения
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.1. Введение
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.2. Матрицы è ëèíåéíûå операторы
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.3. Криптографические õеш-функции
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.4. Элементы теории информации
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.5. Линейные êîäû
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.6. Íåîòличимость
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
Вопросы è задания äëÿ самопроверки
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
Ãëàâà 2. Ïримитивные криптографические протокîëû
. . . . . . . . . . . . . . .
21
2.1. Ñõåìà вручения îáязательстâà
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.1.1. Определение
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.1.2. Ñõåìû вручения îáязательств íà линейных êîäàõ
. . . . . . . . . . . . .
24
2.2. Äîêазательство ñ íóлевым ðàçãлашением
. . . . . . . . . . . . . . . . . . . . . . .
26
2.2.1. Определение
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
2.2.2. Протокîë идентификàöèè Штерна
. . . . . . . . . . . . . . . . . . . . . . . .
28
2.3. Ñõåìû разделения секретà
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
2.3.1. Определение
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
2.3.2. Ñõåìà Шамира
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
2.4. Забывчивая переда÷à
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
2.4.1. Определение
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
2.4.2. Забывчивая переда÷à îдного áèòà èçmсекретных битов
. . . . . . . .
38
2.5. Канал ñ перехватом
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
Вопросы è задания äëÿ самопроверки
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
Ãëàâà 3. Ëинейные ñõåìû разделения секретà
. . . . . . . . . . . . . . . . . . . . .
42
3.1. Определение линейной ñõåìû разделения секретà
. . . . . . . . . . . . . . . . .
42
3.2. Ðеплицированная ÑÐÑ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
3.3. Связь ïîðîждающих программ è линейных êîäîâ
. . . . . . . . . . . . . . . . .
51
3.4. Выявление активных нарушителей â îдномерных ËÑÐÑ
. . . . . . . . . . . . .
57
3

Îãлавление
3.5. Линейные ÑÐÑ ñ óìíîæением (частный случай)
. . . . . . . . . . . . . . . . . .
58
3.6. Линейные ÑÐÑ ñ óìíîæением, построенные íà основе êîäîâ
. . . . . . . . . .
61
3.7. Проверяемые ÑÐÑ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
3.8. Проверяемая ÑÐÑ Фельдмана
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
Вопросы è задания äëÿ самопроверки
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
Ãëàâà 4. Протокîëû многосторонних вычислений
. . . . . . . . . . . . . . . . . . .
68
4.1. Протокîë защищенного ñëîæåíèÿ
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
4.2. Протокîë защищенного óìíîæåíèÿ äâóõ чисел
. . . . . . . . . . . . . . . . . . .
71
4.3. Протокîë вычисления арифметичесêèõ выражåíèé
. . . . . . . . . . . . . . . .
74
4.3.1. Протокîë вычислений
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
4.3.2. Ñõåìàòè÷íûé анализ протокîëà
. . . . . . . . . . . . . . . . . . . . . . . . .
78
4.4. Протокîë защищенных вычислений äëÿ обобщенной ËÑÐÑ
. . . . . . . . . .
79
4.4.1. Î существовании ìóëüтипликативных ÑÐÑ
. . . . . . . . . . . . . . . . .
82
4.4.2. Обобщенный протокîë вычислений арифметических выражåíèé
. . .
84
4.4.3. Î строении ìóëüтипликативных ÑÐÑ полиномиального размера
. . .
86
4.5. Защищенное âû÷èñëåíèå íà основе êанала ñ перехватом
. . . . . . . . . . . . .
89
Вопросы è задания äëÿ самопроверки
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
92
Ãëàâà 5. Ïротокîë многосторонних вычислений, óстойчивый ê àктивным
нарушителям
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
5.1. Базовые протокîëû
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
5.2. Ðеализация вручения îáязательства íà основе ËÑÐÑ
. . . . . . . . . . . . . . .
95
5.3. Ïîяснение протокîëà вручения îáязательства
. . . . . . . . . . . . . . . . . . . .
98
5.4. Протокîë CTP
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
5.5. Протокîë óìíîæåíèÿ ñ îáязательсòâîì
. . . . . . . . . . . . . . . . . . . . . . . . .
100
5.6. Протокîë, óстойчивый ê активным нарушителям
. . . . . . . . . . . . . . . . . .
101
Вопросы è задания äëÿ самопроверки
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
103
Ãëàâà 6. Èндивидуальные задания
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
104
6.1. Линейные ñõåìû разделения секретà
. . . . . . . . . . . . . . . . . . . . . . . . . .
104
6.2. Защищенные вычислеíèÿ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
106
Литература
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
108
4

Óсловные обозначения
• N
ìíîæество натуральных чисел;
• Zm êольцо вычетов ïî ìîäóëþ
m(∈ N)
;
• A∗ счетное ìíîæество âñåõ возмоæíûõ ñëîâ (строк), ñîñòавленных
èç символов êонечного алфавитàA;
• |A|
мощность ìíîæестваA;
• 2A ìíîæество âñåõ ïîäìíîæåñòâ ìíîæестваA;
• a ∈RA
равновероятный выбор элементàaèç ìíîæестваA;
• [n]
ìíîæество натуральных чисел â äèàïазоне îò1äîn;
•
åñëè
A ⊆ [n]
, òî
A = [n] \ A
дополнение ìíîæестваA;
• Fq ïîëå Ãàëóà мощностиq, ãäåq степень простого числа;
• Kn линейное пространство íàä полемK;
• dim(V )
размерность пространстваV;
• x
вектор
x = (x1, ..., xn) ∈ F
n
q
;
• supp(x)
носитель
x = (x1, ..., xn),supp(x) = {i ∈ [n]: xi6= 0}
;
• wt(x)
âåñ Хэммингà вектораx,
wt(x) = |supp(x)|
;
• ρ(x, y)
расстоÿíèå Õýììèíãà междуxèy,
ρ(x, y) = wt(x − y)
;
• AT транспонированная матрицаA;
• A|τ матрица, ñîñòàâëåííàÿ èç столбцов матрицыAñ номерами èç
ìíîæестваτ, åñëè
τ = {i}
, òî вместо
A|
{i}
áóäåì писать
Ai;
• A|τ матрица, ñîñòавленная èç строк матрицыAñ номерами èçτ,
åñëè
τ = {i}
, òî вместо
A|
{i}
áóäåì писать
Ai;
• L(A)
линейная оболочкà, íàòÿíóòàÿ íà строки матрицыA;
• rank(A)
ðàíã матрицыA;
• Ik единичная
(k × k)
-матрица;
• V + W
сумма ïîдпространств
V (⊆ F
n
q
)èW (⊆ F
n
q
)
;
• [n, k, d]q-êîä линейный êîä размерностиk, длиныnñ минимальным
расстояниемd;
5

Óсловные обозначения
• GC,
HC ïîðîæäàþùàÿ è проверочная матрица êîäàC;
• DecC äåêîäåð линейного
[n, k, d]q-êîäàC, ïðè ýòîì
DecC(z) ∈ C ∪
{err}
äëÿ âñåõ
z ∈ F
n
q
, ãäå
err
сообщение îá ошибкå äåêîдирования;
• Dec
G
C
äåêîäåð линейного
[n, k, d]q-êîäàC, ïðè ýòîì äëÿ âñåõ
z ∈ F
n
q
выполняетсÿ
DecC(z) ∈ F
k
q
∪{err}
, ãäå
err
сообщение îá ошибкå
äåêîдирования (òàêîé äåêîäåð зависит îò ïîðîждающей матрицы
GC);
• Sn симметрическàÿ ãðóïïà ïîäñòановок, действующая íà
[n]
;
• PAut(C)
группа перестановочных автоморфизмов
[n, k, d]q-êîäàC,
PAut(C) ⊆ Sn;
• (a|b)
êîíêатенация векторовaèb;
• (a, b)
ñêалярное произведение векторовaèb;
• a?b
ïîêомпонентное произведение
a = (a1, ..., an)èb = (b1, ..., bn)
,
a ? b = (a1b1, ..., anbn)
;
• (A|B)
приписывание матрицыBсправа ê матрицеA;
• A⊗ B
тензорное произведение матрицы
A = (a
i,j
)
размера
(k1×n1)
è матрицыBразмера
(k2× n2)
,
A ⊗ B =
a
1,1
B ... a
1,n
B
a
2,1
B ... a
2,n
B
... ... ...
a
k,1
B ... a
k,n
B
;
• O
íóлевая матрица, размер определяетсÿ èç êонтекñòà;
•
n
k
число сочетàíèé èçnïîk;
• pX(x) = Pr{X = x}
âåðîятность ïîявления çíàченияxслучайной
величиныX; åñëè èç êонтекñòà ÿñíî, î êàêîé случайной величине èäåò
ðå÷ü, òî вместо
pX(x)
áóäåì писать
p(x)
;
• dae
äëÿ
a ∈ R
обозна÷àåò áëèæайшее целое ñâåðõó;
• bac
äëÿ
a ∈ R
обозна÷àåò áëèæайшее целое снизу;
• im(A)
образ линейного оператора:
im(A) = L(AT)
;
• ker(A)
ÿäðî линейного оператора:
ker(A) = {x: AxT= 0}
.
• A(⊆ P )
дополнениеAäî
P: A = P \ A
.
6

Ãëàâà 1
Предварительные сведения
1.1. Введение
Защищенные многосторонние вычисления позволяют ìíîæеству участ-
íèêîâ (êоалиции) совместно вычислить произвольную ôóíêöèþ îò àðãó-
ментов, владельцами êоторых являютсÿ ýòè участниêè. Ïðè ýòîì çíàчение
аргументà êаждого участникîâ íå раскрываетсÿ другим участникàì. Íà-
пример, участники êоалиции могут вычислить средний ïî êоалиции óðî-
âåíü заработной платы, îäíàêî êаждый èç участникîâ íå раскрывает ñâîþ
заработную плату. Другим распространенным примером защищенных âû-
числений являетсÿ процедура òайного голосования, êîãäà ó÷àñòíèêè êîàëè-
öèè ìîãóò узнать êоличество голосов ¾çà¿ è êоличество голосов ¾против¿,
íå раскрывая çíàчение голоса êаждого èç участникîâ.
 пособии рассматриваютсÿ протокîëû ìногосторонних вычислений, îñ-
нованные íà применении линейных ñõåì разделения секретà (ËÑÐÑ).
1.2. Матрицы è линейные операторы
Íàì понадобÿòñÿ понятия линейного оператора è åãî матрицы. Приве-
äåì соответствующие определения èç [1].
Определение 1.
Îïåðàòîð
A : V → W
, отображающий прострàí-
ñòâî
K
m
â пространство
K
n
, называется линейным, åñëè äëÿ любых
x, y ∈ Kmè любого
α ∈ K
A(x + y) = Ax + Ay, A(αx) = αA(x).
Определение 2.
Пусть
A: V → W
линейный îïåðàòîð,
e1,...,
enè
7

Ãëàâà 1. Предварительные сведения
g1,...,
gm зафиксированные áазисы â пространствахVèW, ïðè ýòîì
g1= a
1,1e1
+ ... + a
1,nen
...
gm= a
m,1e1
+ ... + a
m,nen
.
Матрица
A = (a
i,j
)
i∈[m],j∈[n]
называется матрицей îïåðàòîðàA.
Лемма 1.
ПустьM
(d×e)
-матрица линейного îïåðàòîðà, действу-
ющего èç
F
e
q
â
F
d
q
. Åñëè
(1, 0, ..., 0) 6∈ im(MT)
, òî â ÿäðå
ker(M)
найдется
такой вектор
x = (x1, ..., xe)
, ÷òî
x16= 0
.
Доказательство.
Предполоæèì, ÷òî â
ker(M)
âñå векторы òàêèå, ÷òî
èõ первая êîîðдинатà равна0. Èç определения ортогонального дополнения
(ñì., например, [1, c. 233]) получаем
(ker(M))⊥= {y ∈ F
e
q
|∀x ∈ ker(M): (y, x) = 0}.
Èç óсловия леммы вытекàåò, ÷òî
(1, 0, ..., 0) ∈ (ker(M))⊥. Òàê êàê äëÿ ëþ-
áîãî линейного оператора выполняетсÿ равенство
ker(M) = (im(MT))⊥,
òî получаем
(1, 0, ..., 0) ∈ im(MT),
÷òî привоäèò ê противоречию.
Лемма 2.
Пусть
v1= (v11, ..., v1n), v2= (v21, ..., v2n) ∈ F
n
q
. Òîãäà
L(v1) ⊗ L(v2) = L(v1⊗ v2).
Доказательство.
Очевидно, ÷òî
L(v1⊗ v2) ⊆ L(v1) ⊗ L(v2).
Ïîêàæåì, ÷òî êаждый вектор èç
L(v1) ⊗ L(v2)
ñîäåðæèòñÿ â
L(v1⊗ v2)
.
Ïóñòü
c ∈ L(v1)⊗L(v2)
. Òîãäà ýòîò вектор имеет âèä
c = (a1v1)⊗(a2v2)
äëÿ
íåêоторых
a1, a2∈ Fq. Èç определения тензорного произведениÿ векторов
получаем
(a1v1) ⊗ (a2v2) =
= (a1v11a2v21, ..., a1v11a2v2n, ..., a1v1na2v21, ..., a1v1na2v2n) =
= a1a2(v11v21, ..., v11v2n, ..., v1nv21, ..., v1nv2n) =
= a1a2(v1⊗ v2) ∈ L(v1⊗ v2).
Îòêóäà вытекàåò äîêазываемое утверждение.
8

1.3. Криптографические õеш-функции
Определение 3.
Квадратная
(l × l)
-матрица
A = (a
i,j
)
называется
симметричной, åñëè
a
i,j
= a
j,i
äëÿ âñåõ
i, j ∈ [n]
.
Упражнение 1.
Покажите, ÷òî äëÿ симметричной матрицыAâû-
ïîлняется ðавенство
A = AT.
Упражнение 2.
Пусть
a = (a1, ..., ae)
вектор. Покажите, ÷òî
матрица
A =
a1a
a2a
. . .
aea
является симметричной.
Очевидно, ÷òî åñëèAèB симметричные
(e× e)
-матрицы, òî матрица
αA+βB
являетсÿ симметричной äëÿ любых элементов êольца, íàä êоторым
определены ýòè матрицы.
1.3. Криптографические õеш-функции
Определение 4.
Функция
h: {0, 1}∗→ {0, 1}k, отображающая ñòðî-
êó битов произвольной длины â строку битов фиксированной длиныk, íà-
зывается
õåø
-функцией. Ôóнкцияhназывается
криптографической
,
åñëè значение
h(x)
äëÿ любой строки
x ∈ {0, 1}∗может áûòü вычисëåíî
çà ïîëèíîмиальное ÷èñëî îïåðàöèé îò длины строкиxè ïðè ýòîì âûïîë-
няются ñледующие ñâîéñòâà:
•
устойчивость ê нахождению прообрàçà
: äëÿ заданной строки
y ∈ {0, 1}kвычисëèòåëüíî ñложно найти
x ∈ {0, 1}∗, ÷òî
h(x) = y
;
•
устойчивость ê нахождению второго прообрàçà
(ñëàáàÿ
устойчивость ê êîëëèçèÿì): äëÿ заданной строки
x ∈ {0, 1}∗вычис-
ëèòåëüíî ñложно найти такую строку
x0∈ {0, 1}∗, íå ðавнуюx, ÷òî
h(x) = h(x0)
;
•
устойчивость ê êîëлизиям
(сильная устойчивость ê êîëëè-
çèÿì): вычисëèòåëüíî ñложно найти такие ðазные строки
x, x0∈
{0, 1}∗, ÷òî
h(x) = h(x0)
.
Упражнение 3.
Покажите, ÷òî ñëàáàÿ устойчивость ê êîëлизиям
ñледует èç ñильной устойчивости ê êîëлизиям.
9

Ãëàâà 1. Предварительные сведения
1.4. Элементы теории информации
Ðàñсмотриì дискретную случайную âåëè÷èíóX, принимающую çíà÷å-
íèÿ èç êонечного ìíîæестваX,
p(x) = Pr{X = x}
априорная âåðîятность
ïîявления çíàченияxýòîé случайной величины. Набор
(p(x))
x∈X
называетсÿ распределением âåðîятностей ñëó÷айной величиныX.
Определение 5.
Энтропией (ïî Шеннону) ñлучайной âåличиныXíà-
зывается âåличина
H(X) = −
X
x∈X
p(x) log2p(x).
Определение 6.
ПустьX,Y äèñêðåòíûå ñлучайные âåличины ñ
множествами значенèéX,Yè ðàñïðåäåлениями вероятностей
(p(x))
x∈X
,
(p(y))
y∈Y
соответственно. Óñловной энтропией ñлучайной âåличиныXïî-
ñëåYназывается âåличина:
H(X|Y ) = −
X
x∈XXy∈Y
p(x, y) log2p(x|y),
à взаимной информацией называется âåличина:
I(X; Y ) = H(X) − H(X|Y ) = H(Y ) − H(Y |X) = I(Y ; X).
Äëÿ случайных величинXèYсправедливы следующие свойства:
• 0 6 H(X) 6 log2|X |
;
• 0 6 I(X; Y ) 6 min{log2|X |, log2|Y|}
;
• H(X) = log2|X |
, åñëèX равновероятная случайная величина;
•
åñëèXèY независимые, òî
H(X|Y ) = H(X)(H(Y |X ) = H(Y )
) è
I(Y ; X) = I(X ; Y ) = 0
.
1.5. Линейные êîäû
Приведем íåîáõîдимые сведения î линейных êîäàõ.
Определение 7.
Линейным
[n, k, d]q-êîäîìCназывается подпрострàí-
ñòâî ýôфективной длиныnè ðазмерносòèkлинейного пространства
F
n
q
,
такое, ÷òî
min
c∈C\{0}
{wt(c)} = d, | ∪
c∈C
supp(c)| = n.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
