История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Дисциплины:
2020-04-01 | 122 |
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
ВЫВОДЫ
В результате выполнения поставленной задачи была создана программа, выполняющая шифрование файлов методом книжного шифра. Также была изучена вся необходимая литература по этой теме. Также были закреплены знания, полученные на лекциях и лабораторных занятиях по программированию.
|
|
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!