Автор: Пользователь скрыл имя, 23 Января 2012 в 09:32, курсовая работа
Введение
Защита данных в компьютерных сетях становится одной из самых открытых проблем в современных информационно-вычислительных системах. На сегодняшний день сформулировано три базовых принципа информационной безопасности
Введение Содержание
1. Аналитическая часть _______________________________5
1.1. Понятие информационной безопасности __________________5
1.2. История развития криптографии_________________________8
1.3. Обзор современных криптографических алгоритмов_______21
1.4. Анализ криптографического алгоритма DES______________30
1.5. Постановка задачи____________________________________32
2. Проектная часть __________________________________32
2.1. Программное обеспечение_____________________________34
Заключение_____________________________________________37
Библиографический список _______________________________38
Приложение _____________________________
Заключение
Информационная эра привела к драматическим изменениям в способе выполнения своих обязанностей для большого числа профессий. Теперь нетехнический специалист среднего уровня может выполнять работу, которую раньше делал высококвалифицированный программист. Служащий имеет в своем распоряжении столько точной и оперативной информации, сколько никогда не имел.
Но использование компьютеров и автоматизированных технологий приводит к появлению ряда проблем для руководства организацией. Компьютеры, часто объединенные в сети, могут предоставлять доступ к колоссальному количеству самых разнообразных данных. Поэтому люди беспокоятся о безопасности информации и наличии рисков, связанных с автоматизацией и предоставлением гораздо большего доступа к конфиденциальным, персональным или другим критическим данным. Все увеличивается число компьютерных преступлений, что может привести в конечном счете к подрыву экономики.
Ответственность за защиту информации лежит на низшем звене руководства. Но также кто-то должен осуществлять общее руководство этой деятельностью, поэтому в организации должно иметься лицо в верхнем звене руководства, отвечающее за поддержание работоспособности информационных систем.
И так как автоматизация привела к тому, что теперь операции с вычислительной техникой выполняются простыми служащими организации, а не специально подготовленным техническим персоналом, нужно, чтобы конечные пользователи знали о своей ответственности за защиту информации.
Единого рецепта, обеспечивающего 100% гарантии сохранности данных и надёжной работы сети не существует. Однако создание комплексной, продуманной концепции поможет свести риск потери ценнейшей информации к минимуму.
Библиографический список
Ростовцев А.Г., Маховенко Е.Б. Введение в криптографию с открытым ключом. СПб, Мир и Семья, 2001.
Хорст Файстель. «Криптография и компьютерная безопасность»
«Мир ПК», 1996, № 6
«Компьютер-Пресс», 1998, № 4
«Компьютер-Пресс» 1999, № 5
http://www.ssl.stu.neva.
Приложение
Хочу
заметить, что разработанное
мной приложение, лишь
решает поставленную
в задании задачу,
и никак не пригодно
для использования
в повседневной жизни,
в виду определенных
ограничений. Данная
программа была написана
только для наглядного
представления о том,
что задача вполне выполнима.
За основу была взята
ранее написанная программа
делящая массив на четные
и нечетные числа, были
произведены небольшие
модернизации программного
кода, поэтому алгоритм
решения задачи не идеален,
но работает, задачу
решает. Ниже приведен
программный код:
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Memo1: TMemo;
Memo2: TMemo;
Memo3: TMemo;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Label5: TLabel;
Label6: TLabel;
Button2: TButton;
BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
c: string;
InArr : array of string ;
begin
c:= '0' ;
i:=Form1.Memo1.Lines.Count; //Присваеваем переменной i количество строк в мемо1
Form1.Memo2.Lines.Clear; // мemo2 clear
// Выводим вычисленное значение в форму
Form1.Label1.Caption:='
SetLength(InArr, i); // задаем размер массива
for i:=0 to i-1 do
begin
try // Проверка строки на соответствие типу
InArr[i]:=String(Form1.Memo1.
// элемент массива
except
end;
InArr [i]:= String(Memo1.Lines[i]); // строками из Memo_in
end;
Memo2.Lines.Clear; //очищаем поля
Memo3.Lines.Clear;
//строки memo_out
for i:=0 to i-1 do // запускаем цыкл от 0 до I
begin
if (InArr[i] )='а' then //оопределяем символ
begin
c:='я'; //подмена символа
Memo2.Lines.Add(String(c)); //вывод в мемо 2
end;
if (InArr[i] )='б' then
begin c:='ю'; Memo2.Lines.Add(String(c))
end; if (InArr[i] )='в' then
begin c:='э'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='г' then
begin c:='ь'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='д' then
begin c:='ы'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='е' then
begin c:='ъ'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='ё' then
begin c:='щ'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='ж' then
begin c:='ш'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='з' then
begin c:='ч'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='и' then
begin c:='ц'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='й' then
begin c:='х'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='к' then
begin c:='ф'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='л' then
begin c:='у'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='м' then
begin c:='т'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='н' then
begin c:='с'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='о' then
begin c:='р'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='п' then
begin c:='п'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='р' then
begin c:='о'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='с' then
begin c:='н'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='т' then
begin c:='м'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='у' then
begin c:='л'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='ф' then
begin c:='к'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='х' then
begin c:='й'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='ц' then
begin c:='и'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='ч' then
begin c:='з'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='ш' then
begin c:='ж'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='щ' then
begin c:='ё'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='ъ' then
begin c:='е'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2
end; if (InArr[i] )='ы' then
begin c:='д'; Memo2.Lines.Add(String(c)); //определяем символ подмена символа вывод в мемо 2