Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / текст курсовой.docx
Скачиваний:
112
Добавлен:
13.04.2015
Размер:
1.74 Mб
Скачать

2) Метод lsb

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

Все методы LSB являются аддитивными (A17, L18D).

Другие методы скрытия информации в графических файлах ориентированы на форматы файлов с потерей, такие, как JPEG. В отличие от LSB они более устойчивы к геометрическим преобразованиям. Это получается за счёт варьирования в широком диапазоне качества изображения, что приводит к невозможности определения источника изображения.

2 Разработка приложения

2.1 Разработка блок-схемы алгоритма

В качестве исходных данных в алгоритме используется изображение в формате bmp, размер которого может варьироваться, а также текст, который необходимо зашифровать. Разрабатываемое приложение состоит из двух частей: первая часть – собственно зашифровка текста в изображении, вторая – его декодирование для проверки полученного результата.

Словесное описание алгоритма:

1 часть

1. Начало

2. Загрузить изображение

3. Загрузить текст сообщения в двоичном коде

4. Выбрать матрицу, в которой будет проведена зашифровка текста

5. Рассчитать размер матрицы

6. Если размер изображения превышает размер кодируемого текста, то перейти к п.7

7. Перевести матрицу из десятичной системы счисления в двоичную

8. В последний бит каждого пикселя рабочей матрицы записать бит информации из скрываемого сообщения

9. Перевести матрицу с закодированным изображением в десятичную систему счисления

10. Записать измененное изображение

11. Вывести на экран исходное и полученное в результате зашифровки изображения сообщение

12. Записать полученное изображение в файл

13. Конец

2 часть

1. Начало

2. Загрузить изображение, в котором зашифрован текст

3. Выбрать матрицу, в которой зашифрован текст

4. Создать цикл от первого значения матрицы до последнего бита закодированного текста

5. Перевести матрицу в двоичный код

6. В новый массив записать все переведенные значения

7. Вывести полученный массив

8. Конец

В качестве кодируемого текста используется слово LISA. После перевода в двоичный код с помощью таблицы ASCII-кодов слово будет выглядеть следующим образом:0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 1. В двоичном коде текста используется 32 символа.

Блок-схема алгоритма, 1 часть:

начало

Загрузить изображение C:\Users\Лиза\Desktop\19000-1680x1050.bmp'

загрузить матрицу R=X(:,:,1)

Рассчитать размер матрицы: [a,b]=size(R)

загрузить текст сообщения F=[0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 1]

1

1

a>32

да нет

for i=1:1:32

R(i,1)=bin2dec(A)

X_n=X

X_n(:,:,1)=R

A=dec2bin(R(i,1),8)

«ввести изображение большего размера

A(8)=dec2bin(F(i),1)

Вывести исходное и преобразованное изображение

Записать изображение в файл

конец

Описание переменных:

X – загружаемое изображение, представленное в виде матрицы.

F – массив, содержащий биты текста, который будет зашифрован.

R – матрица RED, в которой будет произведена зашифровка текста.

[a, b] – размер матрицы RED.

A – матрица R, переведенная в двоичный код и представленная в виде матрицы с восемью столбцами.

X_n – матрица, полученная в результате кодировки изображения

Блок-схема алгоритма, 2 часть:

начало

for i=1:1:32

F(i)=A(8)

F

конец

R=X(:,:,1)

Загрузить изображение C:\Users\Лиза\Desktop\rty1.bmp

A=dec2bin(R(i,1),8)

Описание переменных:

X – загружаемое изображение, представленное в виде матрицы.

R – матрица RED.

A – матрица R, переведенная в двоичный код и представленная в виде матрицы с восемью столбцами.

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