Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXXX Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 12 августа 2019 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Хлытина В.А., Иванова Д.С. ОЦЕНКА МОДИФИЦИРОВАННЫХ ЧИСЛОВЫХ АЛГОРИТМОВ ШИФРОВАНИЯ НА КРИПТОСТОЙКОСТЬ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LXXX междунар. студ. науч.-практ. конф. № 8(79). URL: https://sibac.info/archive/technic/8(79).pdf (дата обращения: 29.03.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
Диплом Выбор редакционной коллегии

ОЦЕНКА МОДИФИЦИРОВАННЫХ ЧИСЛОВЫХ АЛГОРИТМОВ ШИФРОВАНИЯ НА КРИПТОСТОЙКОСТЬ

Хлытина Влада Андреевна

студент 1-го курса, факультет оптико-информационных систем и технологий, Московский государственный университет геодезии и картографии, (МИИГАиК)

РФ, г. Москва

Иванова Дарья Сергеевна

студент 1-го курса, факультет оптико-информационных систем и технологий, Московский государственный университет геодезии и картографии, (МИИГАиК)

РФ, г. Москва

Лапчинская Маргарита Петровна

научный руководитель,

канд. техн. наук., доцент, Московский государственный университет геодезии и картографии, (МИИГАиК)

РФ, г. Москва

Введение

На сегодняшний день, в связи со стремительным развитием информационных технологий и повсеместной их интеграцией во многие сферы нашей жизни, проблема обеспечения информационной безопасности весьма актуальна как для крупных организаций, так и для обычных пользователей.

Одним из востребованных направлений информационной безопасности является обеспечение конфиденциальности и целостности информации.

История криптографии длится уже не одно тысячелетие. Конечно, с течением времени, чтобы соответствовать требованиям среды, ее методы претерпели некоторые изменения. Поэтому современные шифры в основном значительно сложнее своих предшественников. Несмотря на это, тот факт, что оригинальные шифры предыдущих эпох послужили основой для шифров современных, делает их достойными нашего внимания.

Целью настоящего исследования является разработка модифицированных алгоритмов шифрования текстовых сообщений и сравнение их с оригиналами алгоритмов на криптостойкость.

Общепринято считать, что криптостойкость является количественной характеристикой алгоритмов шифрования для определения количества операций вскрытия конкретного алгоритма при определенных условиях. Существует несколько методов, рассчитывающих требуемое количество ресурсов для взлома, одним из которых является криптоаналитический метод. Показателями криптостойкости в данном случае являются [2]:

– количество информации, необходимое для осуществления атаки;

– время, необходимое для осуществления атаки; обычно измеряется в количестве тестовых операций шифрования атакуемым алгоритмом, выполнение которых при соблюдении остальных необходимых условий позволит, например, вычислить ключ шифрования;

– память, необходимая для хранения используемой при атаке информации;

При анализе и исследования алгоритмов шифрования текстовых сообщений криптоаналитическим методом для каждого из алгоритмов (оригинального и модифицированного) использовался второй показатель – время.

1. Описание работы программного приложения

Был проведен предварительный анализ большого количества классических шифров [1], из которых для модификации мы отобрали и исследовали на криптостойкость с последующей оценкой три классических алгоритма шифрования:

1. Простой числовой шифр

2. Шифр гласных букв

3. Календарный шифр

Для выполнения поставленных задач на языке программирования C# было разработано программное приложение с использованием среды программирования Visual Studio v.17 [3], общий вид которой представлен на рис. 1.

 

Рисунок 1. Общий вид разработанного программного приложения

 

При запуске приложения возникает приветственное сообщение и пароль для ввода (Рис 2а). В случае неверно введенного пароля появляется соответствующее сообщение (Рис. 2б).

 

Рисунок 2а. Ввод пароля

Рисунок 2б. Неверный пароль

 

 

В Справке к приложению показывается сообщение о версии и функциях шифров (Рис. 3).

 

Рисунок 3. Информация о программе

 

Шифрование текстовых сообщений может осуществляться в 2-х вариантах: русском и английском.

 

Рисунок 4а. Пример шифрования сообщения на английском языке и оценки криптостойкости

 

Рисунок 4б. Пример шифрования сообщения на русском языке и оценки криптостойкости

 

Рисунок 5а. Пример дешифрования сообщения на английском языке

 

Рисунок 5б. Пример дешифрования сообщения на русском языке

 

Программа показывает криптостойкость шифров, сравнивая их по времени (Рис. 6).

 

Рисунок 6. Результаты сравнения криптостойкости по показателю времени

 

2. Алгоритмы модификации классических числовых шифров

Модификация каждого из отобранных классических шифров заключается в расширении изначального алфавита, включающего в себя строчные и прописные буквы, некоторыми спецсимволами в кодировке ASCII.

1. Простой числовой шифр. Первую букву алфавита необходимо обозначить произвольным числом, а каждой последующей букве надо присвоить число, большее, чем предыдущее, на 1,2 или 3. Те же действия производятся и над остальными символами алфавита. Блок-схема представлена на рис.7.

2. Шифр гласных букв. При использовании такого шифра гласные буквы в алфавите нумеруются цифрами от 1 до 9. При этом, например, в русском алфавите буква А обозначается цифрой 1, буква Е – цифрой 2, буква И – цифрой 3 и так далее. Затем каждой согласной букве присваивается свой номер, который определяется ее положением относительно ближайшей к ней с левой стороны в алфавите гласной буквы. Так, например, буква Б – первая согласная буква, расположенная справа от буквы А имеющей номер 1. Поэтому букве Б присваивается число 11. Буква Д – четвертая справа от буквы А, ее обозначают числом 14. Буква Н – пятая справа от гласной буквы И, обозначенной числом 3. Поэтому букве Н должно соответствовать число 35. В соответствии с этим правилом выбираются числа, которыми будут заменены остальные буквы алфавита. Те же действия производятся и над остальными символами алфавита. Теперь достаточно в открытом тексте заменить символы соответствующими числами, записываемые через точку.

3. Календарный шифр. В этом шифре на первом шаге все символы заменяются на их порядковые номера в алфавите. Дни недели переводятся в числа месяца, а затем – в буквы открытого текста. Для расшифровки необходимо знать только месяц и год, используемые в шифре.

Далее необходимо обозначить название каждого дня недели буквой, с которой оно начинается. Понедельник – П, вторник – В, среда – С, четверг – Ч, пятница – П, суббота – С, воскресенье – В. Так как названия некоторых дней недели начинаются с одинаковых букв, для их различия можно применить цифры. Понедельник – П1, вторник – В1, среда – С1, четверг – Ч, пятница – П2, суббота – С2, воскресенье – В2 [1].

2. Блок-схема шифра гласных букв

На рис. 7 приведен пример блок-схемы шифра гласных букв, лежащий в основе двух других блок-схем.

 

Рисунок 7. Блок-схема шифра гласных букв

 

3. Расчет криптостойкости модифицированных числовых шифров

Одним из вариантов оценки производительности выполнения алгоритма программы является определение значения FLOPS [4].

FLOPS – это количество вычислительных операций или инструкций, выполняемых над операндами с плавающей точкой в секунду. Его можно вычислить с помощью теоретически/эмпирически известного количества операций, необходимых для выполнения алгоритма, и измеренному времени:

FLOPS =4*N/t,

где: N – количество операций, необходимых для выполнения алгоритма,

t – время выполнения теста,

4 – операции с данными двойной точности выполняются одновременно над четырьмя 64-битными DP операндами в 256-битном регистре, поэтому умножаем на коэффициент 4.

Алгоритм расчета криптостойкости модифицированных числовых шифров осуществлялся согласно следующей последовательности действий.

1. Простой числовой шифр

1) обозначить первую букву любым числом из диапазона [10…78] (всего 69 чисел);

2) отобрать шаг между буквами: 1, 2 или 3. В результате, количество возможных вариантов шифров (К): К = 69*3 = 207

3) рассчитать количество комбинаций: порядок, в котором зашифрованы все символы без букв (всего их 36), неизвестен, следовательно, существует 36! различных комбинаций (C): С = 36! Таким образом, полное количество вариантов шифротекста (F): F = С*К = 207*36!

4) определить значение FLOPS: FLOPS = 4*207*36!/1 с = 3,08*10^44.

2. Шифр гласных букв

1) рассчитать количество комбинаций: для того, кто знает, как был зашифрован текст, расшифровать его не составит труда, но только его буквенную часть; поэтому порядок, в котором зашифрованы спецсимволы (всего их 36), неизвестен. Следовательно, существует 36! различных комбинаций (C): С = 36!

2) рассчитать полное количество вариантов шифротекста (F):  F = С = 36!

3) определить значение FLOPS: FLOPS = 4*36!/1 с = 1,49*10^42.

3. Календарный шифр

1) рассчитать количество вариантов комбинаций зашифрованного текста (K): K = 7;

2) рассчитать количество комбинаций: ранее было упомянуто, что существует 36! различных комбинаций спецсимволов (С): С = 36!;

3) рассчитать, полное количество вариантов шифротекста (F):  F = K*C = 7*36!

4) определить значение FLOPS: FLOPS = 4*7*36!/1 с = 1,04*10^43

4. Анализ полученных результатов

Сравнение криптостойкости классических шифров представлено в аблице 1.

Таблица 1.

Криптостойкость классических шифров

Шифр

Вычисление криптостойкости

Результат (FLOPS)

1. Простой числовой шифр

F = С*К

F = 207

FLOPS = 4*207/1 с

828

2. Шифр гласных букв

F = С

F=1

FLOPS = 4*1/1 с

4

3. Календарный шифр

F = С*К

F = 7

FLOPS = 4*7/1 с

28

 

Сравнение криптостойкости модифицированных числовых шифров представлено в аблице 2.

Таблица 2

Криптостойкость модифицированных шифров

Шифр

Вычисление криптостойкости

Результат (FLOPS)

1. Простой числовой шифр

F = С*К

F = 207*36!

FLOPS = 4*207*36!/1 с

 

3,08*10^44

 

2. Шифр гласных букв

F = С

F=36!

FLOPS = 4*36!/1 с

 

1,49*10^42

3. Календарный шифр

F = С*К

F = 7*36!

FLOPS = 4*7*36!/1 с

 

1,04*10^43

 

 

Заключение

1. Результаты, представленные в Таблицах 1 и 2, показывают, что наибольшей криптостойкостью (FLOPS) обладает простой числовой шифр.

2. Расположение числовых шифров в порядке убывания их криптостойкости:

Простой числовой шифр → Календарный шифр → Шифр гласных букв

3. Сравнение результатов вычислений по криптостойкости для классических и модифицированных шифров показывает практически одинаковое время (Таблица 2), но с точки зрения сравнения трех модифицированных алгоритмов наилучшей криптостойкостью обладает простой числовой шифр.

 

Список литературы:

  1. Адаменко М. В. Основы классической криптологии. Секреты шифров и кодов. – Москва, 2012. – 257 с.
  2. Панасенко С. П. П16. Алгоритмы шифрования. Специальный справочник. – СПб.: БХВ-Петербург, 2009. — 576 с.
  3. Троелсен Эндрю, Джепикс Филипп. Язык программирования C# 7 и платформы .NET и .NET Core – Москва, 2018. – 1328 с.
  4. Цымбал В. Как и зачем мерить FLOPSы [Электронный ресурс] – Режим доступа: URL: https://habr.com/ru/company/intel/blog/144388/ (дата обращения: 12.07.2019)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
Диплом Выбор редакционной коллегии

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.