ТЗ Stego

advertisement
ВРБ-40461806-10.27-08-10.91
Аннотация
Программа «Stego».
Техническое задание на программу «Stego». Составлено и
оформлено согласно ГОСТ 19.201-78. Страниц 19.
Содержит основные сведения об объекте разработки, требования к
программе
и
программной
документации,
технико-экономические
показатели, стадии и этапы разработки, порядок контроля и приёмки.
2
ВРБ-40461806-10.27-08-10.91
Содержание
1 Введение ................................................................................................................ 5
1.1 Наименование программного изделия ............................................................ 5
1.2 Область применения ......................................................................................... 5
2 Основания для разработки ................................................................................ 6
2.1 Документ, на основании которого ведется разработка ................................. 6
2.2 Организация, утвердившая этот документ, и дата его утверждения . 6
2.3 Наименование темы разработки ................................................................. 6
3 Назначение разработки ........................................................................................ 6
4 Требования к программе ..................................................................................... 7
4.1 Требования к функциональным характеристикам ........................................ 7
4.1.1 Состав выполняемых функций ..................................................................... 7
4.1.2 Организация входных и выходных данных ................................................ 9
4.1.3 Временные характеристики ........................................................................ 10
4.2 Требования к надежности .............................................................................. 10
4.2.1 Требования к надежному функционированию ......................................... 10
4.2.2 Контроль входной и выходной информации ............................................ 10
4.2.3 Время восстановления после отказа .......................................................... 10
4.3 Требования к эксплуатации ........................................................................... 11
4.4 Требования к составу и параметрам технических средств ......................... 11
4.5 Требования к информационной и программной совместимости ............... 12
4.5.1 Требования к информационным структурам на входе ............................ 12
4.5.2 Требования к информационным структурам на выходе .......................... 12
4.5.3 Требования к методам решения.................................................................. 12
4.5.4 Требования к языкам программирования .................................................. 13
3
ВРБ-40461806-10.27-08-10.91
4.5.5 Требования к программным средствам, используемым программой .... 13
4.6 Требования к маркировке и упаковке ........................................................... 13
4.6.1 Требования к маркировке программного изделия .................................... 13
4.7 Требования к транспортированию и хранению ........................................... 13
5 Требования к программной документации ..................................................... 14
6 Технико-экономические показатели ................................................................ 14
7 Стадии и этапы разработки ............................................................................... 14
8 Порядок контроля и приемки............................................................................ 15
8.1 Виды испытаний .............................................................................................. 15
8.2 Общие требования к приемке ........................................................................ 15
Приложение А Структура файла настроек программы .................................... 16
Приложение Б Методы решения задачи ............................................................. 17
Приложение В Диаграмма прецедентов ............................................................. 19
4
ВРБ-40461806-10.27-08-10.91
1 Введение
1.1 Наименование программного изделия
Разработанный
программный
продукт,
представляет
собой
программу скрытия текста в графических изображениях формата JPG или
BMP и файлов любого расширения в графических изображениях
формата BMP и извлечения текста и файлов любого расширения из
графических изображений формата JPG или BMP с использованием
двумерного
прямого
и
обратного
дискретного
косинусного
преобразования. Полное наименование программы – программа «Stego».
Далее будем использовать краткое название - программа.
1.2 Область применения
Программа предназначена для скрытия
текста
в
графических
изображениях формата JPG или BMP и файлов любого расширения в
графических изображениях формата BMP и извлечения текста и файлов
любого расширения из графических изображений формата JPG или BMP с
использованием
двумерного
прямого
и
обратного
дискретного
косинусного преобразования. Программа может использоваться любым
классом пользователей в целях обеспечения защиты авторских прав на
графические изображения формата JPG и BMP путем встраивания в них
цифровой подписи.
5
ВРБ-40461806-10.27-08-10.91
2 Основания для разработки
2.1 Документ, на основании которого ведется разработка
Разработка ведется на основании задания на выполнение выпускной
работы бакалавра по направлению «Информатика и вычислительная
техника».
2.2 Организация, утвердившая этот документ, и дата его
утверждения
Задание на дипломное проектирование выдано преподавателем
кафедры САПР и ПК ВолгГТУ Садовниковой Н. П.
Задание выдано “__” _________2009 г.
Срок окончания работ “__” _________2010 г.
2.3 Наименование темы разработки
Наименование темы разработки – разработка алгоритмов и
программного
обеспечения
для
встраивания
идентифицирующей
информации в растровые изображения.
3 Назначение разработки
Основное назначение данного изделия - обеспечение защиты авторских
прав пользователей на графические изображения формата JPG и BMP.
6
ВРБ-40461806-10.27-08-10.91
4 Требования к программе
4.1 Требования к функциональным характеристикам
4.1.1 Состав выполняемых функций
Главные функции программы:
1) скрытие текста в изображениях формата JPG и BMP;
2) скрытие файлов любых форматов, подходящего размера, в
изображениях формата BMP;
3) подпись изображений формата JPG и BMP с помощью значения
криптографической хэш-функции;
4) извлечение текста из изображений формата JPG и BMP со
скрытым в них текстом;
5) извлечение файлов из изображений формата JPG и BMP со
скрытым в них файлом;
6) проверка подписи изображений формата JPG и BMP.
Функции работы с файлами:
1) загрузка в программу изображений формата JPG или BMP,
предназначенных для скрытия в них текста;
2) загрузка в программу изображений формата JPG или BMP,
предназначенных для скрытия в них файлов;
3) загрузка в программу изображений формата JPG или BMP,
предназначенных для извлечения из них текста;
4) загрузка в программу изображений формата JPG или BMP,
предназначенных для извлечения из них файлов;
5) загрузка в программу изображений формата JPG или BMP,
предназначенных для подписи их с помощью значения криптографической
хэш-функции;
6) загрузка в программу изображений формата JPG или BMP,
предназначенных для проверки их подписи;
7
ВРБ-40461806-10.27-08-10.91
7) сохранение изображений со скрытым в них текстом в файлах
формата BMP и JPG;
8) сохранение изображений со скрытым в них файлом в файлах
формата BMP;
9)
сохранение
изображений,
подписанных
значением
криптографической хэш-функции, в файлах формата BMP и JPG;
10) выбор файла для скрытия в изображении;
11) сохранение файла, извлеченного из изображения на жестком диске.
Функции
управления
параметрами
алгоритма
встраивания
данных:
1)
регулирование порогового значения разности коэффициентов
ДКП (см. Приложение А);
2)
регулирование уровня безопасности встраивания данных (см.
Приложение А).
Служебные функции:
1) отображение основного окна программы в оконном режиме;
2) ввод текста для скрытия в изображении;
3) отображение на экране текста, извлеченного из изображения;
4) отображение на экране расширения файла, извлеченного из
изображения;
5) вертикальный и горизонтальный скроллинг во всех областях вывода
изображений;
6) автомасштабирование изображений под размеры области во всех
областях вывода изображений;
7) визуальная оценка искажения изображений при встраивании в них
текста и файлов;
8) отображение оставшегося количества символов, которые можно
скрыть в выбранном изображении;
8
ВРБ-40461806-10.27-08-10.91
9) отображение оставшегося количества байт для размеров файлов,
которые можно скрыть в выбранном изображении;
4.1.2 Организация входных и выходных данных
4.1.2.1 Входные данные
На вход программы подаются либо графический файл формата JPG или
BMP для скрытия в нем текста или файла и текст или файл для скрытия, либо
графический файл формата JPG или BMP со скрытым текстом или файлом, а
также файл настроек программы config.dat. Структуру файла config.dat
можно разделить на две части: параметры встраивания данных в
изображение (пороговое значение разности модулей коэффициентов ДКП,
значение уровня безопасности) и параметры визуального отображения
изображений (флаг автомасштабирования). Сначала в файл записывается
пороговое значение – целое число от 1 до 50; уровень безопасности – целое
число
от
1
до
5,
затем
флаг
автомасштабирования
–
0,
если
автомасштабирование выключено; 1, если включено.
4.1.2.2 Выходные данные
Выходными данными программы является отображенное на
экране изображение со скрытым в него текстом
или файлом;
изображение со скрытым в нем текстом, сохраненное в файл формата
BMP или JPG, изображение со скрытым в нем файлом, сохраненное в
файл формата BMP. А так же файл настроек программы config.dat.
9
ВРБ-40461806-10.27-08-10.91
4.1.3 Временные характеристики
Время загрузки изображений на рекомендуемой конфигурации
компьютера не должно превышать 1 мин.
Время скрытия/извлечения текста или файлов из изображений на
рекомендуемой конфигурации компьютера не должно превышать 3
мин.
4.2 Требования к надежности
4.2.1 Требования к надежному функционированию
Программа должна нормально функционировать при бесперебойной
работе ЭВМ и операционной системы. При возникновении сбоя в работе
аппаратуры или операционной системы, восстановление нормальной работы
программы должно производиться после: перезагрузки операционной
системы; запуска исполняемого файла программы.
4.2.2 Контроль входной и выходной информации
Контроль
входной
информации
(описание
соответствующих
требований к входной и выходной информации см. п.п. 4.1.2.1, 4.1.2.2)
должен
осуществляться
полностью,
исключая
загрузку
файлов
несоответствующих форматов.
4.2.3 Время восстановления после отказа
Время восстановления после отказа должно состоять из: времени
перезапуска
пользователем
операционной
системы;
времени
запуска
пользователем исполняемого файла программы; времени повторного ввода
10
ВРБ-40461806-10.27-08-10.91
потерянных
данных;
времени
поиска
соответствующей
информации
программой.
4.3 Требования к эксплуатации
Эксплуатация программы должна проводиться в соответствии с
основными требованиями, накладываемыми на эксплуатацию аппаратного
обеспечения.
Требования к эксплуатации программных средств:
Программа “Stego” должна храниться в виде двух маркированных копий:
эталонной и рабочей. Для создания оптимальных условий для работы
программы следует придерживаться условий эксплуатации и хранения
оптических дисков CD-R.
4.4 Требования к составу и параметрам технических средств
Программа должна корректно работать на ЭВМ, сертифицированных
на работу под управлением операционной системы Windows XP.
Минимальная конфигурация компьютера:
1)
Intel Pentium IV 1.8 Ghz;
2)
512MB RAM;
3)
SVGA монитор (должен поддерживать работу в графическом режиме:
1280*1024, 32 бит);
4)
клавиатура;
5)
манипулятор “мышь”;
6) ОС Microsoft Windows XP SP2.
Рекомендуемая конфигурация компьютера:
1)
Intel Pentium IV 3 Ghz;
11
ВРБ-40461806-10.27-08-10.91
2)
3)
1024 MB RAM;
SVGA монитор (должен поддерживать работу в графическом режиме:
1280*1024, 32 бит);
4)
клавиатура;
5)
манипулятор “мышь”;
6)
ОС Microsoft Windows XP SP2.
4.5 Требования к информационной и программной совместимости
4.5.1 Требования к информационным структурам на входе
На вход программы должен подаваться графический файл формата JPG
или BMP шириной не более 3000 пикселей и высотой не более 3000
пикселей.
4.5.2 Требования к информационным структурам на выходе
Выходными данными программы является отображенное на
экране изображение со скрытым в него текстом
или файлом;
изображение со скрытым в нем текстом, сохраненное в файл формата
BMP или JPG, изображение со скрытым в нем файлом, сохраненное в
файл формата BMP. А так же файл настроек программы config.dat.
4.5.3 Требования к методам решения
Методы решения должны обеспечить выполнение всех этапов
проектирования подсистемы в соответствии с их порядком и сроками
выполнения, указанными в разделе 7 данного ТЗ. Подробное рассмотрение
методов решения см. Приложение Б.
12
ВРБ-40461806-10.27-08-10.91
4.5.4 Требования к языкам программирования
Языком программирования является C++. Средой программирования
является Microsoft Visual Studio 2008 с интегрированной библиотекой QT
4.4.3.
4.5.5
Требования
к
программным
средствам,
используемым
программой
Для работы программы необходима операционная система Microsoft
Windows XP SP2.
4.6 Требования к маркировке и упаковке
4.6.1 Требования к маркировке программного изделия
Оптический диск, на котором хранится эталонный экземпляр, должен
иметь маркировку, состоящую из имени исполняемого файла данного
программного продукта и даты последней перезаписи программы. Надпись
наносится не требующим сильного нажима пишущим средством
-
фломастером или мягким карандашом.
4.7 Требования к транспортированию и хранению
Условия транспортирования, места хранения и сроки хранения
программного продукта, записанного на оптический диск носитель,
должны соответствовать условиям транспортирования и хранения этого
носителя.
13
ВРБ-40461806-10.27-08-10.91
5 Требования к программной документации
В
состав
программной
документации,
проектируемое изделие - программа "Stego"
-
сопровождающей
необходимо включить
следующие документы:
1) техническое задание.
6 Технико-экономические показатели
Затраты на разработку программы включают:
– стоимость подготовки документации (состоит из стоимости бумаги и
стоимости печати), порядка 200 р.
– стоимости электроэнергии, необходимой для работы аппаратных
средств системы разработки (включающих монитор, системный блок и
принтер разработчика), порядка 2230 р.;
– стоимости оптических носителей, на которых поставляется
программа, порядка 20 р.;
– стоимости труда группы разработчиков, в количестве 1 человека,
порядка 35000 р.
Таким образом, минимальные затраты на разработку составляют
37450 р.
7 Стадии и этапы разработки
Проектирование программы происходит следующим образом:
1) разработка, согласование и утверждение технического задания на
проектирование (“__” _________ – “__” _________2010 года);
Все стадии разработки должны быть завершены до “__” _________
2010 г.
14
ВРБ-40461806-10.27-08-10.91
В рамках данного проекта внедрение программного продукта не
предусмотрено.
8 Порядок контроля и приемки
8.1 Виды испытаний
Испытания
программы
и
верификация
документации
должны
проводиться в организации заказчика. Проверочные тесты готовятся
разработчиком совместно с заказчиком.
8.2 Общие требования к приемке
Приемка программы должна осуществляться заказчиком в течение
недели. Программа должна считаться годной к приемке, если она
удовлетворяет всем пунктам данного технического задания.
15
ВРБ-40461806-10.27-08-10.91
Приложение А
Структура файла настроек программы
Файл настроек программы имеет фиксированное имя config.dat и
содержит пороговое значение разности модулей коэффициентов ДКП,
уровень безопасности и флаг автомасштабирования изображений.
Данные записываются в файл в следующем порядке:
- пороговое значение – 4 байта;
- уровень безопасности – 4 байта;
- флаг автомасштабирования – 1 байт.
16
ВРБ-40461806-10.27-08-10.91
Приложение Б
Методы решения задачи
Во время цифровой обработки изображений часто применяется
двумерная версия дискретного косинусного преобразования (ДКП):
где
C(x,y)
и
S(x,y)
–
соответственно,
элементы
оригинального
и
восстановленного по коэффициентам ДКП изображения размерностью NxN;
x,y – пространственные координаты пикселей изображения; Ω(u,v) – массив
коэффициентов ДКП; u,v – координаты в частотной области; ζ(u)=1/ 2 , если
u=0, и ζ(u)=1, если u>0; ζ(v)=1/ 2 , если v=0, и ζ(v)=1, если v>0.
Алгоритм скрытия текста в изображении.
На начальном этапе первичное изображение разбивается на блоки
размерностью 8х8 пикселей. ДКП применяется к каждому блоку – формула
(1), в результате чего получают матрицы 8х8 коэффициентов ДКП, которые
зачастую обозначают Ωb(u,v), где b – номер блока контейнера C, а (u,v)позиция коэффициента в этом блоке. Каждый блок при этом предназначен
для скрытия одного бита данных.
Выбираются два конкретных коэффициента ДКП из каждого блока,
которые будут использоваться для скрытия данных. Зададим данные
коэффициенты их координатами в массивах коэффициентов ДКП: (u1,v1) и
(u2,v2). Кроме этого, указанные коэффициенты должны отвечать косинусфункциям со средними частотами, что обеспечит скрытность информации в
существенных для зрительной системы человека областях сигнала, к тому же
информация
не
будет
искажаться
коэффициентом сжатия.
17
при
JPEG-компрессии
с
малым
ВРБ-40461806-10.27-08-10.91
Непосредственно процесс скрытия начинается с выбора блока Cb
изображения, предназначенного для кодирования b-го бита сообщения.
Встраивание информации осуществляется таким образом: для передачи бита
«0» стремятся, чтобы разница абсолютных значений коэффициентов ДКП
превышала некоторую положительную величину, а для передачи бита «1» эта
разница делается меньшей по сравнению с некоторой отрицательной
величиной:
Таким образом, первичное изображение искажается за счет внесения
изменений в коэффициенты ДКП, если их относительная величина не
отвечает скрываемому биту. Чем больше значение P, тем стеганосистема,
созданная на основе данного метода, является более стойкой к компрессии,
однако качество изображения при этом значительно ухудшается.
После
соответствующего
внесения
коррекции
в
значения
коэффициентов, которые должны удовлетворять неравенству (3), проводится
обратное ДКП.
Для
процедура
извлечения
выбора
данных
в
декодере
коэффициентов,
а
выполняется
решение
принимается в соответствии со следующим правилом:
18
о
аналогичная
переданном
бите
ВРБ-40461806-10.27-08-10.91
Приложение В
Диаграмма прецедентов
Проверка подписи изображения
Подпись изображения
Загрузить изображение
«uses»
«uses»
«uses»
Извлечь файл из изображения
Скрыть текст изображении
«uses»
«uses»
«uses»
«uses»
Скрыть файл в изображении
Извлечь текст из изображения
«uses»
«uses»
Сохранить изображение
Оценить визуальное искажение изображения
User
Рисунок 1 – Диаграмма прецедентов
19
Download