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

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

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

ГРНТИ 20.53.19

УДК 004.65

Бужинская Надежда Владимировна

доцент

Нижнетагильский государственный социально-педагогический институт

Филиал Российского государственного профессионально-педагогического университета

кафедрф «Информационных технологий»

г. Нижний Тагил, Россия

E-mail: Nadezhda_V_A@mail.ru

Масленников Владислав Олегович

Нижнетагильский государственный социально-педагогический институт

Филиал Российского государственного профессионально-педагогического университета

факультет «Естествознания, математики и информатики»

г. Нижний Тагил, Россия

IMPLEMENTATION OF CRYPTOGRAPHIC ENCRYPTION METHODS IN THE PROGRAMMING LANGUAGE C#

Buzhinskaya Nadezhda Vladimirovna

associate Professor of «Information technologies» Department»

Nizhny Tagil state socio-pedagogical Institute Branch of the Russian state vocational pedagogical University

Nizhny Tagil, Russia

E-mail: Nadezhda_V_A@mail.ru

Maslennikov Vladislav Olegovich

Nizhny Tagil state socio-pedagogical Institute Branch of the Russian state vocational pedagogical University

faculty of natural Sciences, mathematics and Informatics

Nizhny Tagil, Russia

АННОТАЦИЯ:

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

ABSTRACT:

In today’s world, it is difficult to overestimate the importance of cryptology as a science. It allows you to organize a secure transfer without the risk of information leakage to third parties. The article is devoted to the implementation of cryptographic methods in programming to promote cryptography. It describes a few simple, but resistant to decryption methods of information encryption.

Ключевые слова: криптография, методы, защита, информация, гаммирование

Keywords: cryptography, methods, protection, information, gamming

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

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

При создании программного алгоритма на начальном этапе была разработана блок–схема программы. В ней была описана последовательность работы алгоритма.

Рис. 1. Блок-схема процесса шифрования

Для дешифрования будет работать тот же самый алгоритм, но с обратными значениями

При запуске программы появляется форма с полями и двумя кнопками.

После того, как будет выбран метод шифрования, а так же заполнены требуемые поля, нажимается кнопка «Зашифровать», которая запускает процесс шифрования исходного сообщения. Зашифрованное сообщение будет доступно в файле out.txt, а так же в специальном поле. Если требуется расшифровать сообщение, то в это же поле пишется зашифрованное сообщение и нажимается кнопка «Расшифровать», которая запускает процедуру дешифрования. Выход из программы осуществляется пользователем нажатием на красный крестик в углу экрана.

Выводимыми данными являются данные, сообщаемые пользователю, а вводимыми являются те данные, которые пользователь сообщает программе.

Выводимые данные в программе представлены в виде графического отображения окна программы.

Вводимые данные представлены в виде текста и ключа, который записывает пользователь в определенные поля или в файл in.txt.

Работа главной формы программы представлена ниже.

Выбираем метод шифрования

Рис. 2. Выбор метода

Для метода гаммирования заполняем только поле «Исходное сообщение». Ключевое слово не требуется, так как оно генерируется автоматически.

Рис. 3. Ввод исходного сообщения

При нажатии на кнопку «Зашифровать» в поле «зашифрованное сообщение» появляется зашифрованный текст

Рис. 4. Вывод зашифрованного сообщения

При нажатии на кнопку «Расшифровать» происходит дешифровка

Рис. 5. Вывод расшифрованного сообщения

Для шифрования шифром Виженера потребуется ввод ключевого слова.

Рис. 6. Ввод ключевого слова

Вводим исходное сообщение

Рис. 7. Ввод исходного сообщения

Нажимаем кнопку зашифровать

Рис. 8. Вывод зашифрованного сообщения

И при нажатии кнопки «Расшифровать»

Рис. 9. Вывод расшифрованного сообщения

Рис. 10. Пример шифра Виженера

Вывод: зашифрованные и расшифрованные данные полностью совпадают.

Для разработки данного приложения использовался С#. На рисунках 11-12 продемонстрирован фрагмент кода данной разработки. Вначеле инициализируется форма, создается элемент characters, вмещающий в себя русский алфавит. Указывается переменная N, обозначающая длину алфавита.

Рис. 11. Код программы

Затем создается функция Encode, которая будет шифровать наши сообщения.

Рис. 12. Код программы для функции Encode

Подобным образом были обработаны все функции данного приложения.

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

СПИСОК ЛИТЕРАТУРЫ:

  1. Алферов А.П., А. Ю. Зубов, А. С. Кузьмин, А. В. Черемушкин. Основы Криптографии. – Гелиос АРВ, 2002. – 480 с.
  2. Бабаш А.В., Шанкин Г.П. История криптографии. Часть I. – М.: Гелиос АРВ, 2002. – 240 с.
  3. Скит Д. C# для профессионалов: тонкости программирования, 3-е издание, новый перевод = C# in Depth, 3rd ed. – М.: «Вильямс», 2014. – 608 с.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *