УДК 681.3.06
DOI: 10.15587/2313-8416.2019.189617
ПРИМЕНЕНИЕ АЛГОРИТМА UMAC НА КРИПТО-КОДОВЫХ КОНСТРУКЦИЯХ В БЛОКЧЕЙН-ТЕХНОЛОГИЯХ
А. А. Гаврилова
Проведен вычислительный эксперимент по возможности использования крипто-кодовых конструкций Мак-Элиса с эллиптическими кодами на алгоритме UMAC для обеспечения реализации основных правил блокчейн-технологии при передаче конфиденциальной информации. Проанализировано результаты вычислений, сделан вывод о целесообразности практической реализации быстрого алгоритма хеширования для повышения уровня защищенности цепочки блоков технологии блокчейн
Ключевые слова: блокчейн-технология, алгоритм UMAC, хеш-функция, крипто-кодовая конструкция, вычислительный эксперимент, эллиптические коды
Copyright © 2019, Havrylova A.
This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4M).
1. Введение
Интенсивное развитие информатизации ведёт к росту числа информационных систем (ИС) различного назначения. Количество зарегистрированных субъектов и объектов в ИС громадно. Такие ИС являются большими информационными системами (БИС). Количество БИС увеличивается. Этому способствует развитие таких технологий, как системы интернета вещей (Internet of Things, IoT) и блокчейн-технологии.
При удалённом электронном взаимодействии важно обеспечить процесс распознавания объекта по предъявленным параметрам (идентификаторам) и связанного с ним процесса аутентификации. Наиболее остро данная задача стоит в системах управления доступом и подтверждения аутентификации и верификации при передаче сообщений [1]. При постоянно увеличивающемся росте кибератак и разного рода мошенничеств, вопросы идентификации отправителя и получателя при их взаимодействии становятся особенно актуальными.
При обеспечении повышения криптостойкости алгоритмов шифрования сообщений для передачи по каналам связи, используются системы симметричного и асимметричного шифрования. Алгоритм RSA, основанный на эллиптических кривых и вычислительной сложности задачи факторизации больших чисел, на сегодня обеспечивает высокую крипто-стойкость передаваемых сообщений, за счет невозможности за вычислительное время провести расшифровывание этих сообщений. Но данный алгоритм стойкий лишь при существующих вычислительных мощностях, а при появлении высокопроизводительных квантовых компьютеров увеличится риск его взлома.
Поэтому важным направлением в развитии постквантовой криптографии сегодня являются крипто-кодовые системы (конструкции) (ККК). Их формирование основано на использовании алгебраических кодов, замаскированных под так называемый
случайный код [2, 3]. ККК позволяют интегрировано реализовать быстрое криптографическое преобразование данных и обеспечить достоверность передаваемых данных на основе помехоустойчивого кодирования [3, 4].
2. Литературный обзор
Мировой опыт применения блокчейн очень полезен для Украины - с помощью блокчейн открываются новые возможности для устранения коррупционной составляющей при оказании услуг [5]. Но известны и другие применения технологии блокчейн в сфере человеческих коммуникаций, а именно: здравоохранение; строительство; банки; искусство; авиаперевозки; кибербезопасность; образование; Интернет вещей; прогнозирование; энергетика; торговля акциями; отслеживание цепочек поставок продуктов; туризм.
Технология блокчейн базируется на использовании хешей, которые предназначены обеспечить безопасность данной технологии. При получении конфиденциальной информации, осуществляя запуск алгоритма хеширования, можно вычислить х1ш этих данных и сравнить его с тем, который передал отправитель. В случае несовпадения, можно утверждать, что информация претерпела изменения до ее получения.
Хеши в блокчейнах гарантируют необратимость всей цепочки транзакций. Каждый новый блок транзакций ссылается на хеш предыдущего блока в реестре. Хеш самого блока зависит от всех транзакций в блоке, но вместо того, чтобы последовательно передавать транзакции хеш-функции, они собираются в одно хеш-значение при помощи двоичного дерева с хешами (дерево Меркла) [6]. Таким образом, хеши используются как замена указателям в обычных структурах данных: связанных списках и двоичных деревьях. Свойство неизменности хеша одного блока определяет неизменность всего блокчейна.
Поэтому актуальной задачей на сегодня является повышение скорости криптопреобразований с
обеспечением требуемого уровня криптостойкости данного алгоритма. В работах [7] и [4] рассмотрены практические алгоритмы крипто-кодовых конструкций, которые обеспечивают их практическую реализацию за счет снижения мощности алфавита. Их применение в алгоритме UMAC позволит не только обеспечить требуемый уровень криптостойкости сформированного хеш-кода, но и сохранит его универсальность.
3. Цель и задачи исследования
Целью данной работы является определение возможности использования крипто-кодовых конструкций Мак-Элиса с эллиптическими кодами на алгоритме UMAC для обеспечения реализации основных правил блокчейн-технологии при передаче конфиденциальной информации.
В рамках поставленной цели должны быть решены следующие задачи:
- определены входные данные для реализации вычислительного эксперимента по использованию практического алгоритма UMAC на крипто-кодовых конструкциях при формировании блоков в блокчейн-технологии;
- разработаны этапы реализации алгоритма при формировании блоков в блокчейн-технологии;
- представлены и проанализированы результаты реализации алгоритма.
4. Материалы и методы исследований
В [8, 9] рассмотрена математическая модель аутентификации передаваемого сообщения на основании схемы Мак-Элиса на модифицированных эллиптических кодах с использованием модифицированного алгоритма UMAC.
Для определения целесообразности использования данной модели, необходимо провести вычислительный эксперимент. Проведение вычислительного эксперимента будет базироваться на практическом алгоритме UMAC на крипто-кодовых конструкциях, который представляет собой конечный набор правил, позволяющих осуществить практическую реализацию быстрого алгоритма хеширования с уровнем стойкости в постквантовой криптографии [10]. При этом подразумевается, что начальные исходные данные могут изменяться в определенных пределах, шаги по реализации алгоритма определены однозначно и на каждом шаге известно, что следует считать результатом.
4.1. Входные данные для проведения вычислительного эксперимента:
1 - значение универсальной хеш-функции (UHASH-hash) первого уровня хеширования
2 - ^з/ значение хеш-функции (Carter-Wegman-hash) третьего уровня хеширования
3 - T блок данных
4 - Blocklen длина блока данных (байт)
5 - Keylen длина секретного ключа (32 байта)
6 - Tag код контроля целостности и аутентичности
7 - KLU секретный ключ первого уровня хеширования, состоящий из подключей K1, K2, ..., Kn
8 - 7i3/ секретный ключ второго уровня хеширования, состоящий из ключей KL31 (подключи K1,
K2, Kn) и Kl32 (подключи K}, K2, K„)
9 - M длина массива передаваемого открытого текста i
10 - K' псевдослучайная ключевая последовательность
11 - Numbyte длина псевдослучайной ключевой последовательности (количество подключей)
12 - Index номер подключа
13 - 1=11 передаваемый открытый текст (k-разрядный информационный вектор над GF(q))
14 - Xor (© ^побитовое суммирование
15 - x3+^z+yz2=0 алгебраическая кривая над полем GF(22)
16 - e=00100200 секретный вектор ошибок 'd -1
веса wh(e) < t =
17 - X =
2 2" 0
невырожденная к* к матрица
18 - P =
19 - D =
0 1 0 0 0 0 0 0"
0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
да размера n*n
1 0 0 0 0 0 0 0"
0 2 0 0 0 0 0 0
0 0 3 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 2 0 0 0
0 0 0 0 0 3 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
переста-
диаго-
нальная матрица, равная 1
"2 2 3 0 1
20 - G =
3 3 2 1 0
0 1 1 0
порожда-
ющая матрица
21 - /=11 передаваемый открытый текст (к-разрядный информационный вектор над ОГ(д)) 22 - Точки алгебраической кривой:
Pi Р2 Рз Р4 Р5 Рб Р? Р8 Pp
X 0 0 0 1 2 3 1 2 3
Y 1 0 1 2 2 2 3 3 3
Z 0 1 1 1 1 1 1 1 1
27 - P-1 =
матрица,
28 - D"1 =
матрица,
23 - K=0106 секретный ключ
24 - Taglen длина кода контроля целостности и аутентичности (достоверности) PadCx (4 байта)
25 - Nonce уникальное число для входного сообщения I (8 байт)
26 - Сх=23023322 криптограмма
"0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
0 0 0 0 0 1 0 0 обратная перестановочной матрице P (так как ее определитель равен 1, то P- = PT )
^1 0 0 0 0 0 0 0^
03000000
00200000
0 0 0 1 0 0 0 0
00003000
00000200
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
обратная диагональной матрице D - унипотентная матрица (квадратная матрица, все собственные значения равны 1), которая сохраняет вес по Хэммингу вектора е
, "0 2"
29 - X = матрица, обратная невыро-
жденной матрице X
4.2. Этапы реализации алгоритма
Кодирование открытого сообщения отправителя для передачи по каналам связи выполнялось на основании следующих процедур.
I процедура. Формирование хеш-кода в алгоритме UMAC. Указанные преобразования проводим параллельно с формированием кодограммы. Данная процедура является итеративной и складывается из трехслойной структуры: 1) YUM - первый слой, который является значением функции UHASH-hash первого уровня хеширования; 2) Yi2M - второй слой, который является значением функции POLY-hash второго уровня хеширования; 3) Yi3M - третий слой, который является значением функции Carter-Wegman-hash третьего уровня хеширования.
II процедура. Формирование криптограммы () с учетом одноразового сеансового секретного ключа е.
III процедура. Формирование псевдослучайной подкладки/подложки (Pad) для обеспечения крипто-стойкости алгоритма UMAC проводим с помощью функции PDF, причем различные части Pad можно
будет использовать как дополнительный вектор инициализации.
IV процедура. Формирование кода контроля целостности и аутентичности кодограммы Tag рассчитывается на основании значений функций Y и Pad.
V процедура. Формирование значения суммарного кода достоверности передаваемого текста (Y) проведем на основании найденного значения хеш-кода Yl 3m и Tag.
Верификация хеш-кода на приемной стороне с использованием алгоритма UMAC осуществлялась следующим образом.
1 процедура. Строим вектор, который является кодовым словом кода с порождающей матрицей G, искаженной не более чем в t разрядах.
II процедура. Получаем синдром ошибок S .
III процедура. Находим многочлен локатора ошибок (Л(х)) с последующей локализацией ошибок по процедуре Ченя.
IV процедура. Определяем кратности ошибочных позиций, решив систему уравнений (расчет S').
V процедура. Получаем криптограмму C*X с учетом вектора ошибок e'.
VI процедура. Cx используется в качестве основы для формирования подложки по алгоритму UMAC.
Реализация алгоритма
Формализация показателей и результаты расчетов следующие:
! _ Yl3m = (Ylu mod(236 -5))mod232)xorYL32, = =10000000010
2 - C- = Ix Gf + e = 23023322
3 - Pad = PDF(K, Nonce,Taglen) = 1101010
4 - Tag = YL3M © Pad = 10001101100
5 - Y,Y = Yi3M © Tag = 1101110
6 - C* = C X D 1 X P- = 22202221
7 - S = C* xHT = 1,1,1,0,0,0
8 - Л( x ) = a00 + alax + y = 0 x + y = 0
9 - S' = H x e' = 00020003
10 - Cx = Cx + e' = 22222224
5. Результаты исследований
Значения, полученные при проведении расчетов, согласно алгоритма UMAC на крипто-кодовых конструкциях, показывают, что при сравнении хеш-кодов, сформированных получателем и отправителем, их длины совпадают, а, следовательно, открытый текст получателя поступил к нему в неизмененном виде. Поэтому данный механизм определения аутентичности сообщений возможно использовать не только на эллиптических кодах, но и модифицированных (укороченных, и/или удлиненных) эллиптических кодах, а также на ущербных кодах с использованием гибридных крипто-кодовых конструкций. Такой подход позволяет практическую реализацию быстрого алгоритма хеширования с заданным уровнем стойкости в постквантовой криптографии, что
повышает уровень защищенности цепочки блоков технологии блокчейн.
6. Выводы
Результат проведенной работы показал, что предложенный механизм обеспечивает заданный уровень аутентичности сообщений для обеспечения реализации основных правил блокчейн-технологии при передаче конфиденциальной информации.
В рамках поставленной цели были решены следующие задачи:
1) заданы 29 входных параметра, которые участвуют в формировании математической модели
и вычислительном эксперименте по использованию практического алгоритма иМАС на ККК при формировании блоков в блокчейн-технологии;
2) определены этапы проведения вычислительного эксперимента по алгоритму при формировании блоков в блокчейн-технологии: кодирование открытого сообщения отправителя для передачи по каналам связи и верификация хеш-кода на приемной стороне с использованием алгоритма иМАС;
3) получены и интерпретированы результаты реализации алгоритма ИМАС на ККК при формировании блоков в блокчейн-технологии.
Литература
1. Regulation (EU) No 910/2014 of the european parliament and of the council on electronic identification and trust services for electronic transactions in the internal market and repealing Directive 1999/93/EC (2014). Official Journal of the European Union. Brussels, 73-114.
2. Bernstein, D. J., Buchmann, J., Dahmen, E. (2009). Post-Quantum Cryptography. Berlin-Heidleberg: Springer-Verlag, 245. doi: http://doi.org/10.1007/978-3-540-88702-7
3. Кузнецов, А. А., Пушкарев, А. И., Сватовский, И. И., Шевцов, А. В. (2016). Несимметричные криптосистемы на алгебраических кодах для постквантового периода. Радиотехника, 186, 70-90.
4. Yevseiev, S., Kots, H., Minukhin, S., Korol, O., Kholodkova, A. (2017). The development of the method of multifactor authentication based on hybrid crypto-code constructions on defective codes. Eastern-European Journal of Enterprise Technologies, 5 (9 (89)), 19-35. doi: http://doi.org/10.15587/1729-4061.2017.109879
5. Гаврилова, А., Евсеев, С. (2019). Анатз стану захищеносп блокчейн-проектш на ринку украшських сервгав. 1нте-лектуальн системи та шформацшт технологи. Одеса, 62-64.
6. What is a Merkle Tree and How Does it Affect Blockchain Technology References? Available at: https://selfkey.org/what-is-a-merkle-tree-and-how-does-it-affect-blockchain-technology Last accessed: 15.11.2017
7. Hryshchuk, R., Yevseiev, S., Shmatko, A. (2018). Construction methodology of information security system of banking information in automated banking systems. Vienna: Premier Publishing s. r. o., 284. doi: http://doi.org/10.29013/rhryshchuk_s.yevseiev_a.shmatko.cmissbiabs.284.2018
8. Yevseiev, S., Korol, O., Havrylova, A. (2019). Development of authentication codes of messages on the basis of UMAC with crypto-code McEliece's scheme on elliptical codes. Information protection and information systems security. Lviv: Lviv Polytechnic Publishing House, 86-87.
9. Havrylova, A., Korol, O., Yevseiev, S. (2019). Development of authentication codes of messages on the basis of UMAC with crypto-code McEliece's scheme. International Journal of 3D printing technologies and digital industry, 3 (2), 153-170.
10. Korol, O., Havrylova, A., Yevseiev, S. (2019). Practical UMAC algorithms based on crypto code designs. Przetwarzanie, transmisja i bezpieczenstwo informacji. Vol. 2. Bielsko-Biala: Wydawnictwo naukowe Akademii Techniczno-Humanistycznej w Bielsku-Bialej, 221-232.
Received date 25.11.2019 Accepted date 10.12.2019 Published date 30.12.2019
Гаврилова Алла Андреевна, старший преподаватель, кафедра кибербезопасности и информационных
технологий, Харьковский национальный экономический университет имени Семена Кузнеца, пр. Науки,
9А, г. Харьков, Украина, 61166
E-mail: alla.gavrylova@hneu.net