Разработка программы шифрования

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 05.05.2016
Размер файла 163,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Введение

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

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

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

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

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

Аспекты безопасности информации

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

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

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

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

Как строить систему защиты, какие методы и средства можно при этом использовать?

Все известные меры защиты компьютерных систем подразделяются на: законодательные, морально - этические, административные, физические и технические (аппаратурные и программные). Все они имеют свои достоинства и недостатки.

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

Проектирование и разработка программы шифрования

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

Общая структура моей программы имеет следующий вид:

Рис. 1 - Структура программы

Программный код

Программу шифрования я создал следующим образом:

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <string.h>

char Al[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯabcdefghijklmnopqrstuvwxyzабвгдеёжзийклмнопрстуфхцчшщъыьэюя!@\"#№$;%^:&?*()-_+={}[]\/<>.,~`0123456789";

char MyText[] = "";

char Key[] = "";

char R[10][16];

char ResText[] = "";

char Pust[] = "";

char Resh[10][16];

char Alphabet[]="";

char txt[]="";

void CreateR() {

int p=0;

for (int i=0;i<10;i++)

for (int j=0;j<16;j++)

{Resh[i][j]=Al[p]; p++;}

for (int i=0;i<10;i++) { printf("\n");

for (int j=0;j<16;j++) printf("%c ",Resh[i][j]); }

}

void EditText()

{

int Len = strlen(MyText);

if (Len % 2 != 0)

strcat(MyText,Pust);

}

void Encrypt()

{

int ind_x1 = 0;

int ind_y1 = 0;

int ind_x2 = 0;

int ind_y2 = 0;

int k = 0;

char txt[20]="\0";

for (int d=0; d<strlen(MyText); d++)

txt[d]=MyText[d];

for (int d=0;d<strlen(ResText);d++)

ResText[d]=' ';

if (strlen(txt)%2!=0)

xt[strlen(txt)]=Pust[0];

while (k<strlen(txt))

{

for (int l=0; l<10; l++)

for (int m=0; m<16; m++)

{

if (txt[k] == Resh[l][m])

{

ind_x1 = l;

ind_y1 = m;

}

if (txt[k+1] == Resh[l][m])

{

ind_x2 = l;

ind_y2 =m;

}

}

if (ind_x1 == ind_x2)

{

if (ind_y1 == 15)

{

ResText[k]=Resh[ind_x1][0];

ResText[k+1]=Resh[ind_x2][ind_y2+1];

}

else

if (ind_y2 == 15)

{

ResText[k]=Resh[ind_x1][ind_y1+1];

ResText[k+1]=Resh[ind_x2][0];

}

else

{

ResText[k]=Resh[ind_x1][ind_y1+1];

ResText[k+1]=Resh[ind_x2][ind_y2+1];

}

}

if (ind_y1 == ind_y2)

{

if (ind_x1 == 9)

{

ResText[k]=Resh[0][ind_y1];

ResText[k+1]=Resh[ind_x2+1][ind_y2];

}

else

if (ind_x2 == 9)

{

ResText[k]=Resh[ind_x1+1][ind_y1];

ResText[k+1]=Resh[0][ind_y2];

}

else

{

ResText[k]=Resh[ind_x1+1][ind_y1];

ResText[k+1]=Resh[ind_x2+1][ind_y2];

}

}

if ((ind_x1 != ind_x2) && (ind_y1 != ind_y2))

{

ResText[k]=Resh[ind_x1][ind_y2];

ResText[k+1]=Resh[ind_x2][ind_y1];

}

k = k + 2;

}

}

void Decrypt()

{

int ind_x1 = 0;

int ind_y1 = 0;

int ind_x2 = 0;

int ind_y2 = 0;

int k = 0;

char txt[20]="\0";

for (int d=0; d<strlen(ResText); d++)

txt[d]=ResText[d];

for (int d=0;d<strlen(txt);d++)

ResText[d]=' ';

while (k<strlen(txt))

{

for (int n=0; n<10; n++)

for (int o=0; o<16; o++)

{

if (txt[k] == Resh[n][o])

{

ind_x1 = n;

ind_y1 = o;

}

if (txt[k+1] == Resh[n][o])

{

ind_x2 = n;

ind_y2 = o;

}

}

if (ind_x1 == ind_x2)

{

if (ind_y1 == 0)

{

ResText[k]=Resh[ind_x1][15];

ResText[k+1]=Resh[ind_x2][ind_y2-1];

}

else

if (ind_y2 == 0)

{

ResText[k]=Resh[ind_x1][ind_y1-1];

ResText[k+1]=Resh[ind_x2][15];

}

else

{

ResText[k]=Resh[ind_x1][ind_y1-1];

ResText[k+1]=Resh[ind_x2][ind_y2-1];

}

}

if (ind_y1 == ind_y2)

{

if (ind_x1 == 0)

{

ResText[k]=Resh[9][ind_y1];

ResText[k+1]=Resh[ind_x2-1][ind_y2];

}

else

if (ind_x2 == 0)

{

ResText[k]=Resh[ind_x1-1][ind_y1];

ResText[k+1]=Resh[9][ind_y2];

}

else

{

ResText[k]=Resh[ind_x1-1][ind_y1];

ResText[k+1]=Resh[ind_x2-1][ind_y2];

}

}

if ((ind_x1 != ind_x2) && (ind_y1 != ind_y2))

{

ResText[k]=Resh[ind_x1][ind_y2];

ResText[k+1]=Resh[ind_x2][ind_y1];

}

k = k + 2;

}

}

void main()

{

int d;

L1:

printf("\n\nVveditekomandu:\n1-Sozdanie tabliciperekodirovki\n2-Vvod teksta\n3-Shivrovanie i vivod\n4-Deshifrovanie i vivod\n0-Vihod\n");

scanf("%d",&d);

switch (d) {

case 1:

CreateR();

printf("\n DONE!");

goto L1;

case 2:

printf("Vveditetekst: ");

scanf("%s",&MyText);

void EditText();

goto L1;

case 3:

Encrypt();

printf("\n%s",ResText);

goto L1;

case 4:

Decrypt();

printf("\n%s",ResText);

gotoL1;

default:

break;

}

}

Тестирование программы

После отладки программы на экране появляется окно, в котором содержится список основных режимов работы. Главное окно моей программы показан на рис.1.

Рис. 2 - Главное меню программы

безопасность программа шифрование данные

Создание таблицы шифрования

Ввод исходного текста

Результат программы

Дешифровка текста

Заключение

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

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

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

Литература

Программирование и основы алгоритмизации. В.Г. Давыдов. Высшая школа 2003.

Основы паралельного программирования. К.Ю. Богачев. Бином 2003

C/C++ и Borland C++ builder для начинающихПахомов Б.И.СПб.: БХВ-Петербург2005

C/C++ и Borland C++ Builder для студента. Пахомов Б.И.СПб.: БХВ-Петербург2006

C/C++ и Borland C++Builder 2006. Самоучитель.Пахомов Б.И.СПб.: БХВ-Петербург2006

C/C++. Алгоритмы и приемы программированияФридман А.,Кландер Л.,Михаэлис М.,Шильдт Х.М.: Бином. Лаборатория знаний2003

Размещено на Allbest.ru


Подобные документы

  • Проблема скрытия и защиты информации от несанкционированного использования. История создания шифра. Решения задачи шифрования текста и кодирования данных. Тестирование полученного приложения и анализ работы программы с точки зрения пользователя.

    курсовая работа [3,0 M], добавлен 24.11.2013

  • Схема работы и требования к программам шифрования и дешифрования. Алгоритмы и тексты программы шифрования и программы дешифрования, выполненные на языке программирования C/C++. Содержание файла с исходным текстом, с шифротекстом, с дешифрованным текстом.

    курсовая работа [24,7 K], добавлен 20.10.2014

  • Разработка программы, реализующей процедуры шифрования и расшифрования текста по стандарту DES (Data Encryption Standard). Структура алгоритма шифрования, схема выработки ключевых элементов. Использование криптографического программного средства.

    курсовая работа [1,7 M], добавлен 15.06.2013

  • Автоматизация процесса шифрования на базе современных информационных технологий. Криптографические средства защиты. Управление криптографическими ключами. Сравнение симметричных и асимметричных алгоритмов шифрования. Программы шифрования информации.

    курсовая работа [795,7 K], добавлен 02.12.2014

  • Разработка в среде Delphi приложения "Записная книжка" для ввода и корректировки информации, поиска данных. Выбор состава технических и программных средств. Текст программы, ее описание и тестирование. Основные условия программы, требования к компьютеру.

    курсовая работа [565,7 K], добавлен 08.12.2011

  • Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.

    курсовая работа [101,1 K], добавлен 09.03.2009

  • Этапы разработки программных продуктов. Основные понятия и методы программирования. Разработка обучающей программы по технике безопасности при работе на ПК. Постановка и разработка модели задачи. Проектирование. Отладка и тестирование программы.

    курсовая работа [3,8 M], добавлен 04.10.2008

  • История появления и развития шифрования текста. Проблема шифрования и дешифрования текстовых сообщений в современности. Создание программы для зашифровки и расшифровки вводимого текста пятью методами: Атбаш, Цезаря, Полибия, Гронсфельда и Винжера.

    курсовая работа [923,6 K], добавлен 26.12.2011

  • Разработка приложения для шифрования данных с помощью алгоритма DES5: процесс шифрования, расшифрования, получение ключей. Спецификация программы, процедуры и функции; описание интерфейса пользователя. Реализация задачи в среде программирования DELPHI.

    курсовая работа [812,6 K], добавлен 27.03.2012

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

    курсовая работа [314,2 K], добавлен 27.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.