Реализация криптографических методов шифрования на языке программирования C#

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 05.08.2020
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

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

Филиал Российского государственного профессионально-педагогического университета кафедра «Информационных технологий»

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

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

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

Филиал Российского государственного профессионально-педагогического университета факультет «Естествознания, математики и информатики» г. Нижний Тагил, Россия

Аннотация

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

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

Abstract

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

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

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

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

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

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

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

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

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

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

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

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

Вводимые данные представлены в виде текста и ключа, который записывает пользователь в определенные поля или в файл 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 с.

Размещено на Allbest.ru


Подобные документы

  • Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.

    курсовая работа [314,2 K], добавлен 27.01.2015

  • Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.

    курсовая работа [101,1 K], добавлен 09.03.2009

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

    курсовая работа [812,6 K], добавлен 27.03.2012

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

    курсовая работа [1,7 M], добавлен 07.09.2016

  • История появления и развития шифрования текста. Проблема шифрования и дешифрования текстовых сообщений в современности. Создание программы для зашифровки и расшифровки вводимого текста пятью методами: Атбаш, Цезаря, Полибия, Гронсфельда и Винжера.

    курсовая работа [923,6 K], добавлен 26.12.2011

  • Характеристика вероятностного алгоритма и особенности его использования. Принцип работы и назначение генератора случайных чисел, сущность псевдослучайных чисел. Рассмотрение и реализация метода середины квадрата, разработка алгоритма и его кодирование.

    курсовая работа [50,3 K], добавлен 18.09.2009

  • Анализ криптографических методов шифрования данных. Разработка криптосистемы, основанной на схеме Эль-Гамаля. Определение функциональных и нефункциональных требований. Выбор языка программирования и среды разработки. Тестирование программного продукта.

    дипломная работа [1,6 M], добавлен 17.07.2016

  • Реализация алгоритма DES и режимов шифрования для любой длины сообщения и любой длины ключа. Шифрование сообщений различной длины и ключа с замериванием времени и скорости шифрования. Реализация алгоритма RSA. Сохранение зашифрованного файла на диск.

    курсовая работа [398,4 K], добавлен 26.01.2010

  • Обзор основных используемых языков программирования (С++, Java, Pascal). Анализ существующих методов шифрования паролей. Основные понятия объектно-ориентированного программирования. Реализация приложения для генерирования паролей на языке Object Pascal.

    курсовая работа [822,4 K], добавлен 07.07.2012

  • Спецификация требований к разрабатываемому приложению. Разработка структурной схемы интерфейса. Описание алгоритма шифрования DES. Разработка программного кода приложения "DES". Проведение исследования основных шагов для генерации ключей и шифрования.

    курсовая работа [398,4 K], добавлен 13.12.2022

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.