Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
2020-04-01 | 124 |
5.00
из
|
Заказать работу |
|
|
Библиотека DLL
В динамически подключаемой библиотеке (файл bookc.dll) реализованы классы crypt, key, и keymanager.
Класс crypt реализует сам алгоритм шифрования.
Кеу - в этом классе описан ключ для реализации его в классе keymanager- класс для управлиния ключами от разных корреспондентов по определенным правилам. В библиотеке экспортирована функция Process(char* crypt_file,char* encrypt_file,char mode_value,char* key_value), которая служит для шифрования в формате С, для возможности использования библиотеки с разными языками программирования.
Графическая оболочка
В графической оболочке (файл book.exe) реализован интерфейс пользователя с использованием библиотек виджетов GTK+. GTK+ был выбран потому, что эти библиотеки являются популярными, кроссплатформенными и бесплатными.
Консольная реализация
В консольной реализации программы (файл bookc.exe) реализованы функции шифрования. Данные для обработки программа получает из командной строки. Консольная версия предназначена для использования в различных скриптах.
Описание алгоритма программы
Главной программной составляющей, которые используются в данной работе, является функция шифрования: Process(char* crypt_file,char* encrypt_file,char mode_value,char* key_value), где:* crypt_file - имя зашифрованного файла.* encrypt_file - имя расшифрованного (исходного) файла.mode_value - символ режим (с - для шифрования)* key_value - Строка содержащая в себе ключ.
Рассмотрим подробнее работу функции:
В зависимости от режима mode выбирается шифровать или расшифровывать файл. Если mode==с тогда файл шифруется, иначе файл будет расшифрован. Далее после определения режима, функция считывает блок из файла размеров 512 байт. Такой размер был выбран не случайно, т.к. большинство оборудования работает с блоками такого размера. Следовательно это увеличивает скорость обработки файла.
|
Функция шифрования выглядит следующим образом:
writebuffer[i]=(ti+t)%255, где:
writebuffer - это выходная строка размером 512 байт.- текущая позиция в строке,- символ из исходной строки,- текущий символ ключа.
Результат взят по модулю, чтобы значение входило в диапазон значений char.
При расшифровке используется обратная + операция -.
Результирующая строка writebuffer записывается в файл.
ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ
Данный программный продукт может использоваться для создания зашифрованных файлов, которые можно безопасно хранить, и передавать по небезопасным каналам информационных сетей типа Интернет.
На диске хранятся все файлы, которые связанны с реализацией программы на языке программирования C++, а также компилятор gcc, среда разработки Dev-Cpp, набор библиотек GTK+ и текст пояснительной записки. Который был создан в текстовом редакторе Word, прочитав который можно получить необходимые сведения для работы с программой.
Созданные файлы отвечают всем особенностям и задачам языка ANSI C++, например, фаил с расширением.exe соответствует самой программе, запустив который, мы можем работать с самой программой; фаил с расширением.cpp отвечает за текст программы (просмотреть его можно только тогда, когда у вас на компьютере установлена та версия С++, на которой была создана программа); также существуют файлы с расширениями h, o, rc, glade.
ИНСТРУКЦИЯ СИСТЕМНОГО ПРОГРАММИСТА
криптографический шифрование информация программа
В файле crypt.h реализован интерфейс класса шифрования.
Класс для шифровки, расшифровки данных
Поля класа:- для хранения ключа шифрования- имя кодированного файлаимя расшифрованного файладля установки режима (с - кодировать)
Методы классаустановить имена файловустановить имя шифрованного файлаустановить имя нормального файлаузнать имя шифрованного файлаузнать имя нормального файлаустановить ключузнать ключустановить режим (с - кодировать)узнать режим (с - кодировать)обработать файлы (в зависимости от режима)
|
Конструкторы()(string cryptfilename, string encryptfilename,char ec) (string cryptfilename, string encryptfilename,char ec, char *nkey)
все неустановленные памаметры конструктор устанавливает в NULL
ВЫВОДЫ
В результате выполнения поставленной задачи была создана программа, выполняющая шифрование файлов методом книжного шифра. Также была изучена вся необходимая литература по этой теме. Также были закреплены знания, полученные на лекциях и лабораторных занятиях по программированию.
|
|
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!