«Разработка методов встраивания информации в пространственную область изображения»





Название«Разработка методов встраивания информации в пространственную область изображения»
страница9/10
Дата публикации01.09.2013
Размер0.97 Mb.
ТипДиплом
100-bal.ru > Информатика > Диплом
1   2   3   4   5   6   7   8   9   10

ЗАКЛЮЧЕНИЕ


В результате выполнения дипломного проектирования были решены следующие задачи:

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

Разработан программный продукт на Delphi 7.0, для скрытой передачи информации в пространственной области изображения.

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ


  1. Артёхин Б.В. Стеганография // Журнал "Защита информации. Конфидент", 1996. - №4. - С.47-50.

  2. Швидченко И.В. Анализ криптостеганографических алгоритмов // Проблемы управления и информатики, 2007. - № 4. - С. 149-155.

  3. Барсуков B.C., Романцов А.П. Компьютерная стеганография: вчера, сегодня, завтра. Технологии информационной безопасности XXI века. Материалы Internet-ресурса «Специальная техника» (http://st.ess.ru/).

  4. Генне О.В. Основные положения стеганографии // Журнал "Защита информа­ции. Конфидент", 2000. - №3.

  5. Грибунин В.Г., Оков И.Н., Туринцев И.В. Цифровая стеганография. М.: Солон-Пресс, 2002. - 272 с.

  6. Конахович Г.Ф., Пузыренко А.Ю. Компьютерная стеганография Теория и практика - К: МК-Пресс, 2006. - 288 с.

  7. Грибунин В.Г. Критерии оценки надёжности паролей. - М.: РУСКАРД, 2003. (http://www.ruscard.org/).

  8. Игнатов В.А. Теория информации и передачи сигналов. - М.: Радио и связь, 1991. - 280с.

  9. Кустов В.Н., Федчук А.А. Методы встраивания скрытых сообщений // Журнал "Защита информации. Конфидент", 2000. - №3. - С.34.

  10. Аграновский А.В., Девянин П.Н., Хади Р.А., Черемушкин А.В. Основы компьютерной стеганографии. - М.: Радио и связь, 2003. - 152 с.

  11. Барсуков B.C. Стеганографические технологии защиты документов, авторских прав и информации // Обзор специальной техники, 2000. - №2. - С.31 - 40.

  12. Перепелицын Е.Г. Нестандартные методы математической статистики и их приложение к технической диагностике и анализу изображений. - Москва: Омега-Л, 2006. - 312 с.

  13. Васильев А.В. Технико-экономическое обоснование дипломных проектов (работ). - СПб: ГЭТУ, 2002.

  14. Гражданский Кодекс Российской Федерации от 18.12.2006 г. № 230-ФЗ. Ч. 4 // Российская газета №289 от 22.12.2006 г.

  15. Мамиофа И. Э. Программа для ЭВМ как объект авторского права// Информатика и право: Сб. науч. тр./ Под ред. Б. Н. Наумова. Л.: Наука, 1988. - С. 11 - 20.

  16. Правила составления, подачи и рассмотрения заявки на официальную регистрацию программы для электронных вычислительных машин и заявки на официальную регистрацию баз данных: Утв. приказом Роспатента от 25.02.2003 г. № 25// Российская газета №63 от 03.04.2003 г.

Приложение 1


Листинг модуля “Main” программы на Delphi 7.0
{*************************************************************** }

{ Модуль Main }

{ Copyright (c) 2010 Сафиуллин Ф.Н. }

{ }

{ Разработчик: Сафиуллин Ф.Н. }

{ Модифицирован: 28 января 2010 г. }

{ }

{*************************************************************** }
unit Main;
interface
uses

Windows, Classes, Messages, SysUtils, Variants, Graphics, Controls, Math,Forms,

Dialogs, StdCtrls, ExtDlgs, ExtCtrls, Mask, ComCtrls, StrUtils,// модули Delphi

StegoFunc; // модуль основных функция и процедур стеганографии
type

TForm1 = class(TForm)

Button_OpenImg: TButton;

Button_Write: TButton;

Button_SaveImg: TButton;

Button_Read: TButton;

OpenPictureDialog_Img: TOpenPictureDialog;

SaveDialog_Img: TSaveDialog;

Image_Write: TImage;

Image_Read: TImage;

Memo_Txt: TMemo;

Password: TEdit;

Label_Img: TLabel;

Label_Txt: TLabel;

Label_Password: TLabel;

Label3: TLabel;

Label2: TLabel;

Label4: TLabel;

Label5: TLabel;

Bevel1: TBevel;

Bevel2: TBevel;

CheckBox_Marker: TCheckBox;

Label_Time: TLabel;

ProgressBar: TProgressBar;

Label6: TLabel;

Edit_R: TEdit;

Label7: TLabel;

Label8: TLabel;

Edit_G: TEdit;

Label9: TLabel;

Edit_B: TEdit;

Label10: TLabel;

procedure Button_OpenImgClick(Sender: TObject);

procedure Button_WriteClick(Sender: TObject);

procedure Button_SaveImgClick(Sender: TObject);

procedure Button_ReadClick(Sender: TObject);

procedure Memo_TxtChange(Sender: TObject);

procedure CheckBox_MarkerClick(Sender: TObject);

procedure Edit_KeyPress(Sender: TObject; var Key: Char);

procedure Edit_Change(Sender: TObject);

private

{ Private declarations }

public

InfoCont: Integer; // Переменная для хранения значения объема информации

end;
var

Form1: TForm1;
implementation
{$R *.dfm}
//************************************************************

// Процедура - обработчик нажатия кнопки "Открыть изображение"

procedure TForm1.Button_OpenImgClick(Sender: TObject);

var

FileName : String;

Pixels: Integer;

begin

If OpenPictureDialog_Img.Execute then

begin
// Открываем изображение для встраивания в него информации

FileName := OpenPictureDialog_Img.FileName;
// Выводим изображение на форму

image_Write.Picture.Bitmap.Create;

image_Write.Picture.Bitmap.LoadFromFile(FileName);

image_Read.Picture := nil;
// Вычислим количество пикселей в изображении

Pixels := image_Write.Picture.Bitmap.Width

* image_Write.Picture.Bitmap.Height;
// Выводим информацию об объеме изображения

Label_Img.Caption := 'Объем изображения: '

+ IntToStr((Pixels * (StrToInt(Edit_R.Text)

+ StrToInt(Edit_G.Text) + StrToInt(Edit_B.Text)))

div 8) + ' байт';

end

else

exit;

end;
//************************************************************

// Процедура - обработчик нажатия кнопки "Встроить информацию в изображение"

procedure TForm1.Button_WriteClick(Sender: TObject);

var

StartTime : TDateTime;

Indx, Indy, NewVal, i, j, ImgHeight, ImgWidth: Integer;

B, G, R, B_byte, G_byte, R_byte, iMod, iDiv: byte;

Mv, Mvb, Marker: String;

KeyMatrix: TIntegerArray;

IndMatrix: TStringArray;

error, MarkerCheck: boolean;

Bmp: TBitmap;

List: String;

begin
// Изображение из формы в переменную Bmp

Bmp := TBitmap.Create;

Bmp.Assign(image_Write.Picture.Bitmap);
// Читаем информацию с формы в переменную List

List := Memo_Txt.Text;
// Проверка заполнена ли текстовая информация

if List = '' then

begin

MessageDlg('Не указана текстовая информация!', mtWarning, [mbOk] , 0);

exit;

end;
// Проверка выбрано ли изображение

if Bmp.Empty then

begin

MessageDlg('Не выбрано изображение!', mtWarning, [mbOk] , 0);

exit;

end;
// Учитываем время начала встраивания

StartTime := Time;

Label_Time.Caption := 'Время встраивания: ';
// Формирование последовательности бит встраиваемой информации

for i:=1 to Length(List) do

begin

iDiv:=Ord(List[i]);

for j:=1 to 8 do

begin

iMod := iDiv mod 2;

iDiv := iDiv div 2;

Mv := IntToStr(iMod) + Mv;

end;

Mvb := Mvb + Mv;

Mv := '';

end;
// Определяем переменные

ProgressBar.Min := 1;

ProgressBar.Max := Length(Mvb);

MarkerCheck := CheckBox_Marker.Checked;

Marker := '';

ImgHeight := bmp.Height;

ImgWidth := bmp.Width;

error := false;

B_byte := 0;

G_byte := 0;

R_byte := 0;
// Формирование основного ключа для вычисления координат x и y

KeyMatrix := FormingKey(Password.Text,Marker);
// Добавление маркера окончания, если он используется

if MarkerCheck then Mvb := Mvb + Marker;
// Производим встраивание информации

for i:=1 to Length(Mvb) do

begin
// Отображение на форме состояние процесса

ProgressBar.Position := i;
// Проверим, нужно ли генерировать новую точку для встраивания

if (i = 1) or ((B_byte = StrToInt(Edit_B.Text))

and (G_byte = StrToInt(Edit_G.Text))

and (R_byte = StrToInt(Edit_R.Text))) then

begin

// Определяем координаты X и Y для первой точки

GenerateIndXIndY(IndX,IndY,ImgHeight,ImgWidth,KeyMatrix,IndMatrix,i,error);
if error then exit;
B_byte := 0;

G_byte := 0;

R_byte := 0;

end;
// Читаем цветовые значение RGB точки

R := Byte(Bmp.Canvas.Pixels[(Indx-1), (Indy-1)] shr 0);

G := Byte(Bmp.Canvas.Pixels[(Indx-1), (Indy-1)] shr 8);

B := Byte(Bmp.Canvas.Pixels[(Indx-1), (Indy-1)] shr 16);
// Встраиваем бит информации в цветовую область точки

If B_byte < StrToInt(Edit_B.Text) then

begin

WriteLSB(B,8-B_byte,Mvb[i]);

Inc(B_byte);

end

else If G_byte < StrToInt(Edit_G.Text) then

begin

WriteLSB(G,8-G_byte,Mvb[i]);

Inc(G_byte);

end

else If R_byte < StrToInt(Edit_R.Text) then

begin

WriteLSB(R,8-R_byte,Mvb[i]);

Inc(R_byte);

end;
// Формируем точку RGB

NewVal := 0;

NewVal := NewVal shl 8;

NewVal := NewVal or B;

NewVal := NewVal shl 8;

NewVal := NewVal or G;

NewVal := NewVal shl 8;

NewVal := NewVal or R;
// Записываем новые цветовые значения RGB в точку

Bmp.Canvas.Pixels[(Indx-1), (Indy-1)] := NewVal;

end;
// Выводим итоговое изображение на форму

image_Read.Picture.Bitmap := Bmp;
Label_Time.Caption := 'Время встраивания: ' + TimeToStr(Time - StartTime);
MessageDlg('Встраивание успешно завершено.', mtInformation, [mbOk] , 0);
// Обнуление переменных

List:= '';

Bmp.Free;
end;
//************************************************************

// Процедура - обработчик нажатия кнопки "Посмотреть встроенную информацию"

procedure TForm1.Button_ReadClick(Sender: TObject);

var

Indx, Indy, i, j, ImgHeight, ImgWidth, Size: Integer;

B, G, R, B_byte, G_byte , R_byte, Val: byte;

List, Mv, Mvb, Marker: String;

KeyMatrix: TIntegerArray;

IndMatrix: TStringArray;

error, MarkerCheck: boolean;

Bmp: TBitmap;

begin
// Изображение из формы в переменную

Bmp := image_Read.Picture.Bitmap;
// Проверка выбрано ли изображение

if Bmp.Empty then

begin

MessageDlg('Не выбрано изображение!', mtWarning, [mbOk] , 0);

exit;

end;
// Определяем переменные

MarkerCheck := CheckBox_Marker.Checked;

Marker := '';

ImgHeight := bmp.Height;

ImgWidth := bmp.Width;

error := false;

B_byte := 0;

G_byte := 0;

R_byte := 0;
// Формирование основного ключа для вычисления координат x и y

KeyMatrix := FormingKey(Password.Text,Marker);
// Если используется маркер окончания информации

if MarkerCheck then

Size := ImgHeight * ImgWidth

else

Size := InfoCont*8;
// Производим извлечение информации

for i:=1 to Size do

begin
// Проверим, нужно ли генерировать новую точку для встраивания

if (i = 1) or ((B_byte = StrToInt(Edit_B.Text))

and (G_byte = StrToInt(Edit_G.Text))

and (R_byte = StrToInt(Edit_R.Text))) then

begin

// Определяем координаты X и Y для первой точки

GenerateIndXIndY(IndX,IndY,ImgHeight,ImgWidth,KeyMatrix,IndMatrix,i,error);
if error then exit;
B_byte := 0;

G_byte:= 0;

R_byte := 0;

end;
// Читаем цветовые значение RGB точки

R := Byte(Bmp.Canvas.Pixels[(Indx-1), (Indy-1)] shr 0);

G := Byte(Bmp.Canvas.Pixels[(Indx-1), (Indy-1)] shr 8);

B := Byte(Bmp.Canvas.Pixels[(Indx-1), (Indy-1)] shr 16);
// Читаем бит информации из цветовой области точки

If B_byte < StrToInt(Edit_B.Text) then

begin

ReadLSB(B,8-B_byte,Mvb);

Inc(B_byte);

end

else If G_byte < StrToInt(Edit_G.Text) then

begin

ReadLSB(G,8-G_byte,Mvb);

Inc(G_byte);

end

else If R_byte < StrToInt(Edit_R.Text) then

begin

ReadLSB(R,8-R_byte,Mvb);

Inc(R_byte);

end;
// Проверка метки, если найдена завершаем цикл

if MarkerCheck and (AnsiRightStr(Mvb, 32) = Marker) then break;
end;
// Производим преобразование последовательности бит в сообщение

List := '';

i := 1;
// Если используется маркер окончания информации

if MarkerCheck then

Size := Length(Mvb)-32

else

Size := Length(Mvb);
while i <= Size do

begin

Mv := copy(Mvb,i,8);

Val := 0;

for j:=8 downto 1 do

begin

Val := Val + StrToInt(Mv[j])*Round(Power(2,8-j));

end;
List := List + Chr(Val);
i:=i+8;

end;
// Выводим сообщение на экран

ShowMessage(List);
end;
//************************************************************

// Процедура - обработчик нажатия кнопки "Сохранить изображение"

procedure TForm1.Button_SaveImgClick(Sender: TObject);

var

Bmp: TBitmap;

begin
// Изображение из формы в переменную

Bmp := image_Read.Picture.Bitmap;
// Проверка выбрано ли изображение

if Bmp = nil then

begin

MessageDlg('Не выбрано изображение!', mtWarning, [mbOk] , 0);

exit;

end;
// Открываем стандартную форму сохранения изображения

If SaveDialog_Img.Execute then

begin

// Сохраняем изображение

Caption := SaveDialog_Img.FileName;

Bmp.SaveToFile(Caption);

end

else

exit;

end;
//************************************************************

// Процедура - событие при изменении полея 'Memo_Txt'

procedure TForm1.Memo_TxtChange(Sender: TObject);

begin
// Вычисляем объем информации

if CheckBox_Marker.Checked then

InfoCont := Length(Memo_Txt.Text) + 4

else

InfoCont := Length(Memo_Txt.Text);
Label_Txt.Caption := 'Объем информации: ' + IntToStr(InfoCont) + ' байт';
end;
//************************************************************

// Процедура - событие при изменении поля 'CheckBox_Marker'

procedure TForm1.CheckBox_MarkerClick(Sender: TObject);

begin
// Вычисляем объем информации

if CheckBox_Marker.Checked then

InfoCont := Length(Memo_Txt.Text) + 4

else

InfoCont := Length(Memo_Txt.Text);
Label_Txt.Caption := 'Объем информации: ' + IntToStr(InfoCont) + ' байт';
end;
//************************************************************

// Процедура - событие при вводе количества бит в области

procedure TForm1.Edit_KeyPress(Sender: TObject; var Key: Char);

begin

// Ограничение по вводу числа от 0 до 8

if Not (Key in ['0'..'8', #8])then Key:=#0;

end;
//************************************************************

// Процедура - событие при окончаниии вводе количества бит в области

procedure TForm1.Edit_Change(Sender: TObject);

var

Pixels : Integer;

begin

// Если поля не заполнены им присваевается ноль

if Edit_R.Text = '' then Edit_R.Text := '0';

if Edit_G.Text = '' then Edit_G.Text := '0';

if Edit_B.Text = '' then Edit_B.Text := '0';
// Вычислим количество пикселей в изображении

Pixels := image_Write.Picture.Bitmap.Width

* image_Write.Picture.Bitmap.Height;
// Выводим информацию об объеме изображения

Label_Img.Caption := 'Объем изображения: '

+ IntToStr((Pixels * (StrToInt(Edit_R.Text)

+ StrToInt(Edit_G.Text) + StrToInt(Edit_B.Text)))

div 8) + ' байт';

end;

end.

1   2   3   4   5   6   7   8   9   10

Похожие:

«Разработка методов встраивания информации в пространственную область изображения» iconРазработка методов и средств анализа и диагностирования объектов...

«Разработка методов встраивания информации в пространственную область изображения» iconОтчет №3 о научно-исследовательской работе по теме: «Грид-технологии»
Разработка методов эффективного решения задач обработки, хранения, передачи и защиты информации
«Разработка методов встраивания информации в пространственную область изображения» icon1. Инструменты выделения
Эти выделенные точки изображения называются выделенной областью. Пока в изображении есть выделенная область, все операции программа...
«Разработка методов встраивания информации в пространственную область изображения» iconПрограмма по бумажной пластике Пояснительная записка
Здесь имеется в виду умение читать простейшие схемы и чертежи, что необходимо для выполнения выкроек различной сложности; способность...
«Разработка методов встраивания информации в пространственную область изображения» iconОтчет о научно-исследовательской работе разработка методов макроэкономической...
«Разработка методов макроэкономической оценки расходов федерального бюджета», шифр темы 0111-03-09
«Разработка методов встраивания информации в пространственную область изображения» iconРазработка методов информационной защиты в экономических информационных...
Динамическая эквивалентность как способ преодоления различий в национальных картинах мира
«Разработка методов встраивания информации в пространственную область изображения» iconПрограмма дисциплины сд. 03. Разработка Интернет-приложений Рекомендуется...
Целью дисциплины является изучение основных понятий и методов теории информации и кодирования, используемых при описании, проектировании...
«Разработка методов встраивания информации в пространственную область изображения» iconМетодические рекомендации по самостоятельной работе студентов и изучению...
Целью данного спецкурса является: ознакомление с различными видами угроз информационным ресурсам, каналами утечки информации, моделью...
«Разработка методов встраивания информации в пространственную область изображения» iconСулейманов галем альбкаевич разработка мер борьбы с основными гельминтозами...
Разработка методов государственного регулирования процессов рождаемости, смертности, брачности и разводимости
«Разработка методов встраивания информации в пространственную область изображения» iconОбразовательная область «Технология» является одной из содержательных...
Как известно, технология определяет как наука о преобразовании и использовании материи, энергии и информации в интересах и по плану...
«Разработка методов встраивания информации в пространственную область изображения» iconПрограмма bde administrator 28
Обязательной является разработка вопросов системного анализа объектов проектирования, оптимизации и выбора наилучших вариантов решений,...
«Разработка методов встраивания информации в пространственную область изображения» iconПояснительная записка к курсовому проекту по дисциплине «Разработка сапр»
Целью работы является разработка и реализация библиотеки элементов «Отвертка» на базе системы компас 3D, с использованием методов...
«Разработка методов встраивания информации в пространственную область изображения» iconПрограмма дисциплины «Научный семинар кафедры методов сбора и анализа...
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления 39. 04. 01 «Социология»...
«Разработка методов встраивания информации в пространственную область изображения» iconПрограмма фундаментальных исследований Президиума ран №8 «разработка...
«Разработка «безызносных» подшипников скольжения спутниковых антенн для работы в отсутствии смазки в открытом космосе»
«Разработка методов встраивания информации в пространственную область изображения» icon1 Фазы информационного цикла и их модели
Информационная технология (ИТ) совокупность средств и методов сбора, обработки и передачи данных (первичной информации) для получения...
«Разработка методов встраивания информации в пространственную область изображения» iconМетодическая разработка урока по теме «поиск информации в сети интернет»...
Ли-ю-кун Н. В. Методическая разработка урока по теме «Поиск информации в сети интернет» Улан-Удэ: Изд-во брктиП, 2010г стр. 35


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск