Составление программы для зашифровки текста (не более 255 символов), с использованием одного перемешанного алфавита, полученного случайной перестановкой всех букв исходного алфавита. Создание меню-интерфейса для навигации пользователя по программе.
Аннотация к работе
Криптография - наука о защите информации (невозможности прочтения информации третьим лицам) с использованием математических методов. И с каждым поколением методы шифрования только совершенствовались, точно так же как и методы взлома информации. Шифрование данных на данный момент представляет собой одно из тех направлений, в котором проходит бурное развитие, так многие называют современную эру информационной, где ценность информации как никогда высока. С криптографией всегда связаны такие понятия как:-открытый текст - исходные данные, передаваемые без использования криптографии; То есть открытый (исходный) текст закрывается (зашифровывается) с помощью ключа.Текст меню записан в отдельные глобальные переменные. Предоставлялась возможность создания нескольких типов пользовательского интерфейса: примитивное, меню и со свободной навигацией. Второй тип меню предоставляет выбор пользователю необходимой операции из списка, выводимой ему программой. В качестве исходных данных берется текст, записанный в файле Text.txt. Имелась возможность выбрать несколько вариантов шифрования текста, например со сдвинутым алфавитом, или используя вообще все символы, а не только буквы.Список заголовочных файлов из стандартной библиотеки C , используемых в программе (далее приведены функции, используемые заголовочными файлами в данной программе): iostream.h - в данном заголовочном файле реализована поддержка ввода/вывода данных встроенных типов. fstream.h - заголовочный файл, включающий набор функций, которые предоставляют интерфейс для чтения/записи данных из/в файл. open(); Перейдем к описанию программы: char Alphabet[26]; //Обычный латинский алфавит char Chipher[26]; //Сгенерированный случайно алфавит char Text[255]; //Исходный текст char Code[255]; //Зашифрованный текст void reader() {ifstream input; //Создание файловой переменной чтения из файла input.open("Text.txt", ios::in); //Открытие файла, с помощью этой переменной if(!input) {} //Проверка успешности открытия файла, если файл не открыт, то выводится сообщение об ошибке, после чего программа закрывается while (!input.eof()){} //Чтение из файла input.close(); //Закрытие исходного файла {fun_alphabet(); //Вызов функции создания алфавита fun_chipher(); //Вызов функции генерации случайного алфавита ofstream output; //Создание переменной для записи в файл output.open("Code.txt", ios::out); //Создание и открытие выходного файла if(!output){} //Проверка успешности создания файла char letter; //Текущая прочитанная буква for(i=0; i<n; i ) //Процесс зашифровывания и записи зашифрованного //текста в файлДалее представлено описание работы программы со скриншотами о ходе выполнения работы При запуске программы на экран выводится меню, состоящее из четырех пунктов. Программа предоставляет возможность свободной навигации и выбор в меню необходимого в данный момент пункта. В случае если файл не будет существовать, либо просто назван не правильно будет выведено сообщение об ошибке (рис. В случае успешного чтения текста из файла выводится окно об окончании процесса (рис.Целью данной курсовой работы было создание работоспособного программного обеспечения, предназначенного для шифрования исходного текста, вычисляющего индекс совпадений и обладающего графическим интерфейсом. В результате была разработана программа, удовлетворяющая требованиям задания. Программа позволяет зашифровывать текст, объемом менее 255 символов. Графическое меню было создано для облегчения навигации и эксплуатации по программе.
План
Содержание
Введение
1. Анализ задания
2. Описание программы
3. Тестирование
Заключение
Литература
Приложение
Введение
Криптография - наука о защите информации (невозможности прочтения информации третьим лицам) с использованием математических методов. История этой науки насчитывает примерно 4 тысяч лет. И с каждым поколением методы шифрования только совершенствовались, точно так же как и методы взлома информации.
Шифрование данных на данный момент представляет собой одно из тех направлений, в котором проходит бурное развитие, так многие называют современную эру информационной, где ценность информации как никогда высока. Проблема безопасности передачи личных и секретных данных очень актуальна
С криптографией всегда связаны такие понятия как: -открытый текст - исходные данные, передаваемые без использования криптографии;
-закрытый текст - зашифрованные данные, полученные после применения криптосистемы;
-ключ - параметр шифра, определяющий выбор конкретного преобразования данного текста.
То есть открытый (исходный) текст закрывается (зашифровывается) с помощью ключа.
Главной целью данной курсовой работы является шифрование текста с помощью случайно сгенерированного алфавита. Также необходимым условием являлось создание меню-интерфейса для более удобной навигации пользователя по программе. Все необходимые условия были успешно выполнены. Убедиться в этом можно просмотрев страницы тестирования.
В коде программы используются функции, для сокращения необходимого объема памяти. Каждая отдельная функция представляет собой набор действий, которые необходимо повторять и они представляют собой отдельные пункты интерфейсного меню, то есть определенная функция запускается при выборе соответствующего пункта в меню. Некоторые переменные, необходимые почти во всех функциях были объявлены глобальными для того, чтобы данные переменные не передавались множество раз, то есть для сокращения времени обработки программы программа текст зашифровка
Вывод
Целью данной курсовой работы было создание работоспособного программного обеспечения, предназначенного для шифрования исходного текста, вычисляющего индекс совпадений и обладающего графическим интерфейсом.
В результате была разработана программа, удовлетворяющая требованиям задания. Программа позволяет зашифровывать текст, объемом менее 255 символов.
Графическое меню было создано для облегчения навигации и эксплуатации по программе.
Наиболее сложным в процессе разработки программы было создание случайного алфавита, а именно проверка генерации определенной буквы до настоящего момента.
Данную программу можно будет в недалеком будущем усовершенствовать, введя некоторые обновления, например: -добавить возможность шифрования русского языка.
-сделать генерацию из нескольких алфавитов. Таким образом, одна и та же буква может заменяться на две другие, что усложнит процесс расшифровки, для не имеющего ключа пользователя.
-смена знаков препинания. Можно будет шифровать буквы не только с другими буквами, но и со знаками препинания, сами же знаки препинания также менялись бы на другие.
-создать отдельный пункт для генерации алфавита. Для генерации алфавита и ключа можно было бы создать отдельный пункт в меню таким образом можно один раз сгенерировать алфавит, а потом постоянно шифровать данные только с помощью этого алфавита.
Список литературы
1. Конспект лекций по дисциплине “Программирование".
2. Методические указания к выполнению лабораторных работ №5-8 по дисциплине «Программирование» для студентов 2 курса, обучающихся по направлению подготовки бакалавров 231000.62 - «Программная инженерия» и профилю «Разработка программно-информационных систем» - Махачкала: ДГТУ, 2013. - 32с.
3. Методические указания к выполнению лабораторных работ №9-12 по дисциплине «Программирование» для студентов 2 курса, обучающихся по направлению подготовки бакалавров 231000.62 - «Программная инженерия» и профилю «Разработка программно-информационных систем» - Махачкала: ДГТУ, 2013. - 28с.
4. Методические указания к выполнению лабораторных работ №13-16 по дисциплине «Программирование» для студентов 2 курса, обучающихся по направлению подготовки бакалавров 231000.62 - «Программная инженерия» и профилю «Разработка программно-информационных систем» - Махачкала: ДГТУ, 2013. - 28с.