Скрытие конфиденциальной информации при помощи стеганографии

Автор работы: Пользователь скрыл имя, 08 Апреля 2011 в 21:25, курсовая работа

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

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

Содержание работы

Введение…………………………………………………………………………...3
Основная часть………………………………………………………….….6
1.Теоретическое обоснование……………………………………………..6
1.1 Основные положения стеганографии……………………….....6
1.2 Встраивание сообщений в незначащие элементы контейнера.14
1.3 Стеганографические протоколы……………………………....15
1.4 Практические вопросы встраивания данных………................17
1.5 Практические оценки стойкости стегосистем……………..…18
1.6 Скрытие данных в неподвижных изображениях……...……..19
1.6.1 Обзор алгоритмов встраивания информации в изображения………………………………………………………..20
II. Практическая часть……………………………………………………...23
1. Анализ технического задания………………………………………..23
Актуальность программного продукта………………………23
Назначение программного продукта……………………….....24
Принцип работы программного продукта………………..…..24
Сфера применения разработанного программного продукта.26
2.Обоснование выбора средств разработки……………………………..26
3.Модульная структура программы……………………………………..28
4.Разработка форм входных и выходных данных………………………29
4.1Входные данные……………………………………………...…29
4.2Выходные данные………………………………………………29
5.Теститрование программного продукта………………………………29
5.1Тестирование выполнения основных функций программы…….29
6.Разработка сопроводительных документов…………………………...30
6.1Описание руководства программиста………………………..…...30
6.2Описание руководства пользователя……………………………..30
ЗАКЛЮЧЕНИЕ……………………………………………………..…….32
СПИСОК ЛИТЕРАТУРЫ………………………………………………..34

Файлы: 1 файл

Смоленский промышленно.doc

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

                        Pixels[X, Y+1]:= RGB(RedArr[3], GreenArr[3], BlueArr[3]);

                        j:= j+1;

                     end;

                   4: begin

                        BlueArr[4]:= BlueArr[4]+1;

                        Pixels[X+1, Y+1]:= RGB(RedArr[4], GreenArr[4], BlueArr[4]);

                        j:= j+1;

                     end;

                   5: begin

                        BlueArr[5]:= BlueArr[5]+1;

                        Pixels[X+1, Y]:= RGB(RedArr[5], GreenArr[5], BlueArr[5]);

                        j:= j+1;

                     end;

                   6: begin

                        BlueArr[6]:= BlueArr[6]+1;

                        Pixels[X+1, Y-1]:= RGB(RedArr[6], GreenArr[6], BlueArr[6]);

                        j:= j+1;

                     end;

                   7: begin

                        BlueArr[7]:= BlueArr[7]+1;

                        Pixels[X, Y-1]:= RGB(RedArr[7], GreenArr[7], BlueArr[7]);

                        j:= j+1;

                     end;

                   8: begin

                        BlueArr[8]:= BlueArr[8]+1;

                        Pixels[X-1, Y-1]:= RGB(RedArr[8], GreenArr[8], BlueArr[8]);

                        j:= j+1;

                     end;

                 end;

                 b:= b+1;

               end;

               r:= r div 9;

               g:= g div 9;

               b:= b div 9;

               //закончили размытие  точки

               Image1.Canvas.Pixels[x, y]:= RGB(r, g, b);  //в каждый пиксель помещаем три символа текста

               i:= i+3;

             Until i = length(Str)+1;

           end;

         end;

         Image1.Repaint;

       end; 

       procedure TfrmStenograf.N39Click(Sender: TObject); //вытащить информацию из рисунка

       Type TColoreArr= array[1..8] of byte;

       Var a: TColor;

         RedArr, GreenArr, BlueArr: TColoreArr;

         r, g, b: Integer;

         j: byte;

         i: LongWord;

         Str: String;

       begin

         X:= GetStart(Edit1.Text);

         Y:= 2;

         Str:= '';

         a:= Image1.Canvas.Pixels[X, Y];

         i:= GetRValue(a)*65536 + GetGValue(a)*255 + GetBValue(a); //считываем длину текста

           repeat

             X:= 2 + (106*X+1230) mod (Image1.Width-3); //генератор  псевдослучайной  последовательности

             Y:= Y + 3;

             with Image1.Canvas do begin

               // устраним размытие точки

               a:= Pixels[X-1, Y];

               RedArr[1]:= GetRValue(a);

               GreenArr[1]:= GetGValue(a);

               BlueArr[1]:= GetBValue(a);

               a:= Pixels[X-1, Y+1];

               RedArr[2]:= GetRValue(a);

               GreenArr[2]:= GetGValue(a);

               BlueArr[2]:= GetBValue(a);

               a:= Pixels[X, Y+1];

               RedArr[3]:= GetRValue(a);

               GreenArr[3]:= GetGValue(a);

               BlueArr[3]:= GetBValue(a);

               a:= Pixels[X+1, Y+1];

               RedArr[4]:= GetRValue(a);

               GreenArr[4]:= GetGValue(a);

               BlueArr[4]:= GetBValue(a);

               a:= Pixels[X+1, Y];

               RedArr[5]:= GetRValue(a);

               GreenArr[5]:= GetGValue(a);

               BlueArr[5]:= GetBValue(a);

               a:= Pixels[X+1, Y-1];

               RedArr[6]:= GetRValue(a);

               GreenArr[6]:= GetGValue(a);

               BlueArr[6]:= GetBValue(a);

               a:= Pixels[X, Y-1];

               RedArr[7]:= GetRValue(a);

               GreenArr[7]:= GetGValue(a);

               BlueArr[7]:= GetBValue(a);

               a:= Pixels[X-1, Y-1];

               RedArr[8]:= GetRValue(a);

               GreenArr[8]:= GetGValue(a);

               BlueArr[8]:= GetBValue(a);

               r:= 0;     //читаем  информацию из  соседних пикселей

               g:= 0;

               b:= 0;

               for j:= 1 to 8 do begin

                 r:= (r + RedArr[j]);

                 g:= (g + GreenArr[j]);

                 b:= (b + BlueArr[j]);

               end;

             end;

             //устранили размытость

             a:= Image1.Canvas.Pixels[X, Y]; //читаем  информацию из  пикселя

             r:= 9*GetRValue(a) - r;

             g:= 9*GetGValue(a) - g;

             b:= 9*GetBValue(a) - b;

             Str:= Str + chr(r);

             Str:= Str + chr(g);

             Str:= Str + chr(b);

             i:= i-3;

           Until i = 0;

         Memo1.Text:= Str;

       end; 

       procedure TfrmStenograf.N1Click(Sender: TObject);

       begin

         N20.Click;

       end; 

       procedure TfrmStenograf.N2Click(Sender: TObject);

       begin

         N21.Click;

       end; 

       procedure TfrmStenograf.N6Click(Sender: TObject);

       begin

         N25.Click;

       end; 

       procedure TfrmStenograf.N7Click(Sender: TObject);

       begin

         N26.Click;

       end; 

       procedure TfrmStenograf.N8Click(Sender: TObject);

       begin

         N27.Click;

       end; 

       procedure TfrmStenograf.N11Click(Sender: TObject);

       begin

         N30.Click;

       end; 

       procedure TfrmStenograf.N12Click(Sender: TObject);

       begin

         N32.Click;

       end; 

       procedure TfrmStenograf.N13Click(Sender: TObject);

       begin

         N33.Click;

       end; 

       procedure TfrmStenograf.N15Click(Sender: TObject);

       begin

         N38.Click;

       end; 

       procedure TfrmStenograf.N16Click(Sender: TObject);

       begin

         N39.Click;

       end; 

       procedure TfrmStenograf.Timer1Timer(Sender: TObject);

       begin

         StatusBar1.Panels[0].Text:= 'Символов набрано: ' + IntToStr(length(Memo1.Text));

         StatusBar1.Panels[1].Text:= 'Символов максимум: ' + IntToStr(Memo1.MaxLength);

         StatusBar1.Panels[2].Text:= 'Рабочий файл: ' + OpenPictureDialog1.FileName;

       end;

       end. 
 
 
 
 
 
 
 
 
 
 
 
 

   ПРИОЖЕНИЕ Б 

 

Рисунок 1. – форма 1 «Стегонаграфия»  

 

Рисунок 2. - форма 1 «Стегонаграфия»

Информация о работе Скрытие конфиденциальной информации при помощи стеганографии