Шифрование сообщений различными методами

Автор работы: Пользователь скрыл имя, 23 Мая 2013 в 18:25, курсовая работа

Описание работы

1. Статья на тему: «Шифрование сообщений различными методами».
2. Разработать алгоритм и написать программу. Написать программу, анализирующую логический файл маршрутизатора, отображающую интенсивность сканирования портов по часам суток.
3. Разработать алгоритм и написать программу. Составьте программу для
вычисления следующей формулы: tg(a+b)\(tg(a)+tg(b)). Вывести результат
на экран. Указания: вычисление формулы выполните в виде функции.
4. Разработать алгоритм и написать программу. Информация по абоненту в телефонном справочнике включает в себя: 1)Ф.И.О.; 2) адрес; 3) номер телефона. Адрес состоит из индекса, названия города, названия улицы, номера дома и номера квартиры. Написать программу формирования базы данных на диске адресного справочника и поиска информации в сформированной базе по номеру телефона.

Файлы: 1 файл

kursach_informatika.docx

— 147.16 Кб (Скачать файл)

 

 

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ

ФГОБУ ВПО  «Госуниверситет — УНПК»

 

 

 

 

Кафедра: «Прикладная математика и информатика»

 

 

 

 

 

 

 

 

КУРСОВАЯ  РАБОТА

по дисциплине: «Информатика»

 

 

Работу  выполнил студент: Степаненко Данила Сергеевич

Шифр 201000 Группа 11БС Факультет УНИИИТ

Специальность: БИОТЕХНИЧЕСКИЕ СИСТЕМЫ И ТЕХНОЛОГИИ

Курсовая  допущена к защите ___ . _______ . ____ __________ / Абашин В.Г. /

Курсовая защищена с оценкой __________________________________________

Руководитель ____________________________________________ / Абашин В.Г. /

Подпись

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Орел 2013

 

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ОРЛОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра: ≪Прикладная математика и информатика≫

Задания на курсовую работу

 

 

 

 

Работу выполнил студент Степаненко Данила Сергеевич

Шифр 201000 Группа 11-БС Факультет УНИИИТ

Специальность ≪Биотехнические системы и технологии ≫

Задание

1. Статья на тему: «Шифрование сообщений различными методами».

2. Разработать алгоритм и написать программу. Написать программу, анализирующую логический файл маршрутизатора, отображающую интенсивность сканирования портов по часам суток.

3. Разработать  алгоритм и написать программу.  Составьте программу для

вычисления  следующей формулы: tg(a+b)\(tg(a)+tg(b)). Вывести результат

на экран. Указания: вычисление формулы выполните  в виде функции.

4. Разработать алгоритм и написать программу. Информация по абоненту в телефонном справочнике включает в себя: 1)Ф.И.О.; 2) адрес; 3) номер телефона. Адрес состоит из индекса, названия города, названия улицы, номера дома и номера квартиры. Написать программу формирования базы данных на диске адресного справочника и поиска информации в сформированной базе по номеру телефона.

 

 

 

 

 

Руководитель__________________                                           Абашин В.Г.

                               подпись

 

 

 

 

 

 Задание принял к исполнению ≪_____≫                    ______________2013 г.

 

 

 

 

    Подпись студента ________________

 

Задание №1

Реферат

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

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

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

Большинство средств криптографической защиты данных реализовано в виде специализированных аппаратных устройств. Эти устройства встраиваются в линию связи и осуществляют шифрование всей передаваемой по ней информации. Преобладание аппаратного шифрования над программным обусловлено несколькими причинами. Во-первых, аппаратное шифрование обладает большей скоростью. Криптографические алгоритмы состоят из огромного числа сложных операций, выполняемых над битами открытого текста. Современные универсальные компьютеры плохо приспособлены для эффективного выполнения этих операций. Специализированное оборудование умеет делать их гораздо быстрее. Во-вторых, аппаратуру легче физически защитить от проникновения извне. Программа, выполняемая на персональном компьютере, практически беззащитна. Вооружившись отладчиком, злоумышленник может скрытно внести в нее изменения, чтобы понизить стойкость используемого криптографического алгоритма, и никто ничего не заметит. Что же касается аппаратуры, то она обычно помещается в особые контейнеры, которые делают невозможным изменение схемы ее функционирования. Чип покрывается сверху специальным химическим составом, и в результате любая попытка преодолеть защитный слой этого чипа приводит к самоуничтожению его внутренней логической структуры. И хотя иногда электромагнитное излучение может служить хорошим источником информации о том, что происходит внутри микросхемы, от этого излучения легко избавиться, заэкранировав микросхему. Аналогичным образом можно заэкранировать и компьютер, однако, сделать это гораздо сложнее, чем в случае миниатюрной микросхемы.  И, в-третьих, аппаратура шифрования более проста в установке. Очень часто шифрование требуется там, где дополнительное компьютерное оборудование является совершенно излишним. Телефоны, факсимильные аппараты и модемы значительно дешевле оборудовать устройствами аппаратного шифрования, чем встраивать в них микрокомпьютеры с соответствующим программным обеспечением. Даже в компьютерах установка специализированного шифровального оборудования создает меньше проблем, чем модернизация системного программного обеспечения с целью добавления в него функций шифрования данных. В идеале шифрование должно осуществляться незаметно для пользователя. Чтобы добиться этого при помощи программных средств, шифрование должно быть упрятано глубоко в недра операционной системы. С готовой и отлаженной операционной системой безболезненно проделать это не так-то просто. Но даже любой непрофессионал сможет подсоединить шифровальный блок с одной стороны к персональному компьютеру и к внешнему модему с другой.  Современный рынок аппаратных средств шифрования информации предлагает потенциальным покупателям три разновидности таких средств — самодостаточные шифровальные модули (они самостоятельно выполняют всю работу с ключами), блоки шифрования в каналах связи и шифровальные платы расширения для установки в персональные компьютеры. Большинство устройств первого и второго типа являются узко специализированными, и поэтому, прежде чем принимать окончательное и бесповоротное решение об их приобретении, необходимо досконально изучить ограничения, которые при установке накладывают эти устройства на соответствующее “железо”, операционные системы и прикладное программное обеспечение. А иначе можно выбросить деньги на ветер, ни на йоту не приблизившись к желанной цели. Правда, иногда выбор облегчается тем, что некоторые компании торгуют коммуникационным оборудованием, которое уже имеет в своем составе предустановленную аппаратуру шифрования данных. Платы расширения для персональных компьютеров являются более универсальным средством аппаратного шифрования и обычно могут быть легко сконфигурированы таким образом, чтобы шифровать всю информацию, которая записывается на жесткий диск компьютера, а также все данные, пересылаемые на его гибкий диск и в последовательные порты. Как правило, защита от электромагнитного излучения в шифровальных платах расширения отсутствует, поскольку нет смысла защищать эти платы, если аналогичные меры не предпринимаются в отношении всего компьютера в целом.

 

 

 

 

Задание №2

Рисунок 1 –  Блок-схема к заданию №2

 

Блок-схема

 

 

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<string.h>

int main()

{

FILE *f;

char s[50], ss[1000], date[12], time[9], *p;

char day[4], mon[4], year[5];

char day1[4], mon1[4], year1[5];

char chas[3];

int i, masSut[24];

int chas1;

f=fopen("access_log","r");

  printf("wwedite interesujuwij god: ");

  scanf("%s", year1);

  printf("wwedite interesujuwij mesjac: ");

  scanf("%s", mon1);

  printf("wwedite interesujuwee chislo: ");

  scanf("%s", day1);

  for(i=0;i<24;i++)

    masSut[i]=0;

  do{

     fgets(s, 50, f); //printf("%s:\n", s);

     fgets(ss, 1000, f);

     p=strchr(s, '[');

     if(p)

     {

        strncpy(date, p+1, 11); date[11]='\0';

        strncpy(day, date, 2); day[2]='\0';

        strncpy(mon, date+3, 3); mon[3]='\0';

        strncpy(year, p+8, 4); year[4]='\0';

        f(strcmp(day1,day)==0&&strcmp(mon1,mon)==0&&strcmp(year1,year)==0)

        {

           strncpy(time, p+13, 8); time[8]='\0';

           strncpy(chas, time, 2); chas[2]='\0';chas1=atoi(chas);

           masSut[chas1]++;

        }

      }

  }

  while(!feof(f));

  for(i=0;i<24;i++)

     printf("%d: %d\n", i+1, masSut[i]);

  fclose(f);

  getch();

  return 0;


Рисунок 2- Результат выполнения программы №2

 

 

Программа выполнена для ПЭВМ типа IBM PC. Она помогает проследить интенсивность сканирования портов по часам суток. С клавиатуры вводятся год, месяц и число. Программа анализирует введённые данные, а затем выводит на экран интенсивность сканирования портов по часам суток. 
Задание №3

Рисунок 3 – Блок-схема к заданию №3

 

 

 

#include<stdio.h> /* Для средств ввода-вывода */

#include<math.h> /* Для функции tan */

main(){

float a,b,y;

printf("Vvedite znacheniya a,b(Primer-2.00)\n");

printf("a=");

scanf("%f",&a);

printf("\nb=");

scanf("%f",&b);

y=tan(a+b)/(tan(a)+tan(b));

printf("\ny=%f\n",y);

return 0;

}

Рисунок 4 – Результат выполнения программы №3

 

 

 

          Программа выполнена для ПЭВМ типа IBM PC.Программа помогает

посчитать значение функции: tg(a+b)\(tg(a)+tg(b)). Вводя значения a и b с

клавиатуры  в радианах, мы в дальнейшем получаем значение y, которое

выводится на экран.

 

 

 

 

 

Задание №4

Рисунок 5 – Блок-схема к заданию №4

 

 

 

 

#include<stdio.h>

#include<conio.h>

 

struct abonent

{

  char fio[20];

  char adres[255];

  int tel;

};

 

 

int main()

{

int n, i, j, tel;

struct abonent base[30];

struct abonent poisk;

FILE *f1;

 

 

printf("Kol abonentov = ");

   scanf("%d",&n);

 for (i=1;i<=n;i++)

{

  printf("familija I.O.: ");

  scanf("%s",base[i].fio);

  printf("adres: ");

  scanf("%s",base[i].adres);

  printf("telefon: ");

  scanf("%d",&base[i].tel);

}

f1=fopen("data.txt", "wb");

 for (i=1;i<=n;i++)

   fwrite(&base[i], sizeof(struct abonent), 1, f1);

 fclose (f1);

 printf("wwedite tel abonenta: ");

 scanf("%d",&tel);

f1=fopen("data.txt", "rb");

 do{

     fread(&poisk, sizeof(struct abonent), 1, f1);

   }

 while ((poisk.tel!=tel)&&(!feof(f1)));

 

 if(poisk.tel==tel)

    printf("iskomij abonent:\nfio: %s\nadres: %s\n ", poisk.fio, poisk.adres);

 else

    printf("abonent ne naiden\n");

getch();

   return 0;

}

 

Рисунок 6 – Результат выполнения программы №4

 

 

Программа выполнена для ПЭВМ типа IBM PC. Вводя с клавиатуры количество абонентов, Ф.И.О., адрес, телефон, мы получаем телефонный справочник. В дальнейшем эта информация заносится в файл data.txt. Также может осуществляться поиск по номеру телефона.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список  литературы

1.      Герасименко В.А. Защита информации  в автоматизированных

системах обработки данных кн. 1.-М.: Энергоатомиздат. -1994.-400с.

2.      Вербицкий О.В.Вступление к криптологии.- Львов.: Издательство

науково-техничной литературы.-1998.-300с.

3.      Герасименко В.А., Скворцов А.А., Харитонов И.Е. Новые

направления применения  криптографических методов  защиты информации.- М.:

Радио и связь.-1989.-360с.   
4.      Богуславский А.А., Соколов С.М. Основы  программирования  на  языке  Си++:  Для  студентов  физико-математических факультетов педагогических институтов. – Коломна: КГПИ, 2007.

5.      Демидович Е.М. Основы алгоритмизации и программирования. Язык СИ : учебн. Пособие. – СПб.: БХВ-Петербург, 2006.

6.      Дэвис С. С++ для «чайников». – К. : Диалектика, 2005.

7.      Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб: Питер, 2007.

8.      Подбельский В.В. Фомин С.С. Программирование на языке Си  – М.: Финансы и статистика, 2004.


Информация о работе Шифрование сообщений различными методами