Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Разработка приложения "Дешифратор"

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Хранение важной информации в ненадежных источниках и передача ее по незащищенным каналам связи. Восстановление шифрованных данных. Программа реализующая шифрование текстового массива. Кодирование информации методом Цезаря. Описание алгоритма Атбаш.
Краткое сожержание материала:

Размещено на

Размещено на

Введение

Шифрование применяется для хранения важной информации в ненадёжных источниках и передачи её по незащищенным каналам связи. Такая передача данных представляет из себя два взаимно обратных процесса:

- перед отправлением данных по линии связи или перед помещением на хранение они подвергаются шифрованию.

- для восстановления шифрованных данных применяется процедура дешифрования.

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

Шифром называется пара алгоритмов, реализующих каждое из указанных преобразований. Эти алгоритмы применяются над данными с использованием ключа. Ключи для шифрования и для расшифровывания могут отличаться, а могут быть одинаковыми. Секретность второго (расшифровывающего) из них делает данные недоступными для несанкционированного ознакомления, а секретность первого (шифрующего) делает невозможным навязывание ложных данных. В настоящий момент существует огромное количество методов шифрования. Главным образом эти методы делятся, в зависимости от структуры используемых ключей, на симметричные методы и асимметричные методы. Кроме того методы шифрования могут обладать различной криптостойкостью и по разному обрабатывать входные данные -- блочные шифры и поточные шифры. Всеми этими методами их созданием и анализом занимается наука криптография.

1. Нормативные ссылки

В данной пояснительной записке использованы ссылки на следующие стандарты.

ГОСТ Р 1.5-2004. Стандарты национальные РФ. Правила построения, изложения, оформления и обозначения.

ГОСТ 2.301-68 ЕСКД. Форматы.

ГОСТ Р 7.0.5-2008 СИБИД. Библиографическая ссылка. Общие требования и правила составления.

ГОСТ 7.12-93 СИБИД. Библиографическая запись. Сокращения слов на русском языке. Общие требования и правила.

ГОСТ 7.9-95 СИБИД. Реферат и аннотация. Общие требования.

Гост 7.82-2001 СИБИД. Библиографическая запись. Библиографическое описание электронных ресурсов. Общие требования и правила составления.

2. Постановка задачи

Необходимо написать программу реализующую шифрование текстового массива одним из предложенных методов кодирования, используя C# Windows Form. В данном приложении были предложены такие методы кодирования, как Атбаш и шифр Цезаря.

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

- средства отображения информации, отображаемую информацию, форматы и коды;

- командные режимы, язык «пользователь -- интерфейс»;

- устройства и технологии ввода данных;

- диалоги, взаимодействие и транзакции между пользователем и компьютером, обратную связь с пользователем;

- поддержку принятия решений в конкретной предметной области;

- порядок использования программы и документацию на неё.

3. Описание входных и выходных данных

В курсовой работе используется тип string, предназначенный для работы со строками символов в кодировке Unicode, который является встроенным типом C#. Ему соответствует базовый класс System.String библиотеки .NET.

Тип string представляет последовательность из нуля или более символов в кодировке Юникод. Тип string -- это псевдоним для типа String платформы .NET Framework.

Несмотря на то что строки являются ссылочным типом данных, на равенство и неравенство проверяются не ссылки, а значения строк. Строки равны, если имеют одинаковое количество символов и совпадают посимвольно.

Обращаться к отдельному элементу строки по индексу можно только для получения значения, но не для его изменения. Это связано с тем, что строки типа string относятся к так называемым неизменяемым типам данных. Методы, изменяющие содержимое строки, на самом деле создают новую копию строки. Неиспользуемые «старые» копии автоматически удаляются сборщиком мусора. Это упрощает проверку равенства строк.

4. Описание алгоритмов

4.1 Описание алгоритма Цезаря

Шифр Цезаря, также известный как шифр сдвига, код Цезаря или сдвиг Цезаря -- один из самых простых и наиболее широко известных методов шифрования.

Шифр Цезаря -- это вид шифра подстановки, в котором каждый символ в открытом тексте заменяется буквой находящейся на некоторое постоянное число позиций левее или правее него в алфавите. Пример первоначального расположения букв и их нумерация показан в таблице 1. Например, в шифре со сдвигом 3 А была бы заменена на Г, Б станет Д, и так далее. Пример кодирования методом Цезаря приведен в таблице 2.

Таблица 1 - Кириллица

Таблица 2 - Кодирование методом Цезаря

Шифр назван в честь римского императора Гая Юлия Цезаря, использовавшего его для секретной переписки со своими генералами.

Шаг шифрования, выполняемый шифром Цезаря, часто включается как часть более сложных схем, таких как шифр Виженера, и все ещё имеет современное приложение в системе ROT13.

В шифре Цезаря каждая буква замещается на букву, находящуюся k символами правее по модулю равному количеству букв в алфавите (у Цезаря k=3 n=50). Замена букв производится по формуле (1).

(1)

где n - количество букв в алфавите.

Обратная подстановка высчитывается по формуле (2)

(2)

4.2 Описание алгоритма Атбаш

Шифр Атбаш был изобретен Ессеями, иудейской сектой повстанцев. Они разработали множество различных кодов и шифров, которые использовались для сокрытия важных имен и названий, чтобы потом избежать преследования. Знания этих кодов и шифров были потом переданы Гностикам, которые, в свою очередь, передали их Катарам. Позже Орден Тамплиеров завербовал Катарских дворян и перенял знания шифров. Таким образом, шифр был использован на протяжении многих лет, от около 500 до н.э. до 1300 г. н.э. -- момента, когда Орден Тамплиеров был распущен.

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

Исходный алфавит: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Алфавит замены: Z Y X W V U T S R Q P O N M L K J I H G F E D C BA

Например, слово “blogger” будет заменено на “yolttvi”. Пример кодирования методом Атбаш показан на рисунке 1.

Рисунок 1 - Шифр Атбаш

5. Технология разработки приложения

Чтобы создать приложение, следует:

1) Открыть Microsoft Visual Studio 2010.

2) Выбрать пункт меню «Создать проект».

3) Выбрать в шаблоне С# «Приложение Windows Form» и нажать «ОК».

4) В открывшемся окне формы переносим компоненты из Панели элементов:

а) RichTextBox - c помощью этого элемента управления пользователь может вводить и изменять текст.

б) TabControl - обрабатывает и отображает для пользователя соответствующую коллекцию вкладок, содержащих элементы управления и компоненты.

в) ToolStrip - предоставляет панели инструментов и другие элементы интерфейса пользователя, поддерживающих множество форматов представления элементов.

г) Button - при нажатии возникает событие.

д) NumericUpDown - отображает единичное числовое значение, которое пользователь может увеличить или уменьшить с помощью кнопок «вверх-вниз» элемента управления.

е) Label - предоставляет элементу управления текс описания либо информацию во время выполнения.

5) Обработчик события метода Shifr1_Click отвечает за шифрование методом Цезаря. При нажатии кнопки «Шифрование» происходит кодирование текста.

6) Обработчик события метода DeShifr1_Click отвечает за дешифрование метода Цезаря. При нажатии кнопки «Дешифрование» происходит декодирование текста.

7) Обработчик события метода Shifr2_Click отвечает за шифрование методом Атбаш. При нажатии кнопки «Шифрование» происходит кодирование текста.

8) Нажать клавишу F5 и начать компиляцию программу.

9) Программа готова к использованию.

Другие файлы:

Разработка приложения с несколькими обрабатывающими файл потоками, использующими взаимоисключение на основе критической секции без блокировки частей файла
Разработка приложения с помощью среды Microsoft Visual Studio 2010 Express. Интерфейс приложения. Разработка конечного программного продукта, демонстр...

Разработка приложения для почты
Реализация проекта по оптимизации отделений почтовой связи. Направления деятельности в области кадровой политики. Автоматизация обработки получаемой т...

Разработка Web-приложения "Зоопарк"
Основные инструменты построения Web-приложения. Язык сценариев PHP. Системный анализ предметной области базы данных. Коды SQL запросов на создание таб...

Разработка web-приложения для системы заказов коммерческого предприятия
Анализ предметной области, функциональные части и этапы создания web-приложения, которое будет осуществлять интернет-торговлю по схеме "Предприятие –...

Разработка и внедрение программного обеспечения на примере компании TOO "Illustrate studio"
Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения...