В данном исследовании мы разработали ряд методов шифрования текста в файлах wav формата и текстовых файлах с последующим дешифрованием, для проверки методов были разработаны программы в инструментальной среде Delphi.
Для упаковки текста в аудио файл были разработаны и реализованы два метода шифрования текста. Первый метод основан на замене младшего бита в 16-битном слове звукового потока, что не значительно влияло на изменение звука. Второй метод заключается в нахождении среднего показателя между двумя нечётными величинами через определённый промежуток (времени), в случае кодировки 1 значение среднего показателя увеличивали на единицу (условная единица измерения), в противном случае показатель оставался без изменений. Первый и второй методы были реализованы в созданных нами программах и апробированы. При проигрывании Wave файла изменений от оригинала нет (по звучанию). Программа дешифрует скрытый текст без потерь.
Для шифрования скрытого текста в открытый текст были разработаны ряд методов основанные на синонимах, похожих символах в разных алфавитах и пр. Для данных методов также созданы программы, которые эффективно работают при скрытии текста в открытых текстовых документах.
Вложение | Размер |
---|---|
project.docx | 317.05 КБ |
Оглавление
§1 Основные понятия файлов WAVE(Wav, Wave) Формата 3
§1 Описание методов шифрования для упаковки в аудио файлы 6
§2 Методы кодирования текста в тексте 8
Метод 1 Замена похожих символов 8
Метод 2 Чередование пробелов 8
Список информационных ресурсов 15
Введение
Многие задумываются, как передать информацию без её утечки. Для этого были созданы различные способы шифрования информации. Представляет интерес скрыть информацию в открытых источниках информации, например в аудио wav-файлах или текстовых документах.
Целью нашего исследования стала разработка способов скрытия информации в открытых (доступных всем) документах с последующей реализацией данных методов в программах их апробацией.
Для достижения поставленной цели решались следующие задачи:
В данной работе автором была сделана попытка разработать методы шифрования текста в файлах wav формата и текстовых файлах, таким образом, чтобы наши органы слуха и зрения не смогли обнаружить подмену.
Разрабатываемая программа актуальна в сфере обмена информацией: социальные сети, сайты, файлообменники, и т.д., с целью скрыть от других пользователей информацию. Внешне (на звук) зашифрованный wav файл почти не отличается, поэтому скрытую информацию в файле может получить только владелец программы.
Глава 1
§1 Основные понятия файлов WAVE(Wav, Wave) Формата
WAVE – это формат хранения оцифрованных аудио данных. Данный формат поддерживает данные различной битности (количество разрядов), с различной частотой выборки(количество снятий данных с АЦП через фиксированное количество времени) и числом каналов. Хранение аудио данных происходит в особых блоках, чанках (chunks).
Организация данных
Младший байт записывается первым. Все данные хранятся в виде 8-ми битных чисел. 8-ми битные данные являются без знаковыми, а 16-ти битные - числа со знаком.
Структура файла
RIFFWAVEChunk
groupID = 'RIFF'
FileSize : Cardinal;
riffType = 'WAVE'
Format Chunk
ckID = 'fmt
Sound Data Chunk
ckID = 'data'
Wav файл состоит из чанков разного типа. Важнейшими чанкоми являются чанки Formatchunk - «fmt» и Datachunk. Formatchunk - «fmt» - содержит параметры: частоту выборки (количество снятий данных с АЦП через фиксированное количество времени), разрядность данных (количество данных, которые АЦП может выделить на выходе) и число каналов цифровой звукозаписи. DataChunk - основной чанк, содержащий фреймы звуковых данных (все каналы звуковых данных). Присутствие других дополнительных чанков (optionalchunks) не обязательно.
Порядок следования чанков разного типа может быть произвольным. Исключение составляет чанк формата, который должен предшествовать чанку данных. [1]
RIFF (англ. ResourceInterchangeFileFormat) - один из форматов файлов - контейнеров для хранения потоковых мультимедиа-данных (видео, аудио, возможно текст). Наиболее известными форматами, использующими RIFF в качестве контейнера, являются: AVI (видео), WAV (аудио), RMI (MIDI-треки). Формат RIFF использует порядок байтов little-endian (младший байт идёт первым)[2]
§2 Цифровая звукозапись
Сначала нужно преобразовать аналоговый сигнал в цифровой (перевод из простого сигнала в двоичный код), это осуществляет устройство — аналого-цифровой преобразователь (АЦП).Происходит сохранение полученных цифровых данных на носитель: магнитную ленту (DAT), жёсткий диск, оптический диск или флеш-память.Для того чтобы прослушать сделанную запись, необходимо воспроизведение сделанной записи с носителя и обратное преобразование из цифрового сигнала в аналоговый, с помощью цифро-аналогового преобразователя (ЦАП).
Принцип действия ЦАП (цифро-аналогового преобразователя)
Сигнал с ЦАП без интерполяции на фоне идеального сигнала.
Цифровой сигнал, полученный с декодера, преобразовывается в аналоговый. Это преобразование происходит следующим образом:
§3 Текст
Открытый текст - в криптографии исходный текст, подлежащий шифрованию, либо получившийся в результате расшифровки. Может быть прочитан без дополнительной обработки (без расшифровки).
Информация, сохранённая в нетекстовом виде (например, изображение, звук, видео), тоже называется открытым текстом. Главное, чтобы для использования данной информации не требовалось выполнять расшифровку (дешифрование).
Глава 2
§1 Описание методов шифрования для упаковки в аудио файлы
Метод 1
Шифровка.
Первый метод заключается в замене 1 или 0 последнего бита младшего байта.
Замена на 1
Если последний бит младшего байта равен 1, то ничего не делаем, иначе прибавляем 1.
Замена на 0.
Проводим логическую операцию умножения на 0 (and 254). 254 в двоичной системе исчисления равно 11111110. При умножении на это число меняется только последний бит (становиться нулём).
Дешифровка.
Сканируем все последние биты младших байтов, полученный код делим по восемь цифр и находим соответствие с символом (после текста идёт не несущая смысла текстовая информация), записываем символ в текстовый файл.
Пример: результат вживления кода (ОМ=0100111101001101) можно наблюдать на Рис.1 (чёрным - до вживления, фиолетовым - после)
Рис.1
Метод 2
Шифровка.
Второй метод заключается в нахождении среднего арифметического показателя между двумя нечётными величинами через определённый промежуток (времени), в случае кодировки 1 значение среднего показателя увеличивали на единицу (условная единица измерения), в противном случае показатель остаётся прежним.
Дешифровка.
Находим средний арифмитический показатель, складываем значения двух звуковых высот соседних нечётных битов и делим на два, из средней высоты (высота стоящая посередине) вычитаем полученный покзатель, если значение больше единицы записываем 1, иначе 0.
Пример: результат вживления кода (Я=11011111) можно наблюдать на Рис.2 (чёрным - до вживления, фиолетовым - после)
Рис.2
§2 Методы кодирования текста в тексте
Метод 1 Замена похожих символов
В зависимости от кода, который нужно зашифровать, в открытом тексте заменяются похожие символы.
Пример:
Символы из русского алфавита: а, с, у, о, е (0)
Символы из английского алфавита: a, c, y, o, e (1)
Вживим Я (11011111) В отрывок из теста
Уже сентябрь. Осень тихонько вступает в свои права.
Для наглядности символы из английского алфавита подчеркнём, а символы из русского алфавита выделим курсивом и подчеркнём.
Ужe cентябрь. Оceнь тихoнькo вcтупает в свои права.
Метод 2 Чередование пробелов
В зависимости от кода, который нужно зашифровать, в открытом тексте чередуется количество пробелов между словами.
Пример:
1 пробел - 0
2 пробела - 1
Вживим О(11001110) в отрывок из теста
Деревья, кусты, трава - всё меняет своё зелёное одеяние, переодеваясь в пёстрые наряды.
Для наглядности выделим подчёркиванием случаи шифрования 1.
Деревья,__кусты,__травы - всё__меняет__своё__зёленое одеяние, переодеваясь в пёстрые наряды.
Метод 3 Замена синонимами
В зависимости от кода, который нужно зашифровать, в открытом тексте слова меняются на однокоренное слово или синонимичное с ним слово с соответствующим значением (номером).
Пример:
Слова со значение 0: гору, Вася, залез, сорвал, листок.
Слова со значение 1: возвышенность, Василий, взобрался, схватил, лист.
Вживим код 1010 в текст: Вася взобрался на гору и схватил лист.
Василий залез на возвышенность и схватил листок.
Глова 3
Руководство пользователя
Вывод
Информацию (текст) можно скрыть в аудио файлах wav формата, при этом звучание «зашифрованного» файла нельзя отличить от оригинала. С возможность дешифровки wav файла и получения обратно скрытой информации (текста).
Заключение
В данном проекте автор осуществил создание программы шифрования текста в файлах wav формата.
Были созданы методы шифрования текста в тексте и текстовой информации в аудио файле при сохранении звучания близко к оригиналу, с возможностью дешифровки.
Программа актуальна в сфере обмена информацией: социальные сети, сайты, файлообменные сайты и т.д., с целью скрыть от других пользователей информацию.
При создании программы были выполнены все поставленные задачи.
Разработка методов скрытия текста в тексте, реализация методов в программах и апробация. Достигнута цель проекта, а именно, создание метода шифрования текстовой информации в аудио файле при сохранении звучания близко к оригиналу, с возможностью дешифровки.
Решена поставленная автором проекта проблема, научиться программировать на Delphi7 программы связанные с шифрованием текста в файлах wav формата, что и было достигнуто.
Список информационных ресурсов
(17:32, 17 сентября 2015)
Как зима кончилась
Цветение вишни в лунную ночь
Новогодние гирлянды
Самый богатый воробей на свете
Повезло! Стихи о счастливой семье