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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    101,64 Кб
  • Опубликовано:
    2016-05-05
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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








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

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

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

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

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

{Resh[i][j]=Al[p]; p++;}(int i=0;i<10;i++) { printf("\n");(int j=0;j<16;j++) printf("%c ",Resh[i][j]); }

}EditText()

{Len = strlen(MyText);(Len % 2 != 0)(MyText,Pust);

}Encrypt()

{ind_x1 = 0;ind_y1 = 0;ind_x2 = 0;ind_y2 = 0;k = 0;txt[20]="\0";(int d=0; d<strlen(MyText); d++) [d]=MyText[d];(int d=0;d<strlen(ResText);d++)[d]=' ';(strlen(txt)%2!=0)[strlen(txt)]=Pust[0];(k<strlen(txt))

{(int l=0; l<10; l++)(int m=0; m<16; m++)

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

{_x1 = l;_y1 = m;

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

{_x2 = l;_y2 =m;

}

}(ind_x1 == ind_x2)

{(ind_y1 == 15)

{[k]=Resh[ind_x1][0];[k+1]=Resh[ind_x2][ind_y2+1];

}(ind_y2 == 15)

{[k]=Resh[ind_x1][ind_y1+1];[k+1]=Resh[ind_x2][0];

}

{[k]=Resh[ind_x1][ind_y1+1];[k+1]=Resh[ind_x2][ind_y2+1];

}

}(ind_y1 == ind_y2)

{(ind_x1 == 9)

{[k]=Resh[0][ind_y1];[k+1]=Resh[ind_x2+1][ind_y2];

}(ind_x2 == 9)

{[k]=Resh[ind_x1+1][ind_y1];[k+1]=Resh[0][ind_y2];

}

{[k]=Resh[ind_x1+1][ind_y1];[k+1]=Resh[ind_x2+1][ind_y2];

}

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

{[k]=Resh[ind_x1][ind_y2];[k+1]=Resh[ind_x2][ind_y1];

}= k + 2;

}

}Decrypt()

{ind_x1 = 0;ind_y1 = 0;ind_x2 = 0;ind_y2 = 0;k = 0;txt[20]="\0";(int d=0; d<strlen(ResText); d++) [d]=ResText[d];(int d=0;d<strlen(txt);d++)[d]=' ';(k<strlen(txt))

{(int n=0; n<10; n++)(int o=0; o<16; o++)

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

{_x1 = n;_y1 = o;

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

{_x2 = n;_y2 = o;

}

}(ind_x1 == ind_x2)

{(ind_y1 == 0)

{[k]=Resh[ind_x1][15];[k+1]=Resh[ind_x2][ind_y2-1];

}(ind_y2 == 0)

{[k]=Resh[ind_x1][ind_y1-1];[k+1]=Resh[ind_x2][15];

}

{[k]=Resh[ind_x1][ind_y1-1];[k+1]=Resh[ind_x2][ind_y2-1];

}(ind_y1 == ind_y2)

{(ind_x1 == 0)

{[k]=Resh[9][ind_y1];[k+1]=Resh[ind_x2-1][ind_y2];

}(ind_x2 == 0)

{[k]=Resh[ind_x1-1][ind_y1];[k+1]=Resh[9][ind_y2];

}

{[k]=Resh[ind_x1-1][ind_y1];[k+1]=Resh[ind_x2-1][ind_y2];

}

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

{[k]=Resh[ind_x1][ind_y2];[k+1]=Resh[ind_x2][ind_y1];

}= k + 2;

}

}main()

{d;:("\n\nVveditekomandu:\n1-Sozdanie tabliciperekodirovki\n2-Vvod teksta\n3-Shivrovanie i vivod\n4-Deshifrovanie i vivod\n0-Vihod\n");("%d",&d);(d) {1:();("\n DONE!");L1;2:("Vveditetekst: ");("%s",&MyText);EditText();L1;3:();("\n%s",ResText);L1;4:();("\n%s",ResText);

gotoL1;:;

}

}

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

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

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

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

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


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


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


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



Заключение

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

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

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

Литература

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

Основы паралельного программирования. К.Ю. Богачев. Бином 2003 /C++ и Borland C++ builder для начинающихПахомов Б.И.СПб.: БХВ-Петербург2005/C++ и Borland C++ Builder для студента. Пахомов Б.И.СПб.: БХВ-Петербург2006

C/C++ и Borland C++Builder 2006. Самоучитель.Пахомов Б.И.СПб.: БХВ-Петербург2006/C++. Алгоритмы и приемы программированияФридман А.,Кландер Л.,Михаэлис М.,Шильдт Х.М.: Бином. Лаборатория знаний2003

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!