ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ
Современные технологии. Системный анализ. Моделирование № 2 (58) 2018
УДК 004.056.55: 303.732.4: 519.1
DOI: 10.26731/1813-9108.2018.2(58).148-151
Н. А. Гайнулин, О. В. Кузьмин
Иркутский государственный университет, г. Иркутск, Российская Федерация Дата поступления: 7 июль 2018 г.
АЛГОРИТМЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ ДЛЯ ПЕРЕДАЧИ В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ УПРАВЛЕНИЯ НА ЖЕЛЕЗНОДОРОЖНОМ ТРАНСПОРТЕ
Аннотация. В данной работе авторы рассматривают возможности использования алгоритмов блочного представления данных в автоматизированных системах управления на железнодорожном транспорте в целях обеспечения надежной и безопасной передачи информации между различными узлами системы. Рассматривается класс алгоритмов, которые способны работать в условиях крайне ограниченных ресурсов, таких как память и вычислительная мощность. Делается вывод, что для объективной оценки различных характеристик алгоритмов необходим универсальный инструмент в виде программного обеспечения. Рассматривается вопрос обобщенного описания алгоритмов, которое будет пригодным для моделирования в компьютерной среде. Авторы предлагают использовать JSON-подобный формат при описании алгоритмов. Такое представление позволяет легко менять параметры алгоритма, автоматически генерировать код программной реализации и использовать компьютерную модель при сравнении характеристик алгоритмов между собой. Разработанный способ описания иллюстрируется на примере алгоритма SIMON.
В качестве математической модели нелинейной части блочного алгоритма представления данных авторы используют понятие векторной булевой функции. Приведено определение нелинейности булевой функции, в основе которого лежит понятие расстояния Хэмминга между булевыми функциями. Особое внимание уделяется способам вычисления значения нелинейности векторной булевой функции. Приведен метод вычисления данной характеристики векторной булевой функции, основанный на использовании свойств матриц Сильвестра - Адамара. Приведены оценки временной сложности методов вычисления нелинейности, а также оценка минимального объема компьютерной памяти, необходимой для реализации метода, предложенного авторами.
Ключевые слова: автоматизированные системы управления, алгоритмы, компьютерное моделирование, булевы функции, нелинейность.
N. A. Gainulin, O. V. Kuz'min
Irkutsk State University, Irkutsk, the Russian Federation Received: June 7, 2018
PROSPECTS OF APPLICATION OF DATA PROTECTION ALGORITHMS IN AUTOMATED CONTROL SYSTEMS ON RAILWAY TRANSPORT
Abstract. In this paper, the authors consider the possibility of using block data representation algorithms in automated control systems in railway transport in order to provide reliable and safe information transfer between various nodes of the system. We consider a class of algorithms that are capable of operating under extremely limited resources, such as memory and processing power. It is concluded that for an objective evaluation of various characteristics of algorithms, a universal tool in the form of software is needed. The question of the generalized description of algorithms which will be suitable for modeling in the computer environment is considered. The authors suggest using a JSON-like format for describing algorithms. This representation makes it easy to change the parameters of the algorithm, automatically generate the code of the software implementation and use the computer model when comparing the characteristics of the algorithms with each other. The developed method of description is illustrated by the example of the SIMON algorithm.
As a mathematical model of the nonlinear part of the block data representation algorithm, the authors use the concept of a vector Boolean function. A definition of the nonlinearity of a Boolean function is presented, which is based on the concept of the Hamming distance between Boolean functions. Particular attention is paid to the methods of calculating the value of the nonlinearity of a vector Boolean function. A method is given for calculating a given characteristic of a vector Boolean function based on the use of the properties of Sylvester-Hadamard matrices. Estimates of the time complexity of methods for calculating nonlinearity are presented, as well as an estimate of the minimum amount of computer memory necessary to implement the method proposed by the authors
Keywords: automated control systems, algorithms, computer simulation, Boolean functions, nonlinearity. Введение сбору и обработке данных. Исключением не стала
В современном мире с каждым годом воз- и отрасль железнодорожного транспорта. растает роль автоматизированных систем управ- На АСУ, используемые в железнодорожной
ления (АСУ). Использование АСУ позволяет уве- сфере, возлагаются задачи:
личить эффективность управления процессом за - регулировки процессов перемещения по-
счет повышения оперативности управления и движного состава по железнодорожному полотну; ускорения выполнения отдельных операций по - создания двухсторонней связи между дис-
петчером и машинистом;
148
© Н. А. Гайнулин, О. В. Кузьмин, 2018
Транспорт
оо ео I
Modern technologies. System analysis. Modeling, 2018, Vol. 58, no. 2
- контроля над процессами погрузки ваго-
нов;
- отслеживания пассажиропотока;
- оперативной обработки текущей информации о состоянии подвижного состава, железнодорожных путей;
- регулировки процессов движения поездов.
Примером сценария применения АСУ является получение и обработка информации, которая считывается датчиком, установленным вблизи путей, с RFID-меток, закреплённых на вагоны проходящего состава. Полученные данные могут содержать информацию о состоянии вагона и груза.
Современные АСУ - это сложные аппаратно-программные комплексы, состоящие из множества компонент. Эффективность работы такого комплекса зависит от корректности и целостности передаваемой информации между элементами системы. В некоторых сценариях требуется обеспечить невозможность получения информации третьей стороной. Для защиты информации от неправомерного доступа или изменения в АСУ используют решения на основе алгоритмов, способных работать в условиях ограниченных ресурсов. Такие требования вынуждают разработчика алгоритма искать сбалансированное решение, обеспечивающее должный уровень безопасности и производительности, а также учитывающее стоимость реализации. Использование методов компьютерного моделирования может значительно облегчить поиск такого решения. Таким образом, становится актуальной проблема создания инструмента в виде программного обеспечения, с помощью которого можно было бы решить поставленную задачу.
Вопросы комбинаторных методов представления информации также затрагиваются в работах [1-3].
Обобщённое описание алгоритмов
Проиллюстрируем формат обобщенной записи алгоритмов на примере SIMON. Данный алгоритм разработаны Агентством национальной безопасности США и представлен общественности в 2013 году. Алгоритм SIMON оптимизирован для работы в качестве аппаратной реализации и пригоден для использования в различных видах сенсоров и датчиков. В спецификации [4] определены несколько вариантов, отличающиеся друг от друга длинами блока данных и ключа.
Алгоритм SIMON может быть описан следующей структурой данных, формат которой очень близок к JSON [5]:
{
length_of_in: m, length_of_out: k,
out[0:n-1]: xor(xor(xor(and(left_shift(in[0:n-1], 1), left_shift(in[0:n-1], 8)) ,in[n:2n-1]), left_shift(in[0:n-1], 2)), round_key),
out[n:2n-1]: in[0:n-1] }
Здесь name - имя алгоритма, number_of_rounds -число раундов, length_of_in - длина блока входных данных, length_of_out - длина блока выходных данных, in[i:j] - часть блока входных данных с i-го по j-й бит включительно, нумерация битов начинается с 0, out[i:j] - часть блока выходных данных. Для следующих операций подразумевается, что блоки данных, выступающие в качестве аргументов, имеют одинаковую длину. xor - операция побитового сложения по модулю 2, and -операция побитового логического «И», left_shift -операция циклического сдвига вправо блока данных на заданное число бит, round_key - раундовый ключ.
Используя данное представление, можно по спецификации алгоритма строить его математическую модель, основанную на векторных булевых функциях, выделять линейную и нелинейную части, а также модифицировать исходный алгоритм, меняя различные параметры.
Данный способ пригоден для описания таких алгоритмов, как SKINNY [6], PRESENT [7].
Методы вычисления нелинейности раун-довых функций блочных шифров Большое разнообразие конструкций, применяемое при построении алгоритмов блочного представления данных, приводит к тому, что исследователям нужны объективные критерии оценки и сравнения свойств алгоритмов. Нелинейность является одним из важнейших свойств.
Математической моделью раундового преобразования служит векторная булева функция. В свою очередь, значение нелинейности булевой функции отражает как хорошо данная функция приближается линейными функциями. Высокое значение нелинейности раундового преобразования характеризует устойчивость всего алгоритма к методам линейного анализа. Вопросам практического применения булевых функций с высоким значением нелинейности посвящены работы [8, 9]. Пусть E = {0,1} - поле характеристики 2,
Z - поле целых чисел, а E2П - векторное пространство. Пусть u, v е E2n, скалярным произведением векторов u и v назовем величину
name: SIMON, number of rounds: 2n,
ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ
Современные технологии. Системный анализ. Моделирование № 2 (58) 2018
(и, ^ = ыу1 Ф ... Ф "пуп , где Ф - сложение по модулю 2.
Рассмотрим преобразование Уолша - Ада-мара Wf (и): E2" ^ Z , которое определяется формулой
Wf (u ) = К-1)
f (v)®(u, V)
Г1 1 > f Hn-
H = , Hn =
1 ,1 - n , Hn-1
- H
(5)
n-1 /
(1)
Значения Wf (u) в литературе называют спектральными коэффициентами функции f .
Пусть f и g - булевы функции, зависящие от одинакового числа переменных n , расстоянием Хэмминга между булевыми функциями f и g называется величина
dist(f, g)=|{x £ En : f (x)* g(x)} .
Пусть An - множество линейных булевых функций, зависящих от n переменных. Нелинейность функции f определяется формулой
nl(f ) = min dist(f, g). (2)
g£An
Известно, что нелинейность (2) и спектральные коэффициенты (3) булевой функции связаны соотношением
nl(f ) = 2n-1 - ^max\wf (u) . (3)
2 ueE^ '
Упорядоченный набор m булевых функций от n переменных F(x) = (/, (x), ... fm (x)) называется векторной булевой функцией, а функции fi (x) называют координатными функциями. Нелинейность векторной булевой функции F(x) определяется выражением
nl (F) = min (cf (x)® ... ® Cmfm (x)). (4)
ceEm \{0}
Учитывая выражения (1), (3) и (4), можно сделать вывод, что для вычисления нелинейности векторной булевой функции F(x) требуется вычислить нелинейность 2m -1 булевых функций и найти среди них наименьшее. Вычисление нелинейности булевой функции подразумевает нахождение 2n спектральных коэффициентов, каждый из которых требует вычисления 2n слагаемых. Каждое слагаемое в (1) содержит скалярное произведение двух векторов из E2n, для вычисления которого потребуется 2n -1 операций сложения и умножения. Таким образом, сложность вычисления нелинейности векторной булевой функции F (x) можно оценить как 0(2 m+2nn).
Рассмотрим матрицы вида
Матрицы вида (5) называют матрицами Сильвестра-Адамара. Их особенность состоит в
77 п
том, что если упорядочить векторы из Е 2 в лексикографическом порядке, то элемент, находящийся на пересечении ' -й строки и ] -го столбца
матрицы Нп, равен (— 1)", , где ", ыj £ Е П. Построив матрицу Н п нужного порядка, можно
получить значения слагаемых суммы из (1), не вычисляя непосредственно скалярные произведе-
77«
ния всевозможных пар векторов из Е2 .
Применив операцию поэлементного сложения по модулю 2 к таблице истинности функции /, зависящей от п переменных, и строке матрицы Нп, соответствующей вектору и , получим
набор длины 2п, состоящий из значений /(V' )ф (и, , где V' £ Е2п. Заметим, что время
выполнения операции поэлементного сложения по модулю 2 в современных процессорах сопоставимо с временем других элементарных операций, таких как сложение и умножение. Введем функ-
(х): Ек2 ^ , где к < 2п:
цию
S (x ) = £(-1)" .
(6)
i=1
Сохранив в памяти набор значений функции
5к (х) для всех векторов X £ Е^, , можно значительно упростить вычисление спектрального коэффициента функции /. Разбив набор значений
функции / и интересующую строку матрицы Н п
2 к
элементов,
получим 2п—к пар групп. Для каждой пары проводим операцию поэлементного сложения по модулю 2 и находим в памяти значение функции 52к (х) для полученного результата. Суммировав
найденные значения функции 5(х), получим
искомый спектральный коэффициент. Сложность данного алгоритма можно оценить как
0(2 т+2п—к+1 )
При реализации данного алгоритма следует учитывать количество памяти, которое требуется для хранения необходимых структур. Минимально возможное количество памяти, которое может занимать матрица Нп, равно 22п битам. Массив со
п
Транспорт
Modern technologies. System analysis. Modeling, 2018, Vol. 58, no. 2
значениями функции 5к (х) требует минимум 2к
ячеек памяти. Вопросы реализации описанного выше алгоритма подробно рассматриваются в работах [10-12].
Заключение
Использование приведённых алгоритмов представления данных в автоматизированных системах управления железнодорожным транспортом способствует обеспечению защиты информации, передаваемой между элементами системы, а
также снижению стоимости внедрения данной системы. Однако следует уделять особое внимание тому, какие алгоритмы используются в системе и насколько они устойчивы к внешним информационным воздействиям различных типов. При решении такого рода задач возникает потребность в универсальном способе описания алгоритмов, который будет понятен человеку и в то же время легко применим в компьютерном моделировании.
БИБЛИОГРАФИЧЕСКИИ СПИСОК
1. Кузьмин О.В., Оркина К.П. Построение кодов, исправляющих ошибки, с помощью треугольника типа Паскаля // Вестник Бурятского университета. - 2006. - № 13. С. 32-39.
2. Кузьмин О. В., Старков Б. А., Бинарные матрицы с арифметикой треугольника Паскаля и символьные последовательности // Известия Иркутского государственного университета. Серия Математика. - 2016. - №18. С. 38-47
3. Кузьмин О.В., Леонова О.В. О полиномах Тушара. В сборнике: Асимптотические и перечислительные задачи комбинаторного анализа сборник научных трудов. Иркутск, ИГУ. 1997. С. 101-109.
4. https://eprint.iacr.org/2013/404.pdf
5. D. Crockford. The application/json Media Type for JavaScript Object Notation (JSON) — Internet Engineering Task Force, 2006. — 10 p.
6. Beierle C., Jean., J., Colbl S. K., Leander G., Moradi A., Peyrin T., Sasaki Y., Sasdrich P., Sim S. M. The SKINN Family of Block Ciphers and its Low-Latency Variant MANTIS. Advances in Cryptology - CRYPTO 2016, Springer, 2016, pp. 123-153.
7. Bogdanov A., Knudsen L. R., Leander G., Paar C., Poschmann A., Robshaw M. J. B., Seurin Y., Vikkelsoe C. PRESENT: An Ultra-Lightweight Block Cipher. Cryptographic Hardware and Embedded Systems - CHES 2007, pp. 450-466
8. Булевы функции в теории кодирования и криптологии / О. А. Логачев [и др.]. - М. ЛЕНАНД, 2015. - 575 с.
9. Токарева Н. Н. Нелинейные булевы функции: бент-функции и их обобщения // Издательство LAP, 2011. 180 c.
10. Кузьмин О. В. Методы компьютерного моделирования булевых функций с максимальным значением нелинейности / О. В. Кузьмин, Н. А. Гайнулин // Современные технологии. Системный анализ. Моделирование. - 2017. - №(1)53. С. 123-127
11. Гайнулин Н. А.. , Кузьмин О. В. Ииспользование булевых функций с высоким значением нелинейности в криптографии. Транспортная инфраструктура Сибирского региона. Материалы седьмой научно практической конференции. - 2016. - pp. 281-285.
12. Гайнулин Н. А. Алгоритм вычисления нелинейности векторной булевой функции. Информационные технологии и проблемы математического моделирования сложных систем. - 2015. - №16. С. 27-32
Информация об авторах
Гайнулин Николай Амирович - магистрант, Институт математики, экономики и информатики, Иркутский государственный университет, г. Иркутск, Российская Федерация, e-mail: izelentsov. isu@gmail. com
Кузьмин Олег Викторович - д. ф. м. н., профессор, заведующий кафедрой теории вероятностей и дискретной математики, Иркутский государственный университет, г. Иркутск, email: [email protected]
Authors
Nikolay Amirovich Gainulin -master's degree student, Institute of mathematics, Economics and Informatics, Irkutsk state University, Irkutsk, Russian Federation, e-mail: [email protected]
Oleg Viktorovich Kuz'min - Dr. Sci. in Physics and Mathematics, Prof., Head of the Subdepartment of Probability and Discrete Mathematics, Institute of Mathematics, Economics and Informatics, Irkutsk State University, Irkutsk, e-mail: [email protected]
Для цитирования
Алгоритмы представления данных для передачи в автоматизированных системах управления на железнодорожном транспорте / Н. А. Гайнулин, О. В. Кузьмин// Современные технологии. Системный анализ. Моделирование. - 2018. - Т. 58 № 2. - С. 148-151. - DOI: 10.26731/1813-9108.2018.2(58).148-151.
For citation
Opredelenie potrebnosti v inventarnom parke lokomotivov na per-spektivu [Prospects of application of data protection algorithms in automated control systems on railway transport]. Sovremennye tekhnologii. Sistemnyi analiz. Modelirovanie [Modern Technologies. System Analysis. Modeling], 2018., Vol. 58, No. 2, pp. 148151. DOI: 10.26731/1813-9108.2018.2(58).148-151.