Разработка программного обеспечения для реализации алгоритмов кодирования и декодирования текстовой информации
Автор: Быценко А., Гончаров Д.В., Подпругин А.И., Свиридова И.В.
Журнал: Теория и практика современной науки @modern-j
Рубрика: Основной раздел
Статья в выпуске: 5 (83), 2022 года.
Бесплатный доступ
В данной статье рассматриваются алгоритмы реализации кодирования и декодирования информации, а также рассматриваются достоинства и недостатки алгоритмов.
Кодирование, декодирование, алгоритмы
Короткий адрес: https://sciup.org/140292321
IDR: 140292321
Текст научной статьи Разработка программного обеспечения для реализации алгоритмов кодирования и декодирования текстовой информации
Актуальность работы подтверждается потребностью в защите информации от третьих лиц, в связи с развивающимся уровнем угроз. Людям важна конфиденциальность данных, как личных, так и рабочих, однако, в связи с развитием технологий, развивается и уровень опасности потери конфиденциальности. С данной проблемой помогает справиться шифрование данной информации, ведь даже при условии попадания зашифрованных данных в руки злоумышленника, возможности прочесть или изменить информацию должным образом нет, так-как в шифротексте отсутствует смысловая нагрузка. Шифрование — это обратимое преобразование информации таким образом, чтобы полностью убрать смысловую нагрузку сообщения, тем самым ограничив доступ злоумышленников к исходному сообщению. Алгоритмы шифрования делятся на симметричные и ассиметричные [2].
Симметричные — это алгоритмы шифрования, использующие единый закрытый ключ. Обеим сторонам, обменивающимся сообщениями, необходимо заранее договорится об используемом алгоритме, ключе и о запрете его разглашения третьим лицам [4].
Достоинствами таких алгоритмах являются: скорость, простота реализации, небольшая длина ключа для сопоставимой стойкости.
Недостатками таких алгоритмов являются: изученность (за счёт большого возраста); сложность управления ключами в большой сети, сложность обмена ключами (необходимость защищённого канала).
Ассиметричные — это алгоритмы шифрования, использующие открытый и закрытый ключи. Первый применяется для шифрования, второй — для дешифрования. Данный подход позволяет избавиться от повторного отправления зашифрованного текста, что обеспечивает меньшую затрату ресурсов [5]. Ассиметричные алгоритмы применяются гораздо чаще в силу большей криптостойкости, по сравнению с симметричными алгоритмами.
Достоинствами таких алгоритмах являются: отсутствие необходимости в секретном канале, для дешифрования секретный ключ нужно знать лишь одной стороне, в больших сетях количество ключей значительно меньше.
Недостатками таких алгоритмов являются: сложность внесения изменений в алгоритм, длина ключа в несколько раз выше, чем в симметричных алгоритмах.
В ходе выполнения работы будет разработано ПО, реализующее такие алгоритмы шифрования как:
-
1. Шифр «Цезаря», использующий метод простой перестановки.
-
2. Шифр «Виженера», использующий метод простой перестановки.
-
3. «RSA» (аббревиатура от фамилий Rivest, Shamir и Adleman)
-
4. «Схема Эль-Гамаля»
-
5. Комбинированный алгоритм «Шифр Цезаря» и «RSA»
Следует выделить основные объекты разрабатываемого ПО, которые в дальнейшем будут являться классами [3]: главное окно (Main Class) — класс, отвечающей за логику главного окна программы, выполняет роль связующего звена между пользовательским и системный интерфейсом; окно информации о программе (About Info); шифровальщик (Crypto) — класс, отвечающий за обработку(шифрование/дешифрование) текстовой информации, получаемой от пользователя путём ввода с клавиатуры и/или из файла. Таким образом, при помощи контекстной диаграммы нотации IDEF3, описывающей бизнесс-процесс обработки информации, а также логику взаимодействия подсистем в приложении, будет выглядеть следующим образом (Рис. 1). Диаграмма декомпозиции первого уровня представлена далее (Рис. 2).

Рис. 1. Диаграмма IDEF3 [A-0]
Рис. 2. Диаграмма IDEF3 [A0]
Контекстная диаграмма DFD будет иметь следующий вид (Рис. 3).

Рис. 3. Диаграмма DFD [A-0]
Диаграмма декомпозиции первого уровня представлена далее (Рис. 4).

Рис. 4. Диаграмма DFD [A0]
Возможность создания комфортного пользовательского интерфейса с помощью XAML подтверждается большими функциональными возможностями языка. В работе будут использованы таковые: margin (отступы от границ окна или элементов управления), padding (внутренний
отступ контента от элемента управления), content (свойство, содержащие какой-либо объект любого типа) и другие.
Таким образом главное окно ПО будет иметь следующий вид (Рис. 5).

Рис. 5. Внешний вид главного окна программы
Подводя итоги, стоит отметь следующее: было создано ПО, демонстрирующее работу как вышедших из эксплуатации, так и актуальных на сегодняшний день, алгоритмов шифрования. С помощью данного ПО можно уберечь информацию от третьих лиц и/или продемонстрировать работу вышеназванных алгоритмов заинтересованным лицам.
Список литературы Разработка программного обеспечения для реализации алгоритмов кодирования и декодирования текстовой информации
- Васильева, И. Н. Криптографические методы защиты информации: учебник и практикум для вузов / И. Н. Васильева. - Москва: Издательство Юрайт, 2022. - 349 с. - (Высшее образование). - 978-5-534-02883-6. - Текст: электронный // Образовательная платформа Юрайт [сайт]. - URL: https://urait.ru/bcode/489919.
- ISBN: 978-5-534-02883-6
- Зараменских, Е. П. Информационные системы: управление жизненным циклом: учебник и практикум для среднего профессионального образования / Е. П. Зараменских. - Москва: Издательство Юрайт, 2022. - 431 с. - (Профессиональное образование). - 978-5-534-11624-3. - Текст: электронный // Образовательная платформа Юрайт [сайт]. - URL: https://urait.ru/bcode/495987.
- ISBN: 978-5-534-11624-3