ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ INFORMATION TECHNOLOGY, COMPUTER
SCIENCE, AND MANAGEMENT
УДК 003.26 10.23947/1992-5980-2017-17-3-145-155
Алгоритмическая оценка сложности системы кодирования и защиты информации,
основанной на пороговом разделении секрета, на примере системы
*
электронного голосования*
4**
Л. В. Черкесова1, О. А. Сафарьян2, А. В. Мазуренко3, Н. С. Архангельская
1, 2. з. 4 Донской государственный технический университет, г. Ростов-на-Дону, Российская Федерация
Complexity calculation of coding and information security system based on threshold secret sharing scheme used for electronic voting***
L. V. Cherkesova1, O. A. Safaryan2 , A. V. Mazurenko3, N. S. Arkhangelskaya4**
1 2- 3- 4 Don State Technical University, Rostov-on-Don, Russian Federation
Введение. Одной из задач криптографии является обеспечение безопасного и честного проведения электронного голосования. При такой процедуре избиратели подают голоса в электронном виде — например, через электронные терминалы. В работе предложен новый алгоритм порогового разделения секрета для проведения электронного голосования. Материалы и методы. При решении поставленной исследовательской задачи использованы теория конечных полей, теория алгоритмов, проективная геометрия и линейная алгебра. Разработанная криптосистема основана на применении геометрических объектов из проективной геометрии, что позволяет задействовать аппарат линейной алгебры для эффективного решения криптографических задач. Для оценки сложности работы описанных алгоритмов использованы классические результаты из теории алгоритмов. Результаты исследования. В работе описаны криптографические алгоритмы разделения секрета и его последующего восстановления, основанные на использовании особенностей построения проективных пространств над конечными полями и их связи с полями Галуа подходящего порядка. Подробно описаны составные части данных алгоритмов, а именно: метод построения инъективного отображения, действующего из кольца вычетов по простому модулю в проективное пространство над конечным полем определенной размерности; способ генерации секретных долей и секрета; процедура разделение секрета и его последующего восстановления. Приведены алгоритмические оценки временной сложности описанных формальных алгоритмов.
Обсуждение и заключения. Предложенная схема может быть применена для проведения электронных выборов, а также в иных областях, где естественным образом возникает необходимость в применении методов пороговой криптографии.
Ключевые слова: криптография, электронное голосование, пороговая криптография, разделение секрета, криптосистема Эль-Гамаля, криптосистема с открытым ключом, криптографический секрет, криптографический алгоритм, информационная безопасность, криптографический ключ
Introduction. One of the tasks arising in cryptography is to ensure the safe and honest conduct of e-voting. This procedure provides that voters submit their votes electronically - for example, through electronic terminals. A new algorithm for the distribution of threshold sensitive data for electronic voting is proposed. Materials and Methods. The results are obtained on the basis of the following methodology: finite field theory, theory of algorithms, projective geometry, and linear algebra. The developed cryptosystem is based on the application of geometric objects from projective geometry which makes it possible to use the apparatus of linear algebra to make effective decisions on cryptographic problems. To estimate the complexity of the described algorithms, classical results from the theory of algorithms are applied. Research Results. This paper describes the cryptographic algorithms of secret sharing and its subsequent restoration based on special structural properties of projective spaces over finite fields, and their link with Galois fields of the appropriate order. The component parts of these algorithms, specifically, the construction of injective mapping from a residue ring prime modulo into the projective space over finite field of specific dimension; the generation of secret shares and secret; the procedure of secret sharing and its restoration, are described in great detail. The algorithmic time complexity calculations of the formal algorithms are given. Discussion and Conclusions. The described scheme is useful for electronic voting and in other spheres where methods of threshold cryptography are applied.
Keywords: cryptography, electronic voting, threshold cryptography, secret sharing, ElGamal encryption system, public-key cryptography, cryptographic secret, cryptographic algorithm, information security, cryptographic key.
Работа выполнена в рамках инициативной НИР.
E-mail: [email protected], [email protected], [email protected], [email protected] The research is done within the frame of the independent R&D.
(U S X <u
и
eö Л
G
^
IS
eö «
IS
X
*
(U
H «
eö X Л
(U H IS
о
IS
E 3 и
eö И
IS
eö
S a о
X
S
Образец для цитирования: Черкесова, Л. В. Алгоритмическая оценка сложности системы кодирования и зашиты информации, основанной на пороговом разделении секрета, на примере системы электронного голосовани / Л. В. Черкесова, О. А. Сафарьян, А. В. Мазуренко, Н. С. Архангельская // Вестник Дон. гос. техн. ун-та. — 2017. — Т.17, № 3. — С. 145-155.
Введение. Одной из задач, которые возникают в криптографии, является обеспечение безопасного и честного проведения электронного голосования. Такая процедура предусматривает, что избиратели подают голоса в электронном виде — например, через электронные терминалы. Это ключевое отличие электронного голосования от традиционных выборов, в ходе которых избиратели заполняют бюллетени на избирательных участках, а подсчет голосов осуществляется избирательными комиссиями вручную. До недавнего времени электронное голосование рассматривалось как теоретическая задача в области криптографии. Однако в последние несколько лет положение дел изменилось. В США и в странах Европейского Союза активно обсуждаются возможности проведения президентских выборов и выборов в парламенты этих государств с использованием электронных систем.
В созданной ранее криптосистеме [1] описан алгоритм порогового разделения секрета для проведения электронного голосования. В криптосистеме [1] можно выделить три вида участников: проверяющие, избиратели и администратор. Администратор генерирует закрытый и публичный ключи согласно усиленному варианту схемы Эль-Гамаля [2, 3]. Закрытый ключ разбивается на секретные доли, которые распределяются между проверяющими, состоящими в одной команде. Для каждой команды проверяющих создаются свои уникальные секретные доли. Далее избиратели голосуют за одну из кандидатур и зашифровывают свой «голос» при помощи открытого ключа. Зашифрованное сообщение отправляется на сервер, доступ к которому имеют только проверяющие. После завершения голосования команды проверяющих распределяют между собой шифротексты, восстанавливают секретный ключ и дешифруют принятые от избирателей сообщения. В результате все команды предоставляют дешифрованные голоса, суммируют их и объявляют результаты выборов. Сложность взлома построенной криптосистемы эквивалента сложности решения общепризнанно трудной задачи принятий решения Диффи-Хеллмана в некоторой циклической Абелевой группе [4-7].
Алгоритмы порогового разделения секрета встречаются, например, в [8].
Актуальность данной статьи определяется необходимостью оценить сложность построенной криптосистемы в [1], что, в свою очередь, позволит выяснить, является ли данная система потенциально привлекательной для использования на практике.
Постановка задачи. Авторы ставят задачу описания формальных алгоритмов, необходимых для реализации метода разделения секрета, представленного в [1]. Кроме того, будет дана временная оценка сложности описанных алгоритмов.
Основная часть. Предположим, администратор сгенерировал некоторый секретный ключ. На основе секрета ему необходимо создать секретные доли, которые будут распределены между участниками. Поскольку секрет является элементом некоторого кольца вычетов по простому модулю, то сначала необходимо построить инъективное отображение из этого кольца в проективное пространство над конечным полем определенной размерности. Сопоставив секрету точку проективного пространства, администратор строит некоторую проективную прямую, проходящую через эту точку. Данная прямая публикуется. Затем администратор строит проективное подпространство, которое пересекает известную прямую ровно в одной точке, причем это та самая точка, которая соответствует секрету. Размерность построенного подпространства равна количеству участников в команде проверяющих минус один. Далее в рассматриваемом проективном подпространстве выделяется система проективно независимых точек, причем их количество совпадает с количеством проверяющих, и они порождают данное подпространство. Именно эти проективно неза-5 висимые точки служат долями секрета. Для восстановления секрета проверяющие должны построить проективное -ц подпространство, найдя прямую сумму своих секретных долей, и пересечь его с известной проективной прямой. Итак,
§ найдена точка, соответствующая секрету. При помощи левого обратного отображения к построенной инъекции нахо-тз
^ дится сам секрет.
'й Корректность нижеследующих алгоритмов обсуждается в статье [1]. Приведенные результаты описывают ге-
<и нерацию секретных долей для одной команды проверяющих. Последующее восстановление секретного ключа описа-
^ " ТТ "
но также только для одной команды. Для остальных команд проводятся аналогичные действия.
Обозначим N множество натуральных чисел. Далее везде 1 < t, t е N — число проверяющих, входящих в одну команду, р < ч>т , где р — простое число, ^ — положительная степень некоторого простого числа, т е N :
t < т .
For citation: I L.V. Cherkesova, O.A. Safaryan, A.V. Mazurenko, N.S. Arkhangelskaya. Complexity calculation of coding and information security system based on threshold secret sharing scheme used for electronic voting. Vestnik of DSTU, 2017, vol. 17, no.3, pp. 145-155.
Обозначим РО(т, ,) проективное пространство над конечным полем Е, размерности т. Все точки
__,т+1 _ 1
РО(ш, ,) представимы в виде (Р' : 5р' :...: 5,_2Р'), где ' е 0,п _ 1, п =-, 5 — примитивный элемент поля Е,,
, _ 1
Р — примитивный элемент поля Е,т+1 [1].
Обозначим ¥8к структуру данных, которая хранит некоторым образом упорядоченные элементы векторного пространства Е, над полем Е, , к е N . Для данной функции g обозначение О(^) означает множество функций — таких, что
О(g) = {/ : 3(С > 0),п0 : V(n > п0) 0 < /(п) < Cg(п)} , где С, п0 — положительные константы, О -нотация используется для оценки временной сложности алгоритмов [3].
Секрет, который разделяется между проверяющими, является случайно сгенерированным элементом мультипликативной группы кольца вычетов по простому модулю р, то есть х е 1, р _ 1. Поэтому вначале построим инъек-тивное отображение, сопоставляющее х некоторую точку РО(т,,) конечной проективной геометрии над конечным полем Е, размерности т .
Как было установлено в [1], в состав публичного ключа входят: а — примитивный элемент поля Ъ , Р — примитивный элемент поля Е,т+1 . Далее везде а и Р несут такой смысл. Итак, можно полагать, что секретный ключ представим в виде х = а' еЪр, где ' е 0, р _ 2.
Пусть Ед = Е, [х] / (/) — произвольное конечное поле, q = Vе — положительная степень некоторого простого числа , , е е N, / е Е,[х] — примитивный многочлен. Каждый элемент Ед представим в виде полинома, принадлежащего Е, [х], степень которого не превосходит е е N. Тогда для сложения и вычитания двух элементов поля Ед используется А(q) = О(Ь82 q) бит операций. В качестве алгоритма умножения в конечном поле Ед будем использовать алгоритм Карацубы [9]. Итак, временная сложность операции умножения двух полиномов из Ед равна О((е^82 q)1o82 3 ). Результат умножения необходимо поделить на примитивный многочлен / е Е,[х]. Временная сложность операции деления равна О (е(е 1о82 q)1o823 ) = О (е'+1о823 (1о82 q)1o82 3 ). Итак, окончательно можно положить, что временная сложность умножения в конечном поле Ед равна М(д) = М(,е) =О (е'+1082 3 (1о82 q)1o823 ). Для быстрого
возведения в степень в конечном поле Е используется схема «слева направо», описанная в [10], временная слож- §
X
ность которой равна §
ю ей Л
* С
Сопоставим секрету х еЪр некоторый элемент конечного поля — так, чтобы его можно было в дальнейшем ^
восстановить. Следующий формальный алгоритм описывает один из возможных способов построить инъективное
отображение ц: Ър ^ Е,*ш+,. Найдем ц(х), где х е Ър . Е
* * ё Алгоритм 1. Построение ц: Ър ^ Е,ш+,. н
<Й К Л
ч и н к ч о
к
Лемма 1. Алгоритм 1 нахождения значения отображения ц имеет временную сложность д
МЕ(q) =О (Мq) = О ((е21o82 ,)'+1082 3 ) .
Е'ЫМарр^ (р : Е*!, =< Р >,' е 0, р _ 2: х = а' еЪр)
1. ц( х) ^Р';
2. геЫгп ц(х).
ю
и к
Далее сопоставим элементы конечного поля точкам проективного пространства. Найдем результат действия н
ей
О (((т +1)2^82 ,)1+1°823 ) .
сюръекции х: Е ш+1 ^ РО(т,,), х(у), где у е Е,
а о
Алгоритм 2. Построение х: Е*„+1 ^ РО(т,,).
* __К
БесопШарр^ ( : Е**т+1 =< Р >, т^, к е 0, ,т+1 _ 2: у = Рк е Е*Ш+1 )
1. n ^
wm+1 -1
w -1
2. r ^ k(modn);
3. т(y) ^ (Pr);
4. return x(y).
Лемма 2. Алгоритм 2 нахождения значения отображения т имеет временную сложность
O (((m +1)2 log2 w)1+log23).
Доказательство. Шаг 1 выполняется за время O (log2(m +1) •(log2 wm+') 82 ), так как временная сложность двух вычитаний, одного деления и возведения в степень при работе с целыми числами равна
O (log2 wm+' + log2 w + (log2 wm+' )log2 3 + log2 (m +1) • (log2 wm+' )log2 3) =
= O (log2(m +1) ^(log2 wm+' )log23). Шаг 2 выполняется за время O ((log2 wm+') g2 ), а шаг 3 — за время ME(wm+l). Таким образом, получаем
оценку
O(log2(m +1) (log2 wm+')log23) + O((log2 wm+')) + O(((m +1)2 log2 w)'+log23) = = O (((m +1)2 log2 w)'+log23) = ME(wm+') . Опишем инъективное отображение ф: Z ^ PG(m, w) x Fw, при помощи которого секретному ключу сопоставляется пара, состоящая из точки проективного пространства PG(m, w) над полем Fw и элемента F^, необходимого для построения левого обратного отображения к ф . Найдем ф(х), где х e Zp .
Алгоритм 3. Построение ф: Z ^ PG(m, w) x Fw .
ThirdMapping (P : F*m+, =< p >, m, w, i e 0, p - 2 : х = ai e Zp)
1. т(ц(х)) ^SecondMapping(P,m,w,i) ;//ц(х) = P';
wm+' -1
2. n <--;
w-1
3. k ^ i -i(modn);
4. вычислить Pk e F * ;
' w
5. ф(х) ^(ф(х)),pk);
6. return ф(х).
Лемма 3. Алгоритм 3 нахождения значения отображения ф имеет временную сложность
j3 O (((m +1)2 log2 w)'+log23). 3
<3 Доказательство. Из леммы 2 следует, что шаг 1 выполняется за время МЕ(, шаг 2 —
тз
O (log2 (m +1) • (log2 wm+') g2 ). На шаге 3 выполняется одно деление и одно вычитание целых чисел; время выполне-
ся
^ ния данных операций равно O ((log2 wm+1) g" + log2 wm+1) = O ((log2 wm+') g" ). Шаг 4 выполняется за время jg ME(wm+1). Шаг 5 выполняется за константное время. Итак, временная сложность алгоритма равна
ME(wm+1) + O (log2 (m + 1) • (log2 wm+1 )log2 3) + O ((log2 wm+1 )log2 3) = ME(wm+1) . •
Далее возникает необходимость в генерации попарно различных случайных точек проективного пространства PG(m, w) над полем Fw . Опишем один из способов сгенерировать t e N попарно различных случайных точек, где
Wm+' - 1 , s
t < n, n =-. Обозначим через random ([0, a]), где a e N, алгоритм, реализующий линейный конгруэнтный ме-
w-1
тод генерации псевдослучайных чисел [6], который подает на выход целое случайное число в промежутке [0, a].
Алгоритм 4. Генерирование попарно различных случайных точек PG(m, w). GeneratePoints (P : F*mt1 =< P >, m, w, t)
wm+1 -1
1. n <--;
w -1
2. Powers ^ 0 ;
3. for (i ^0;i <t;i + +) {
4. do {
5. temp ^ random ((0, n -1]) ;
6. } while(temp e Powers);
7. Powers[i] ^ temp;
8. }
9. Points ^ 0 ;
10. for (i ^0;i <t;i + +) {
11. Points[i] ^ SecondMapping (P, m, w, Powers[i]); }
12. return Points.
Лемма 4. Алгоритм 4 генерирования попарно различных случайных точек PG(m, w) имеет временную сложность O(t3)ME(wm+').
Доказательство. Шаг 1 выполняется за время O (log2 (m +1) (2 wm+1 )log23 ). Шаг 2 выполняется за константное время. Шаг 5 выполняется за время O(1), шаг 6 — O(t), цикл в строках 4-6 — O(t2). Шаг 7 выполняется за константное время. Итак, цикл в строках 3-8 выполняется за O(t3 ). Шаг 9 выполняется за константное время. Цикл в
m+1
строках 10-11 выполняется за время O(t)ME(wm ). Таким образом, временная сложность алгоритма равна ¡и
O (log2 (m +1) • (log2 wm+' )log2 3 ) + O(t3 ) + O(t)ME(wm+x ) = O(t3 )ME(wm+' ).
(U
Ю Й а
_ * _ G
Опишем построение правого обратного отображения к сюръекции т : т 1 : PG(m, w) ^ Fw„+,. Найдем т 1 ((у)),
wm+1 _ 1 *
где (у) е PG(m, w). Здесь n =-. IS
w _! £
<a н
Алгоритм 5. Построение т1 : PG(m, w) ^ F „+, . jj§
w IB
л
CD
1. T((у))^pk; |
_1 IS
2. return т (x). ¡г1
3 ю
Лемма 5. Алгоритм 5 построения отображения т1 имеет вычислительную сложность
O (((m +1)2 log 2 w)1+log23). I
InvSecMap (p : Fw*„, =< P >, k e 0, n -1: (y) = (Pk ) e PG(m, w))
&
Доказательство. Шаг 1 выполняется за время МЕ(м)т+х).
К
Для восстановления секрета используется проективная прямая I с РО(т, м>), содержащая секретную точку. К
Данная прямая является частью публичного ключа. Опишем работу алгоритма 6 ЬтеСвт^ис-
tion (VS2, р : ,F*,+1 =< р >, m, w, (x) = (Р*) e PG(m, w)) построения проективной прямой l с PG(m, w), которая содержит
заданную точку (x) = (Р*) e PG(m, w), k e 0, n -1, n =
wm+1 -1 w -1
Алгоритм 6. Построение проективной прямой l с PG(m, w). LineConstruction ( VS2, Р : Fjm+1 =< Р >, m, w, (x) = (Р*) e PG(m, w))
1. do {
2. (у) = (Р") ^ GeneratePoints (Р, m, w, 1);
3. } while ((x) = (у)) ;
4. l ;
5. for (i ^0;i < w2;i + +) {
6. temp^ VS2[i][0]• InvSecMap(Р,k) + VS2[i][1]• InvSecMap(Р,v);
7. newPoint^ SecondMapping (Р,m, w, z) ; lltemp= Р2, z e 0, wm+1 - 2
8. l ^ l u {newPoint} ;
9. }
10. return l .
Лемма 6. Алгоритм 6 построения проективной прямой l с PG(m, w) имеет временную сложность
O(w3)ME(wm+1).
Опишем один из возможных способов создания проективного подпространства M с PG(m, w) размерности
t — 1 e 0, m , которое содержит произвольную, но зафиксированную точку (x) = (Р*) e PG(m, w), k e 0 , n -1,
wm+1 -1
n =-. Умение строить такие проективные подпространства необходимо для генерации секретных долей.
w-1
Алгоритм 7. Построение проективного подпространства M с PG(m, w) размерности t -1.
SubspaceConstruction (VSt, Р : Fw*„+1 =< Р >, m, w, t, (x) = (Р*) e PG(m, w))
1. Points ^ GeneratePoints (Р, m, w, t);
2. if ((x) g Points);
3. Points[0] ^ (x);
4. M ^0;
5.for (i ^0;i < wt;i ++) {
6. temp ^ 0 ;
7.for (y ^0; j <t; j + +) {
8. temp ^ temp+ VSt [i]j] • InvSecMap( Р, Pointsj]); }
9. M^ Mu{SecondMapping(Р,m, w, z)}; lltemp= рz, z e 0, wm+1 - 2 2 10. }
11. return M.
й О T3
^ Лемма 7. Алгоритм 7 построения проективного подпространства M с PG(m, w) размерности t -1 имеет
* д
"й временную сложность O(t3 + tw2t )ME(wm+1). <u
Доказательство. Согласно лемме 4 шаг 1 выполняется за время O(t3)ME(wm+1). Цикл в строках 2-3 выпол-
£ (wt -1 ^ t
няется за время OI-I = O(w ). Шаги 4 и 6 выполняются за константное время. Согласно лемме 5 шаг 8 выполня-
1 w -1 I
ется за время ME(wm+) + M(wm +) + A(wm +) = ME(wm+). Итак, цикл в строках 7-8 выполняется за время
0(')МЕ(. Согласно лемме 2 шаг 9 выполняется за время 0 —11+ МЕОт+1) = 0(м>') + МЕ(^>т+1), так как
I ™ -1)
V -1
М с РО(т, w) содержит-точек. Таким образом, цикл в строках 5-10 выполняется за время
V -1
0(Ы>')МЕ(м>т+1) + 0(м>2') + 0(м>')МЕ(Vт+1) = 0(Ы>2')МЕ(м>т+1). Итак, временная сложность алгоритма равна
0('3)МЕ(^т+') + 0(м>') + 0См>2')МЕ(м>т+1) = 0('3 + V)МЕ(м>т+1).
Легко проверить, что количество проективных подпространств размерности ё е 0, т в РО(т, V) равно т (+1 -1)( -1)... (-ё+1 -1) ]т = (V+1 -\)(м,ё -1)...( -1) "
Опишем способ построения проективного подпространства М с РО(т, V) размерности ' -1 е 0, т : М п / = (х), где / с РО(т, V) — проективная прямая, (х) — произвольная, но зафиксированная точка, принадлежащая /.
Легко проверить, что количество проективных подпространств размерности ё е 0, т в РО(т, V) равно
(+1 -1)(-1)...(+1 -1)
[d с =-
(wd+1 -1)(wd -l)...(w -1)
Алгоритм 8. Построение проективного подпространства M с PG(m, w) размерности t -1: M n / = (x).
GenerateSpecialSubspace (VSt, p : ^*т+1 =< p >, m, w, t,l, (x) e l)
1. while (true) {
2. M^ SubspaceConstruction (VSt, p,m, w,t, (x));
3. intersection ^ M n l;
4. if (intersection = {(x)});
5. break;
6. }
7. return M.
К
Легко увидеть, что верна лемма 8. Е
ч ю
Лемма 8. Алгоритм 8 построения проективного подпространства M с PG(m, w) размерности t -1:
[В
M n l = (x), где l с PG(m, w) — проективная прямая — такая, что (x) e l, имеет временную сложность ^
К
о ( - 1]m (t3 + tw2t) )ME (wm+1).
и
К
Под проективным базисом проективного подпространства М с РО(т, V) будем понимать проективно неза- 5
<и
висимые точки М — такие, что их прямая сумма порождает М. Опишем один из способов построения проективного ь
__К!
базиса проективного подпространства М с РО(т, V) размерности ' -1 е 0, т , который не содержит произвольную, щ
л
но зафиксированную точку (х) е М . §
н к ч
Алгоритм 9. Построение проективного базиса проективного подпространства М с РО(т, V) размерно- §
Е
и
<й и к
<3
а о
к К
сти t -1 .
GenerateSubspaceBasisSet (w, t,M, (x) e M )
1. M ^ wlz! ;
1 1 w -1
2. do {
3. T^ выбрать t попарно различных точек, принадлежащих M;
4. } while ((x) e T) ;
5. return T.
151
Легко увидеть, что верна лемма 9.
Лемма 9. Алгоритм 9 построения проективного базиса проективного подпространства М с РО(т, размерности t -1 имеет временную сложность О
( ( Л\
Л Alog23 ( w (log2 w') +1
//
Опишем процедуру создания и разделения секретных долей среди t е 2, т проверяющих на основе секрета
х = ak e Z * , k e 0, p - 2 .
Алгоритм 10. Генерация и разделение секретных долей.
Genera'eAndShareSecre's (VS2 ,VS',р : FW*m+i =< Р >,m, w,',k : х = ak e Z*p)
1. ф(х) = ((у) = (Р') e PG(m, w), r e F*m+1 ) —— ThirdMapping (Р, m, w, k);
2. l — LineCons'ruc'ion (VS2 (у));
3. M — Genera'eSpecialSubspace (VS', P,m, w,', l, (у));
4. T — Genera'eSubspaceBasisSe'(w,',M,(у)) ;
5. return T.
Теорема 1. Алгоритм 10 генерации и раздачи секретных долей среди t проверяющих имеет временную сложность
O ([' -1]m С3 + tw2') )ME (wm+1) + O
(( w' ^
W ' У J
Доказательство. Результат следует из лемм 3, 6, 8 и 9, согласно которым временная сложность алгоритма
равна
ME(wm+1) + O(w3)ME(wm+') + O ([' -1]m ('3 + w2'))ME(wm+1) ■
+O
(lOg2 w')
' log2 3
л„Л л
v ' JJ
= O ([' -1]m ('3 + w2')) ME (wm+1) + O
(( w' ^^ w ' У J
Опишем формальный алгоритм восстановления проективного подпространства M с PG(m, w) при наличии проективного базиса T этого подпространства.
Алгоритм 11. Построение проективного подпространства M с PG(m, w) размерности ' -1 по проективному базису T M с PG(m, w).
BasisSubspaceCons'ruc'ion (VS', р : F*m+1 =< P >, w,', T)
1. for (i — 0;i < w';i ++) {
2. 'emp — 0 ;
3. for (j — 0; j <'; j + +) {
4. 'emp — 'emp+ VS' [i]j] • InvSecMap (P, Tj]); }
й о тз
"i3
и (U
a, £ Л
5. M — Mu{SecondMapping(P,m, w, z)} ; //'emp= pz, z e 0, wm+1 - 2 ;
6. }
7. re'urn M.
Легко увидеть, что верна лемма 10.
Лемма 10. Алгоритм 11 построения проективного подпространства M с PG(m, w) размерности ' -1 по базису T этого подпространства имеет временную сложность O(w2') • ME(wm+1).
Опишем построение левого обратного отображения к инъекции ц: ц-1 : F +1 ^ Zp. Найдем ц-1 (у), где
у e F*m+1 .
Алгоритм 12. Построение ц-1 : F ^ Zp.
InverseFirstMapping (a: Z*p =< а >,k e 0, p - 2: y = pk e Fjm+1 )
1. ц-1(x) ^ak ;
2. return ц-1(x).
Лемма 11. Алгоритм 12 нахождения значения отображения ц-1 имеет временную сложность
O ((log2 p)1+log23).
Доказательство. Шаг 1 выполняется за время ME(p).
Опишем построение левого обратного отображения к инъекции ф : ф-1 : PG(m, w) х Fw ^ Z . Найдем
Ф-1 ((У), s ), где (y) е PG(m, w), s e F*.
Алгоритм 13. Построение ф-1 : PG(m, w) х Fw ^ Z .
InverseThirdMapping (a, v e 0,n -1: (y) = (pv), k e 0, w - 2 : s = pk )
1. i ^ v + k ;
2. ф-1 ((y), s) <— InverseFirstMapping (a, i) ;
3. return ф-1 ((y),s) .
Лемма 12. Алгоритм 13 построения отображения ф-1 имеет временную сложность O ((log2 wm+1)1+log23). Доказательство. Шаг 1 выполняется за время O (log2 wm+1). Согласно лемме 11 шаг 2 выполняется за время O ((log2 p)1+log23). Итак, временная сложность алгоритма равна O (log2 wm+1 + (log2 p)1+log23) = O ((log2 wm+l)Mog2), так
как p < wm+1.
Опишем процедуру восстановления секрета х е Z*p, в которой участвуют / е 2, т проверяющих. Рассмотрим Ф-1 ((х), 5 = рк) ,где (х) е РО(т, м>) — секретная точка, 5 = рк е FW, к е 0, ^ - 2 .
RevealSecret (vSt, a : Zp =< a >, p : Fj„+1 =< P >, w, t, T, l, k e 0, w - 2 : s = pk ) 1. M^ BasisSubspaceConstruction (VSt, p, w, t, T) ;
3. x ^ InverseThirdMapping (a, v e 0, (wm+1 -1) / (w -1) -1: (x) = (pv), k) ;
(U
В [1] установлено, что 5 е Fw является частью публичного ключа, так же, как и проективная прямая ¡3
X
I с РО(т, w), содержащая секретную точку. Напомним, что Т — множество секретных долей. ЦЗ
и й ft
Алгоритм 14. Восстановление секрета. Е
К
й И
к
к
*
2. (x) ^ M n l; н
. x ^ InverseThirdMapping (a, v e 0, (wm+1 -1) / (w -1) -1: (x) = (pv), k |; E
4. return x . H
К
о
Теорема 2. Временная сложность алгоритма восстановления секрета равна O(tw2t) • ME(wm+1). ^
Доказательство. Согласно лемме 10 шаг 1 выполняется за время O(tw2t)• ME(wm+'). Поскольку M является и
,
wt -1 и
проективным подпространством PG(m, w) размерности t -1, то оно содержит - точек. Проективная прямая К
w -1 <3
S
l с PG(m, w) содержит w +1 точек. Итак, действуя методом полного перебора, можно найти пересечение на шаге 2 за ft
время O
X
^ t ^2 д -е
w -1 w -1
V 4
временная сложность алгоритма равна 153
= О ). Согласно лемме 12 шаг 3 выполняется за время О ((^
wm+l у+Ч2 3 ^. Таким образом, К
O(tw2') • ME(wm+1) + O (w2t) + O ((log2 wm+1 )1+log23) = O(tw2') • ME(wm+1).
Выводы. В данной работе построены формальные алгоритмы, необходимые для реализации метода порогового разделения секрета, применяемого для проведения электронного голосования. Также приведена временная сложность построенных методов. Наглядно продемонстрировано, что описанная криптосистема представляет собой полиномиальный детерминированный алгоритм. Подходящим выбором начальных параметров системы будут задание большой размерности проективного пространства и конечного поля, над которым оно задано, а также порядка мультипликативной группы, где лежит секрет. При таком выборе начальных параметров можно утверждать, что разработанные криптографические методы надежны, т. е. их применение гарантирует с высокой вероятностью проведение честных и независимых электронных выборов.
Библиографический список
1. Архангельская, Н. С. Математическая модель электронного голосования на основе методов пороговой криптографии [Электронный ресурс] / Н. С. Архангельская, А. В. Мазуренко // Системный анализ, управление и обработка информации : сб. тр. VI междунар. семинара. — Ростов-на-Дону, 2015. — Т. 1. — С. 275-280. — Режим доступа: http://ntb.donstu.ru/content/2015421/ (дата обращения: 16.10.16).
2. ElGamal, T. A public-key cryptosystem and a signature scheme based on discrete logarithms / T. ElGamal // IEEE Transactions on Information Theory. — 1985. — Vol. 31, № 4. — P. 469-472.
3. Основы криптографии / А. П. Алферов [и др.]. — Москва : Гелиос-АРВ, 2001. — 480 с.
4. A heuristic quasi-polynomial algorithm for discrete logarithm in finite fields of small characteristic / R. Barbulescu [et al.] // Advances in Cryptology — EUROCRYPT 2014 : Annual International Conference on the Theory and Applications of Cryptographic Techniques. — 2014. — Vol. 8441. — P. 1-16.
5. Stallings, W. Computer security: principles and practice / W. Stallings. — Boston : Pearson, 2012. — 182 p.
6. Рябко, Б. Я. Криптографические методы защиты информации / Б. Я. Рябко, А. Н. Фионов. — Москва : Горячая линия — Телеком, 2005. — 229 с.
7. Joux, A. The past, evolving present and future of discrete logarithm / A. Joux, A.-M. Odlyzko, C. Pierrot // Open Problems in Mathematics and Computational Science. — Cham : Springer, 2014. — P. 5-36.
8. Могилевская, Н. С. Пороговое разделение файлов на основе битовых масок: идея и возможное применение / Н. С. Могилевская, Р. В. Кульбикаян, Л. А. Журавлев // Вестник Дон. гос. техн. ун-та. — 2011. — Т. 11, № 10. — С. 1749-1755.
9. Fast Integer Multiplication Using Modular Arithmetic / De Anindya [et al.] // SIAM Journal on Computing. — 2013. — Vol. 42, № 2. — P. 685-699.
10. Schneier, B. Applied Cryptography: Protocols, Algorithms, and Source Code in C / B. Schneier. — 2nd Edition. — New York : John Wiley & Sons, 1995. — 792 p.
References
1. Arkhangelskaya, N.S., Mazurenko, A.V. Matematicheskaya model' elektronnogo golosovaniya na osnove metodov porogovoy kriptografii. [Mathematical model of electronic voting based on threshold cryptography methods.] Sistemnyy ana-liz, upravlenie i obrabotka informatsii: sb. tr. VI mezhdunar. seminara. [System analysis, control and information processing: Proc. VI Int. Workshop.] Rostov-on-Don, 2015, vol. 1, pp. 275-280. Available at: http://ntb.donstu.ru/content/2015421/ (accessed: 16.10.16) (in Russian).
2. ElGamal, T. A public-key cryptosystem and a signature scheme based on discrete logarithms. IEEE Transactions on Information Theory, 1985, vol. 31, no. 4, pp. 469-472.
3. Alferov, A.P., et al. Osnovy kriptografii. [Cryptography fundamentals.] Moscow: Gelios-ARV, 2001, 480 p. (in Russian).
5 4. Barbulescu, R., et al. A heuristic quasi-polynomial algorithm for discrete logarithm in finite fields of small charac-
-2 teristic. Advances in Cryptology — EUROCRYPT 2014: Annual International Conference on the Theory and Applications of
§ Cryptographic Techniques. 2014, vol. 8441, pp. 1-16.
2 5. Stallings, W. Computer security: principles and practice. Boston: Pearson, 2012, 182 p.
'S 6. Ryabko, B.Y., Fionov, A.N. Kriptograficheskie metody zashchity informatsii. [Cryptographic methods of infor-
<3 mation security.] Moscow: Hot Line — Telecom, 2005, 229 p. (in Russian).
^ 7. Joux, A., Odlyzko, A.-M., Pierrot, C. The past, evolving present and future of discrete logarithm. Open Problems
■j^ in Mathematics and Computational Science. Cham: Springer, 2014, pp. 5-36.
^ 8. Mogilevskaya, N.S., Kulbikayan, R.V., Zhuravlev, L.A. Porogovoe razdelenie faylov na osnove bitovykh masok:
ideya i vozmozhnoe primenenie. [Threshold separation of files based on bit masks: idea and potential application.] Vestnik of DSTU, 2011, vol. 11, no. 10, pp. 1749-1755 (in Russian).
9. De Anindya, et al. Fast Integer Multiplication Using Modular Arithmetic. SIAM Journal on Computing, 2013, vol. 42, no. 2, pp. 685-699.
10. Schneier, B. Applied Cryptography: Protocols, Algorithms, and Source Code in C. 2nd ed. New York: John Wiley & Sons, 1995, 792 p.
Поступила в редакцию 22.03.2017 Сдана в редакцию 29.03.2017 Запланирована в номер 17.07.2017
Received 22.03.2017 Submitted 29.03.2017 Scheduled in the issue 17.07.2017
Об авторах:
Черкесова Лариса Владимировна,
профессор кафедр «Математика и информатика» и «Кибербезопасность информационных систем» Донского государственного технического университета (РФ, 344000, г Ростов-на-Дону, пл.Гагарина,1), доктор физико-математических наук, кандидат технических наук, доцент,
ORCID: http://orcid.org/0000-0002-9392-3140 [email protected]
Authors:
Cherkesova, Larisa V.,
professor of the Mathematics and Computer Sciences, and Cybersecurity of IT Systems Departments, Don State Technical University (RF, 344000, Rostov-on-Don, Gagarin sq., 1), Dr.Sci. (Phys.-Math.), Cand.Sci. (Eng.), associate professor,
ORCID: http://orcid.org/0000-0002-9392-3140 [email protected]
Сафарьян Ольга Александровна,
старший преподаватель кафедры «Кибербезопасность информационных систем» Донского государственного технического университета (РФ, 344000, г Ростов-на-Дону, пл.Гагарина,1), кандидат технических наук, доцент,
ORCID: http://orcid.org/0000-0002-7508-913X safari [email protected]
Safaryan, Olga A.,
senior lecturer of the Cybersecurity of IT Systems Department, Don State Technical University (RF, 344000, Rostov-on-Don, Gagarin sq., 1), Cand.Sci. (Eng.), associate professor,
ORCID: http://orcid.org/0000-0002-7508-913X safari [email protected]
Мазуренко Александр Вадимович,
студент кафедры «Кибербезопасность информационных систем» Донского государственного технического университета (РФ, 344000, г. Ростов-на-Дону, пл. Гагарина, 1),
ORCID: http://orcid.org/0000-0001-9541-3374 [email protected]
Архангельская Надежда Сергеевна,
студентка кафедры «Кибербезопасность информационных систем» Донского государственного технического университета (РФ, 344000, г. Ростов-на-Дону, пл. Гагарина, 1),
ORCID: http://orcid.org/0000-0003-1678-2038 [email protected]
Mazurenko, Alexander V.,
student of the Cybersecurity of IT Systems Department, Don State Technical University (RF, 344000, Rostov-on-Don, Gagarin sq., 1),
ORCID: http://orcid.org/0000-0001-9541-3374 mazurencoal@gmail. com
Arhangelskaya, Nadezhda S.,
student of the Cybersecurity of IT Systems Department, Don State Technical University (RF, 344000, Rostov-on-Don, Gagarin sq., 1),
ORCID: http://orcid.org/0000-0003-1678-2038 [email protected]
(U S X <u
4 и
eö ft
G
^
5 eö И S
X
*
(U
H «
eö X Л
ч
(U H
s
4 о
s
E 3 m
CÖ «
5 eö
S ft о
X
S