MODELING RSA ENCRYPTION IN MS EXCEL
DOI: https://doi.org/10.23670/IRJ.2022.118.4.017
МОДЕЛИРОВАНИЕ RSA-ШИФРОВАНИЯ В MS ЕXCEL
Научная статья
ORCID: 0000-0003-4873-2801,
Санкт-Петербургский университет ГПС МЧС России,Санкт-Петербург, Россия
* Корреспондирующий автор (ezemifort[at]inbox.ru)
Аннотация
Статья посвящена математическим и прикладным аспектам шифрования данных по алгоритму RSA. Рассмотрены два основных метода шифрования. Представлены и описаны основные шаги алгоритма шифрования данных по схеме RSA. Приведена задача с последовательными этапами действий кодирования, передачи и расшифровки сообщения с использованием алгоритма шифрования RSA в MS Excel. Обоснована актуальность применения метода возведения в квадрат и умножения с использованием схемы «справа налево».
Аргументировано, что криптостойкость RSA основывается на сложности разложения на множители больших чисел, а именно – на исключительной трудности задачи определить секретный ключ на основании открытого, так как для этого требуется решить задачу о существовании делителей целого числа.
Ключевые слова: криптография, криптостойкость, алгоритм RSA, шифрование.
MODELING RSA ENCRYPTION IN MS EXCEL
Research article
Trofimets E.N.*
ORCID: 0000-0003-4873-2801,
Saint-Petersburg University of the State Fire Service of the EMERCOM of Russia, Saint Petersburg, Russia
* Corresponding author (ezemifort[at]inbox.ru )
Abstract
The article discusses mathematical and applied aspects of data encryption using the RSA algorithm. Two main encryption methods are examined. The study presents and describes the main steps of the RSA data encryption algorithm. The author presents a problem with sequential steps of encoding, transmitting, and decrypting a message using the RSA encryption algorithm in MS Excel; the relevance of the application of the squaring and multiplication method using the "right to left" scheme is also substantiated.
It is argued that the cryptographic strength of RSA is based on the complexity of factoring large numbers, namely, on the exceptional difficulty of determining the secret key based on the public key, since this requires solving the problem of the existence of integer divisors.
Keywords: cryptography, cryptographic strength, RSA algorithm, encryption.
Введение
Надежность и защита данных в системах автоматизации связаны с криптографией. Математические и прикладные аспекты шифрования данных по алгоритму RSA являются инструментом криптографии.
В зависимости от структуры используемых ключей методы шифрования подразделяются на два основных вида:
1) Симметричное шифрование: посторонним лицам может быть известен алгоритм шифрования, но неизвестна небольшая порция секретной информации – ключа, одинакового для отправителя и получателя сообщения. Примеры: DES, 3DES, AES, Blowfish, Twofish, ГОСТ 28147-89.
2) Асимметричное шифрование: посторонним лицам может быть известен алгоритм шифрования и открытый ключ, но неизвестен закрытый ключ, известный только получателю. Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), а также SSH, PGP, S/MIME и т. д. Российский стандарт, использующий асимметричное шифрование ГОСТ Р 34.10-2001.
Научные результаты и их новизна
Научные результаты состоят в разработанной оригинальной компьютерной модели криптосистемы RSAв MSExcel, которая позволяет продемонстрировать сложность задачи факторизации произведения двух больших простых чисел и осуществить оценку ее криптостойкости.
Новизна результатов заключается в новом подходе к исследованию математических и прикладных аспектов криптографического алгоритма RSA, отличающегося от известных наглядной и оригинальной демонстрацией операций шифрования и дешифрования коротких сообщений с использованием схемы быстрого возведения в степень.
Методы и принципы исследования
На данный момент асимметричное шифрование на основе открытого ключа RSA (расшифровывается, как Rivest, ShamirandAldeman – это фамилии создателей алгоритма) использует большинство продуктов на рынке информационной безопасности [1], [2], [3], [6].
Хотя RSA может теоретически использоваться для шифрования и дешифрования любых реальных сообщений, на практике его наиболее часто применяют для относительно коротких сообщений. В частности, он применяется в цифровых подписях и других криптографических системах, которые нужны для шифрования коротких сообщений без доступа к симметричному ключу.
Криптостойкость RSA основывается на сложности разложения на множители больших чисел, а именно – на исключительной трудности задачи определить секретный ключ на основании открытого, так как для этого потребуется решить задачу о существовании делителей целого числа. Наиболее криптостойкие системы используют 1024-битовые и большие ключи.
Примечание: В 2003 г. Ади Шамир и Эран Тромер разработали (на теоретическом уровне) схему специализированного TWIRL-компьютера для взлома RSA-ключей. По их оценке вариант TWIRL-компьютера стоимостью в 10 000 $ позволит дешифровать 512-битовый ключ за 10 минут, а в варианте стоимостью в 10 000 000 $ – 1024-битовый ключ примерно за год. В настоящее время нет сведений об эффективном взломе 1024-битовых ключей. Тем не менее, лаборатория RSA рекомендует в настоящее время использовать ключи размером 2048 бит.
Математические и прикладные аспекты шифрования данных используются при моделировании RSA-шифрования [1], [2], [3], [6]. Рассмотрим основные шаги алгоритма шифрования данных по схеме RSA.
Шаг 1.Генерация ключей
- Выбираются два больших простых числа p и q (числа p и q называются порождающими числами).
Примечание: Простое число – целое положительное число, большее единицы, и не имеющее других делителей, кроме самого себя и единицы.
- Вычисляется произведение порождающих чисел N = p´q (число N называется модулем).
- Вычисляется функция Эйлера: φ(N)=(p-1)(q-1).
Примечания:
- Результат расчета данной функции равен количеству положительных чисел, не превосходящих N и взаимно простых с N.
- Взаимно простые числа – целые числа, не имеющие общих делителей кроме 1. Например, 14 и 25 взаимно простые числа, так как у них нет общих делителей, кроме 1, т.е. НОД (14, 25) = 1 (НОД – наибольший общий делитель).
- Порождающие числа p и q в дальнейшем не нужны, поэтому они уничтожаются безопасным образом.
- Выбирается открытый ключ е, который должен удовлетворять следующим условиям:
Абонент | Открытый ключ |
А | (NА, eА) |
В | (NB, eB) |
С | (NC, eC) |
Рис. 1 – Ключ абонента
Ключ d является секретным ключом абонента и держится им в секрете.
Примечание: Выбор e в качестве открытого ключа, а d – в качестве секретного, является совершенно условным. Оба ключа совершенно равноправны. В качестве открытого ключа можно взять d, а в качестве закрытого – е. Главное – закрытый ключ хранить в тайне.
Шаг 2. Шифрование сообщения (действия на стороне отправителя)
- Исходное сообщение разбивается на блоки, каждый из которых может быть представлен в виде десятичного числа Mi. При этом должно выполняться условие (3):
Mi<N | (3) |
Примечание: Следует отметить, что порождающие числа p и q выбираются таким образом, чтобы N было больше кода любого символа открытого сообщения. В автоматизированных системах исходное сообщение переводится в двоичное представление, после чего шифрование выполняется над блоками бит, равной длины. При этом длина блока должна быть меньше, чем длина двоичного представления N.
- Текст открытого (исходного) сообщения шифруется открытым ключом получателя по формуле (4):
(4) |
где Ci – i-й символ шифрограммы, представленный в десятичном коде; Mi– i-й символ исходного сообщения, представленный в десятичном коде.
Зашифрованное сообщение (шифрограмма) отправляется получателю.
Шаг 3. Расшифровка шифрограммы (действия на стороне получателя)
- Принятая шифрограмма расшифровывается с использованием секретного ключа получателя по формуле (5):
(5) |
Перейдем к постановке задачи:
Два абонента, Олег и Сергей, передают друг другу данные с использованием алгоритма шифрования RSA. Смоделируем:
а) передачу сообщения ПРИВЕТ_СЕРГЕЙ от Олега ® Сергею.
б) расшифровку полученного сообщения на стороне Сергея.
Коды букв соответствуют их положению в английском алфавите. Для символа ( _ ) используется код 0.
Для генерации открытого и секретного ключей Сергей использует порождающие числа p = 3 и q = 11.
Решение:
- Открываем файл ИсследованиеRSA.xlsx. В таблицу Генерация ключей (Рисунок 2) заносим значения p и q Сергея. Вводим формулы для вычисления N и φ(N).
Рис. 2 – Генерация ключей
- Случайным образом выбираем открытый ключ е, при этом проверяем выполнение условий (1).
Для подбора ключа е вводим с клавиатуры в ячейку J10 целые числа и проверяем значение в ячейке J14 (в эту ячейку введена функция НОД, вычисляющая наибольший общий делитель для ячеек J9 и J10). Если J14= 1, то введенное в ячейку J10 число подходит в качестве открытого ключа е. Условиям (1) удовлетворяют числа: 3, 7, 9, 11, 13, 17, 19.
Для возможности последующего выполнения в Excel операций возведения чисел в большие степени выбираем в качестве открытого ключа енаименьшее из возможных чисел, т.е. число 3 (Рисунок 3).
Рис. 3 – Проверка подбора ключей - этап 1
- Подбираем вручную значение секретного ключа d, чтобы выполнялись условия (2).
Используем функцию ОСТАТ (категория Математические), которая реализует операцию mod (остаток от деления).
После этого начинаем вводить с клавиатуры в ячейку J11 целые числа и проверяем значение в ячейке J15. Если J15= 1, то введенное в ячейку J11 число подходит в качестве секретного ключа d (Рисунок 4).
Риc. 5 – Символы и их шифрограммы
- Используем функцию ВПР (категория Ссылки и массивы), составим шифрограмму сообщения ПРИВЕТ_СЕРГЕЙ (Рисунок 6).
Рис. 10 – Некорректная расшифровка шифрограммы
- Выбираем новые порождающие числа p = 17 и q = 19. Обращаем внимание, что вычисленное значение N = p´q = 17 ´ 19 = 323 >Mi.
Выбираем открытый ключ е, при этом проверяем выполнение условий (1). Условиям (1) удовлетворяют числа: 5, 7, 11, 13, 17 и т.д. Для возможности последующего выполнения в Excel операций возведения чисел в большие степени выбираем в качестве открытого ключа енаименьшее из возможных чисел, т.е. число 5 (Рисунок 11).
Рис. 11 – Проверка подбора ключей - этап 1
- Подбор вручную секретного ключа d для рассматриваемой ситуации является достаточно затруднительной операцией, поэтому воспользуемся следующей формулой:
d = e(φ(N)-1) mod φ(N). | (6) |
Вводим формулу (6) в ячейку J11 – обращаем внимание, что она возвращает значение ошибки #ЧИСЛО! (Рисунок 12). Причиной этого является невозможность нахождения в Excel точного значения выражения e(φ(N)-1) = e(288-1) = e287 с использованием стандартного оператора возведения в степень.
Рис. 12 – Проверка подбора ключей - этап 2
Вычисляем выражение e287mod 288 с использованием программы Калькулятор (вид Инженерный), входящей в группу стандартных программ Windows. Удаляем из ячейки J11 введенную формулу и заносим в неё вычисленное значение d.
Проверяем правильность подбора вычисленного секретного ключа d по значению в ячейке J11 (Рисунок 13).
Рис. 14 – Шифрограмма сообщения
- Обращаем внимание, что при дешифровке полученной шифрограммы с использованием функции ОСТАТ возвращается значение ошибки #ЧИСЛО! (Рисунок 15).
Рис. 17 – Генерация ключей
- Допустим, Олег выбрал открытый ключ е = 737. В ячейку I14 скопируем из ячейки J14 функцию НОД, проверяем выполнение условия (1), (рисунок 18).
Рис. 18 – Проверка подбора ключей
В ячейку I15 скопируем из ячейки J15 функцию ОСТАТ.
Используя программу Калькулятор вычисляем значение секретного ключа d по формуле (6).
Обращаем внимание на сообщение программы Калькулятор (Рисунок 19).
Рис. 19 – Программа «Калькулятор»
- Полученное выражение 7374175 не может быть вычислено программой Калькулятор. Следует заметить, что большинство компьютерных языков и прикладных программ не имеет операторов, которые могут эффективно вычислять степень для очень больших чисел. Чтобы можно было выполнять данную операцию, используют специальные алгоритмы. Для рассматриваемой ситуации интерес представляют алгоритмы, способные вычислить выражение:
y = ax mod m | (7) |
при больших x.
Такие алгоритмы получили название алгоритмов быстрого возведения в степень по модулю. Наиболее известными из них являются: метод с использованием Китайской теоремы об остатках, метод возведения в квадрат и умножения, метод Монтгомери возведения в степень, алгоритм с использованием «школьного» метода.
Рассмотрим метод возведения в квадрат и умножения с использованием схемы «справа налево», который можно достаточно просто реализовать в MSExcel. Рассмотрение метода проведем на конкретном примере вычисления секретного ключа Олега с использованием выражения:
7374175 mod 4176.
а) Подготовим таблицу для ввода исходных данных (Рисунок 20).
Рис. 20 – Вычисление секретного ключа методом возведения в квадрат и умножения с использованием схемы «справа налево»
б) Показатель степени x = 4175 представим в двоичной системе счисления и запишем полученное значение в обратном порядке с выделением разрядов (Рисунок 21).
Рис. 21 – Показатель степени в двоичной системе счисления
Для представления числа в двоичной системе счисления воспользуемся функцией ОСНОВАНИЕ из категории Математические (функция доступна в версиях Excel 2013 и более поздних) или программой Калькулятор (вид Программист).
Примечание: В ранних версиях Excel в категории Инженерные имеется функция ДЕС.В.ДВ, которая выполняет преобразование чисел из диапазона от -512 до 511, что для рассматриваемого примера является недостаточным. Функция ОСНОВАНИЕ выполняет преобразование чисел от 0 до 253.
Для подсчета числа разрядов двоичного числа воспользуемся функцией ДЛСТР (категория Текстовые).
Номера разрядов двоичного числа вводим вручную, начиная с 13 и до 1 (для последующего выделения разрядов в обратном порядке).
Для выделения разрядов из двоичного числа воспользуемся функцией ПСТР (категория Текстовые). Результатом будет поразрядное представление двоичного числа в обратном порядке (1111001000001), поэтому рассматриваемая схема и называется «справа налево».
Так как функция ПСТР возвращает текстовые значения, то для последующих расчетов их необходимо преобразовать в числовые. Для этого воспользуемся функцией ЗНАЧЕН (категория Текстовые).
в) Разработаем расчетную таблицу (Рисунок 22).
Рис. 22 – Расчетная таблица
В столбце Степень. дв. обр. приведено двоичное представление степени x в обратном порядке (вверху младшие разряды, внизу – старшие), для чего необходимо транспонировать (развернуть на 90 градусов) значения из строки Степ дв. обр. Для этого воспользуемся функцией ТРАНСП (категория Ссылки и массивы), которая должна быть введена как формула массива. Порядок действий следующий:
- вводим функцию ТРАНСП в первую ячейку столбца Степень. дв. обр.;
- выделяем все ячейки столбца ТРАНСП, ставим курсор в строку формул;
- нажимаем комбинацию клавиш Ctrl+Shift+Enter.
Первое значение в столбце yiрассчитывается по формуле:
= 737mod 4176 = 737.
Дальнейшие вычисления производятся по рекуррентной формуле:
(8) |
Вводим соответствующие формулы в столбец yi.
Основные результаты
Для нахождения итогового произведения Y необходимо перемножить yi, которым соответствует 1 в двоичном представлении степени (столбец Степень. дв. обр.). Для рассматриваемого примера имеем:
Для автоматизации данного расчета вводим в ячейку Произведение Y следующую формулу:
=ПРОИЗВЕД(ЕСЛИ(Диапазон_двоичных_разрядов=1; Диапазон_yi;1)).
Данная формула должна быть введена как формула массива, т.е. с использованием комбинации клавиш Ctrl+Shift+Enter.
Примечание: Суть формулы состоит в том, что если разряд в двоичном представлении степени равен 1, то в итоговое произведение Y в качестве сомножителя будет входить yi, в противном случае в качестве сомножителя будет входить 1. Для рассматриваемого примера имеем: .
Секретный ключ d рассчитывается по формуле:
d = Ymodj(N).
- В рассматриваемом примере легко подобрать такие порождающие числа p и q, что при расчете d даже с использованием рассмотренного выше метода возникает переполнение и возвращается значение ошибки #ЧИСЛО. Кроме того, операцию возведения в большие степени необходимо будет повторить достаточно большое число раз при кодировании символов открытым ключом Олега и при дешифровке полученной шифрограммы на стороне Сергея. Поэтому возникает потребность в написании специальной функции на языке VBA, которая позволит решать данную задачу более эффективно.
Функция VBA подготовлена, её необходимо импортировать в программный модуль проекта и использовать на рабочем листе Excel [7], [8], [9], [10].
Для возможности использования функций, написанных на языке VBA, необходимо сохранить рабочую книгу с поддержкой макросов (Сохранить как – Книга Excel с поддержкой макросов (*.xlsm)).
Для импорта функции выполняем следующие действия:
- переходим в среду VBA (вкладка Разработчик – VisualBasic или комбинация кнопок Alt+F11);
- вставим программный модуль (Insert – Module);
- импортируем функцию СтепеньПоМодулю из файла Функция СтепеньПоМодулю bas (Insert – File). При импорте выбираем тип файла Basic Files (*.bas) или All Files (*.*).
Если используется 64-разрядная версия MSOffice, то можно импортировать функцию СтепеньПоМодулю из файла Функция СтепеньПоМодулю 64.bas,вкоторой для переменных используется тип данных LongLong, позволяющий хранить 8-байтовые целые числа в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 (в 32-разрядной версии функции используется тип данных Long, позволяющий хранить 4-байтовые целые числа в диапазоне от -2 147 483 648 до 2 147 483 647);
- нажимаем кнопку Save, закрываем окно VBA и переходим на рабочий лист.
- Протестируем импортированную функцию СтепеньПоМодулю (категория Определенные пользователем), вычислив с её помощью секретный ключ d (Рисунок 23).
- Путем копирования создадим шаблон для шифрования сообщения ТЕКСТ_ПОЛУЧИЛ, передаваемого от Сергея ® Олегу, и шаблон для расшифровки полученнойшифрограммы на стороне Олега (Рисунок 25).
Обсуждение
Криптостойкость RSA основывается на сложности разложения на множители больших чисел, а именно – на исключительной трудности задачи определить секретный ключ на основании открытого, так как для этого требуется решить задачу о существовании делителей целого числа.
В рассмотренном примере использовались 6-битовое (p = 59) и 7-битовое (q = 73) порождающие числа для формирования ключей, тем не менее даже при такой малой размерности в ряде случаев пришлось прибегнуть к нестандартным вычислениям. В реальных системах используются, как правило, 1024-битовые ключи, а наиболее криптостойкие системы используют 2048-битовые ключи.
Заключение
Таким образом алгоритм RSA имеет большую практическую значимость и получил широкое распространение в различных сетевых протоколах, а также в электронной цифровой подписи.
Конфликт интересов Не указан. | Conflict of Interest None declared. |
Список литературы / References
- Matrokhina, K.V. Ensuring information security in corporate communication systems / K. V. Matrokhina, V. Makhovikov, E. N. Trofimets, // E3S Web of Conferences 266, 09001 (2021). – TOPICAL ISSUES, 2021.–DOI: 10.1051/e3sconf/202126609001.
- Козлов А.А. Разработка функции связывания ключей в ARX-алгоритмах стохастического преобразования данных / А. А. Козлов // Безопасность информационных технологий. – 2021. – Т. 28. № 4. – С. 63-73.
- Запечников С.В. Конфиденциальное машинное обучение на основе двусторонних протоколов безопасных вычислений / Запечников С.В., Щербаков А.Ю. // Безопасность информационных технологий. – 2021. – Т. 28. № 4. – С. 39-51.
- Артемчук К.И. Математические основы алгоритма RSA / Артемчук К.И. // Некоторые вопросы анализа, алгебры, геометрии и математического образования, Воронежский государственный педагогический университет. – 2016. – №5-2. – С. 17.
- Гуринец К.Р. Алгоритм шифрования RSA / К. Р. Гуринец // Новые информационные технологии в науке. Сборник статей по итогам Международной научно-практической конференции. – 2017. – С. 32-35.
- Волокитина Т.С. Надежность реализаций алгоритма RSA / Т.С. Волокитина // Современные научные исследования и инновации. – 2021. – №4 (120). –[Электронный ресурс]. URL: https://web.snauka.ru/issues/(дата обращения: 12.03.2022)
- Trofimets, E.N. Ontheidentificationofbearingsofactiveinterferencesources / Trofimets, E.N., Mazakov, V., Trofimets, V.Ya. // IOPConferenceSeries: MaterialsScienceandEngineering (MSE), JournalofPhysics: Conf. Ser. 1047, 12146. – 2021.
- Маховиков А.Б. К вопросу разработки протокола защиты информации в корпоративных системах IP-Телефонии / А. Б. Маховиков, К. В. Матрохина, Е. Н. Трофимец // Научно-аналитический журнал вестник Санкт-Петербургского университета Государственной противопожарной службы МЧС России». – 2020. – №2. – С. 52-59.
- Родин А.К. Совершенствование технологии программирования логических контроллеров на основе технологии TEXT MINING / А. К. Родин, Д. Макарова, Е. Н. Трофимец // Научно-аналитический журнал вестник Санкт-Петербургского университета Государственной противопожарной службы МЧС России,– 2019. –№ 3. – С. 55-62.
- Трофимец Е.Н. Анализ существующих формальных подходов к определению понятия «Сложная задача» / Е. Н. Трофимец, В. Я. Трофимец // Научно-практический журнал «Современная наука: актуальные проблемы теории и практики». Серия: Естественные и технические науки. – 2021. – №11. – С.113-116.
Список литературы на английском языке / References in English
- Matrokhina, K.V. Ensuring information security in corporate communication systems / K. V. Matrokhina, V. Makhovikov, , E. N. Trofimets // E3S Web of Conferences 266, 09001 (2021). – TOPICAL ISSUES, 2021. – DOI:10.1051/e3sconf/202126609001,
- Kozlov A.A. Razrabotka funkcii svjazyvanija kljuchej v ARX-algoritmah stohasticheskogo preobrazovanija dannyh [Development of the Key Binding Function in Arx Algorithms of Stochastic Data Transformation] / A.A. Kozlov // Bezopasnost' informacionnyh tehnologij [Information Technology Security]. – 2021. – Vol. 28. № 4. – pp. 63-73. [in Russian]
- Zapechnikov S.V. Konfidencial'noe mashinnoe obuchenie na osnove dvustoronnih protokolov bezopasnyh vychislenij [Confidential Machine Learning Based on Two-Way Secure Computing Protocols] / S.V. Zapechnikov, A.Ju. Shherbakov // Bezopasnost' informacionnyh tehnologij [Information Technology Security]. – 2021. – Vol. 28. № 4. – pp. 39-51. [in Russian]
- Artemchuk K.I. Matematicheskie osnovy algoritma RSA [Mathematical Foundations of the RSA Algorithm] / I. Artemchuk // Nekotorye voprosy analiza, algebry, geometrii i matematicheskogo obrazovanija [Some Questions of Analysis, Algebra, Geometry and Mathematical Education], Voronezhskij gosudarstvennyj pedagogicheskij universitet. – 2016. №5-2. – pp. 17. [in Russian]
- Gurinec K.R. Algoritm shifrovanija RSA [RSA Encryption Algorithm] / K.R. Gurinec // Novye informacionnye tehnologii v nauke. Sbornik statej po itogam Mezhdunarodnoj nauchno-prakticheskoj konferencii. [New Information Technologies in Science. Collection of Articles on the Results of the International Scientific and Practical Conference.]. – 2017. – pp. 32-35. [in Russian]
- Volokitina T.S. Nadezhnost' realizacij algoritma RSA [Reliability of RSA Algorithm Implementations] [Electronic resource] / T.S. Volokitina // Sovremennye nauchnye issledovanija i innovacii [Modern Scientific Research and Innovation] . – 2021. – №4 (120) . – URL: https://web.snauka.ru/issues/(accessed: 12.03.2022)[in Russian]
- Trofimets, E.N. On the identification of bearings of active interference sources / E. N. Trofimets, , E. V. Mazakov, Ya. Trofimets // IOP Conference Series: Materials Science and Engineering (MSE), Journal of Physics: Conf. Ser. 1047, 12146. – 2021.
- Mahovikov A.B. K voprosu razrabotki protokola zashhity informacii v korporativnyh sistemah IP-Telefonii [On the Issue of Developing an Information Protection Protocol in Corporate IP Telephony Systems] / A.B. Mahovikov, K. V. Matrohina, E.N. Trofimec // Nauchno-analiticheskij zhurnal vestnik Sankt-Peterburgskogo universiteta Gosudarstvennoj protivopozharnoj sluzhby MChS Rossii [Scientific and Analytical Journal Bulletin of the St. Petersburg University of the State Fire Service of the Ministry of Emergency Situations of Russia]. – 2020. – №2. – pp. 52-59. [in Russian]
- Rodin A.K. Sovershenstvovanie tehnologii programmirovanija logicheskih kontrollerov na osnove tehnologii TEXT MINING [Improving the Technology of Programming Logic Controllers Based on Text Mining Technology] / A.K. Rodin, Makarova, E.N. Trofimec // Nauchno-analiticheskij zhurnal vestnik Sankt-Peterburgskogo universiteta Gosudarstvennoj protivopozharnoj sluzhby MChS Rossii [Scientific and Analytical Journal Bulletin of the St. Petersburg University of the State Fire Service of the Ministry of Emergency Situations of Russia]. – 2019. –№ 3. – pp. 55-62. [in Russian]
- Trofimec E.N. Analiz sushhestvujushhih formal'nyh podhodov k opredeleniju ponjatija «Slozhnaja zadacha» [Analysis of Existing Formal Approaches to the Definition of the Concept of “Complex Task”] / E.N. Trofimec, V.Ja. Trofimec // Nauchno-prakticheskij zhurnal «Sovremennaja nauka: aktual'nye problemy teorii i praktiki». Serija: Estestvennye i tehnicheskie nauki. [Scientific and Practical Journal “Modern Science: Actual Problems of Theory and Practice”. Series: Natural and Technical Sciences.]. – 2021. – №11. – pp. 113-116. [in Russian]