Автор: Пользователь скрыл имя, 02 Апреля 2013 в 19:35, курсовая работа
Целью данной курсовой работы является создание программного средства для нелинейного встраивания одного wave-файла в другой с помощью стеганографических методов. В современном цифровом мире информация стала ценнейшим ресурсом, который всячески пытаются защитить, например шифрованием. Но зашифрованный файл не скрывает факта, что в нём есть информация, не предназначенная для третьих лиц. Явно зашифрованный файл представляет собой объект интереса для различного рода злоумышленников. Для более безопасной передачи информации используются методы стеганографии – методы, направленные на сокрытие самого факта шифрования. Аудио, видео, тексты и изображения, в которые встроены данные стеганографическими методами, не отличаются от оригиналов.
1. Обзор по наиболее общим ключевым словам 3
1.1. Основные теоретические понятия 3
1.2. Выводы 6
2. Описание задачи 7
2.1. Описание продукта 7
2.2 Выводы 7
3. Выбор и обоснование адекватного математического аппарата для обратимого встраивания информации в звуковой файл 8
3.3. Алгоритм 8
3.3.1. Нелинейное встраивание 8
3.4. Причины выбора алгоритма 8
4. Компьютерное моделирование и исследование характеристик 9
4.3. Моделирование 9
4.4. Исследование 9
4.5. Выводы 10
5. Обоснование выбора инструментов. 11
5.3. Алгоритм 11
5.4. Программная среда 11
5.5. Выводы 12
6. Программный продукт 13
6.3. Функционал программного продукта 13
6.4. Пример работы с приложением 13
6.5. Тексты отдельных блоков (подпрограмм) с описанием входных и выходных переменных 18
Заключение 19
Список использованной литературы и программных средств 20
cw4_error WavFile::insert(WavFile *message, double alpha)
{
int chanels = this->header->numChanels;
int blockAlign = this->header->blockAlign;
int sampleSize = blockAlign/chanels;
double maxSampleValue = pow(2, sampleSize*8-1);
for(int i=0; i<message->header->subchunk2Si
for(int j=0; j<message->header->numChanels; j++){
double tempMessage = nonLinearTransform(alpha, normolize(message->data[i][j], maxSampleValue));
double tempContainer = normolize(this->data[i][j], maxSampleValue);
this->data[i][j] = reNormolize(insertion(
}
}
return NO_ERRORS;
}
Извлечение
cw4_error WavFile::extract(WavFile *message, WavFile *container, double alpha){
int chanels = this->header->numChanels;
int blockAlign = this->header->blockAlign;
int sampleSize = blockAlign/chanels;
double maxSampleValue = pow(2, sampleSize*8-1);
for(int i=0; i<container->header->subchunk2
for(int j=0; j<container->header->numChanel
double tempStego = normolize(this->data[i][j], maxSampleValue);
double tempContainer = normolize(container->data[i][
double temp = extraction(tempContainer, tempStego);
message->data[i][j] = reNormolize(
}
}
return NO_ERRORS;
}
Выводы
Полученный программный продукт позволяет нелинейно встраивать один аудио-файл формата wav в другой, превращая его тем самым в стего и извлекать сообщение из стего. Так же при α = 1 файлы будут звучать на фоне друг друга без искажений в качестве звука и изменений объёма файла-контейнера.
Преимущество стеганографии
В ходе курсовой работы были реализован алгоритм нелинейного встраивания информации в звуковой файл и его извлечение.
Так же было произведено исследование параметра ослабления α и выяснено, что оптимальным значением является 0.001, так именно при этом значении стего-файл на звук не отличим от файла-контейнера. При увеличении параметра до 1 в стего-файле с равной силой звучат обе дорожки.
http://citforum.ru/internet/