Реализация алгоритма книжного шифра — КиберПедия 

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Реализация алгоритма книжного шифра

2020-04-01 110
Реализация алгоритма книжного шифра 0.00 из 5.00 0 оценок
Заказать работу

Реализация алгоритма книжного шифра


ВВЕДЕНИЕ

 

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

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

Ближе всех на пути к информационному обществу стоят страны с развитой информационной индустрией, к числу которых следует отнести США, Японию, Англию, Германию, страны Западной Европы. В этих странах уже давно одним из направлений государственной политики является направление, связанное с инвестициями и поддержкой инноваций в информационную индустрию, в развитие компьютерных систем и телекоммуникаций, возникает новая индустрия переработки информации на базе компьютерных и телекоммуникационных информационных технологий.

 

 


ПОСТАНОВКА ЗАДАЧИ И СФЕРА ЕЕ ИСПОЛЬЗОВАНИЯ

 

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

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

Также к программе были предъявлены такие требования:

Компилятор должен быть бесплатным.

Сама программы могла бы без труда, быть перенесена на другие платформы, например Linux или Mac OS. Без значительных усилий по доработке программного кода.

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

 

 


ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

 

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

Вместе с новым тысячелетием появилось такое явление, как информационное противодействие. Это понятие включает в себя «процесс воздействия на компьютерную систему с использованием программно-технических средств и имеющий следствием активизацию некоторого программного средства в данной системе, приводящую к любому негативному отключению от предписанных алгоритмов работы системы».

Множество способов доступа к информации, широкое использование компьютерной техники позволяют злоумышленнику практически в любой момент и в любом месте осуществлять действия, представляющие угрозу информационной безопасности. Результаты проведенных опросов показывают, что в настоящее время среди основных угроз безопасности 43% составляют вирусы, 26% - отказ в работе важнейших корпоративных систем, 15% - атаки с целью вызвать отказ в обслуживании, 14% - проникновение извне, 11% - проникновение изнутри, 5% - нарушение целостности данных, 3% - финансовое мошенничество, 2% - хищение коммерческой информации.

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

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

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

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

 

Алгоритм реализации

 

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

В "шифре по слову" ключом является заранее оговоренное слово, словосочетание или фраза. По нему строится таблица замены. Пусть, например, этим словом является слово "ПРЕКРАСНАЯ". Строится таблица такого вида (применительно к современному редуцированному русскому алфавиту): слово-лозунг выписывается по вертикали. Эти вертикали обозначаются числами от 1 до 0 (в слове 10 букв). Каждая буква построчно разворачивается в последовательность букв русского алфавита (циклически). В результате получается прямоугольник 10?10, который и является гипотетической страницей книги-ключа:

 

 

  1 2 3 4 5 6 7 8 9 0
1 П Р С Т У Ф Х Ц Ч Ш
2 Р С Т У Ф Х Ц Ш Ь Э
3 Е Ж З И К Л М Н О П
4 К Л М Н О П Р С Т У
5 Р С Т У Ф Х Ц Ч Ш Ь
6 А Б В Г Д Е Ж З И К
7 С Т У Ф Х Ц Ш Ь Э Ю
8 Н О П Р С Т У Ф Х Ц
9 А Б В Г Д Е Ж З И К
0 Я А Б В Г Д Е Ж З И

 

В соответствии с этим квадратом производилась замена букв открытого текста на их координаты (первая цифра - номер строки, вторая - номер столбца). Например, буква П получала обозначения: 11, 30, или 46 и т.д. Таким образом, слово "агент" может иметь разные шифробозначения: "61, 94, 07, 44, 53" или "02, 64, 66, 38, 49" и т.д. Этот шифр обладает уже неплохой криптографической стойкостью.

Дальнейшее усложнение шифра многозначной замены связано с введением "пустышек" - фиктивных знаков в шифрованный текст. Приведем пример. Пусть действует ранее описанный шифр по слову. Заранее оговорено, что столбцы и строки с номерами 2 и 9 являются "пустыми", то есть вычеркиваются. Таким образом, появляется возможность вставлять в шифрованный текст "пустые" комбинации, содержащие указанные цифры. 27, 95, 92, 29 и т.д.

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

В стихотворном шифре ключом является заранее оговоренное стихотворение, которое записывается в прямоугольник согласованного размера, например, 10?20. Этот прямоугольник является ключевой страницей книжного шифра.

 

 


ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

 

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

 

Библиотека 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) реализованы функции шифрования. Данные для обработки программа получает из командной строки. Консольная версия предназначена для использования в различных скриптах.

 

ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ

 

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

На диске хранятся все файлы, которые связанны с реализацией программы на языке программирования C++, а также компилятор gcc, среда разработки Dev-Cpp, набор библиотек GTK+ и текст пояснительной записки. Который был создан в текстовом редакторе Word, прочитав который можно получить необходимые сведения для работы с программой.

Созданные файлы отвечают всем особенностям и задачам языка ANSI C++, например, фаил с расширением.exe соответствует самой программе, запустив который, мы можем работать с самой программой; фаил с расширением.cpp отвечает за текст программы (просмотреть его можно только тогда, когда у вас на компьютере установлена та версия С++, на которой была создана программа); также существуют файлы с расширениями h, o, rc, glade.

 

 


ВЫВОДЫ

 

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

 

 


Приложение

Текст программы

 

#include "crypt.h"

#include <fstream>

#include <cstdio>namespace std;::crypt(){="";="";="";='c';

}::crypt(string cryptfilename, string encryptfilename,char ec){=cryptfilename;=encryptfilename;="";=ec;

}::crypt(string cryptfilename, string encryptfilename,char ec,char *nkey){=cryptfilename;=encryptfilename;=ec;=nkey;

}crypt::SetFilesName(string cryptfilename, string encryptfilename){=cryptfilename;=encryptfilename;

}crypt::SetCryptFileName(string cryptfilename){=cryptfilename;

}crypt::SetEncryptFileName(string encryptfilename){>encfilename=encryptfilename;

}crypt::GetCryptFileName(){cfilename;

}crypt::GetEncryptFileName(){encfilename;

}crypt::SetKey(char *nkey){=nkey;

}crypt::GetKey(){out(key);out;

}crypt::SetMode(char ec){=ec;

}crypt::GetMode(char &res){=this->mode;

}crypt::Process(){t,ti,k,i,bc;* cryptfile;* encryptfile;=strlen(key);readbuffer[512];writebuffer[512];(mode=='c'){=fopen(cfilename.c_str(),"wb");=fopen(encfilename.c_str(),"rb");(!feof(encryptfile)){=fread((char*)&readbuffer, 1, 512, encryptfile);(i=0;i<bc;i++){=readbuffer[i];(k>0)=key[i%k];=key[i];[i]=(ti+t)%255;

}((char*)&writebuffer, bc, 1, cryptfile);

}(encryptfile);(cryptfile);

}{=fopen(cfilename.c_str(),"rb");=fopen(encfilename.c_str(),"wb");(!feof(cryptfile)){=fread((char*)&readbuffer, 1, 512, cryptfile);(i=0;i<512;i++){=readbuffer[i];(k>0)=key[i%k];=key[i];[i]=(ti-t)%255;

}((char*)&writebuffer, bc, 1, encryptfile);

}(encryptfile);(cryptfile);

}

}

Реализация алгоритма книжного шифра


ВВЕДЕНИЕ

 

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

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

Ближе всех на пути к информационному обществу стоят страны с развитой информационной индустрией, к числу которых следует отнести США, Японию, Англию, Германию, страны Западной Европы. В этих странах уже давно одним из направлений государственной политики является направление, связанное с инвестициями и поддержкой инноваций в информационную индустрию, в развитие компьютерных систем и телекоммуникаций, возникает новая индустрия переработки информации на базе компьютерных и телекоммуникационных информационных технологий.

 

 



Поделиться с друзьями:

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.041 с.