Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

КРИПТ / муха / help

.rtf
Скачиваний:
16
Добавлен:
15.06.2014
Размер:
33.69 Mб
Скачать

Данная программа позволяет скрывать информацию в текстовых файлах формата ”.doc”

Под термином информация здесь понимается набор символов в виде байтов.

Для того, чтобы спрятать информацию в файле необходимо набрать текст (или открыть файл) в окнах «исходный текст», «текст-контейнер» - скрываемый и хранящий тексты соответственно. Далее, необходимо нажать кнопку «спрятать». Если размеры позволяют скрыть один текст в другом, используя выбранный режим, то начнется процесс, результатом которого станет выбранный ранее файл с текстом, который был в окне «текст-контейнер». В этом файле-контейнере будет находится, скрытая с помощью одного из методов, информация, эквивалентная исходному тексту (первое окно).

Для того, чтобы извлечь скрытую ранее информацию необходимо выбрать нужный режим, нажать кнопку «извлечь» и выбрать файл-контейнер.

Режимы:

1. Межбуквенный интервал. В данном режиме информация прячется в межбуквенном интервале (между соседними символами). Для представления одного символа скрываемого текста используются 8 бит. В качестве «0» и «1» используются разреженный и уплотненный интервалы соответственно. Величина интервалов минимальна 0,1 (чтобы было как можно незаметнее). Таким образом для сокрытия одного символа требуется 8 символов текста-контейнера.

2. Кернинг. В этом режиме для сокрытия одного символа требуется всего один символ текста-контейнера. Это связанно с тем, что кернинг может принимать значение от 1 до 1638 и практически не влияет на отображение текста. Что и позволяет скрыть абсолютно любой код символа, используя лишь один символ текста-контейнера.

3. "Буквы-близнецы". В данном режиме каждый байт, как и в первом режиме представляется в виде 8 бит и скрывается в тексте, путем замены букв с одинаковым начертанием на русскую или латинскую, в зависимости от бита, который нужно скрыть. То есть, если необходимо спрятать бит "0", то первая неиспользованная "буква-близнец" будет взята из набора русских букв, если "1", то из английских. В случае кириллицы и латиницы набор букв с одинаковым начертанием выглядит так: "аАВеЕКМНоОрРcСТухХ". Таким образом, для скрытия одного символа требуется 8 "букв-близнецов" в тексте-контейнере. К тому же, в конец скрываемого текста добавляется признак конца в виде нулевого бита. В итоге, получается, для того чтобы скрыть текст длинной n текст-контейнер должен содержать (n+1)*8 "букв-близнецов".

Главная форма программы содержит: меню выбора режимов, функциональные кнопки и три окна.

Первое окно предназначено для отображения сообщения. Второе окно показывает содержимое файла-контейнера (файла doc). В третьем окне при необходимости может отображаться условное представление того, как сообщение скрывается в контейнере, в соответствии с выбранным режимом.

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

Выбор режима осуществляется в меню, расположенном в верхнем левом углу главной формы.

Сообщение можно ввести вручную, либо открыть подготовленный заранее файл. Для этого нужно нажать кнопку, расположенную над первым окном или воспользоваться контекстным меню этого же окна.

Можно заметить, что, если выбранный файл не является текстовым (формата “.doc” или “.txt”), то открытый текст принимается за программный код, вследствие чего запрещается его редактирование.

При дальнейшей попытке редактирования содержимого открытого файла на экране появится предупреждающее сообщение.

При нажатии кнопки «да» это сообщение можно будет редактировать, но при попытке его сохранения и выполнения могут возникнуть проблемы. Это связанно с тем, что в кодах программ применяется пустой символ с кодом 0, который при редактировании заменится пробельным символом с кодом 32 (для возможности отображения).

Текст файла-контейнера также можно либо ввести вручную, либо открыть текстовый файл. Для чего нужно нажать на соответствующую кнопку над вторым окном, или воспользоваться контекстным меню этого окна.

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

В третьем окне отобразится представление того, как будет скрыто сообщение при помощи текста файла-контейнера и выбранного метода. При этом пояснение над данным окном поможет понять, что именно отображено в скобках.

При режиме сокрытия сообщения при помощи межбуквенных интервалов отобразится:

При режиме сокрытия сообщения при помощи кернинга отобразится:

При режиме сокрытия сообщения при помощи «букв-близнецов» отобразится:

При наличии текстов сообщения и файла-контейнера можно скрыть одно в другом, нажав соответствующую клавишу. Далее, если возможно сокрытие, появится окно, в котором нужно будет указать файл-контейнер, в который скрыто сообщение (окно 1) и записан текст из окна 2.

После того, как был указано имя файла-контейнера, начнется процесс сокрытия сообщения.

Однако, если в тексте файла-контейнера было недостаточно символов, или сообщение было пустым, то на экране как при нажатии кнопки «спрятать», так и «показать шифр» появилось бы соответствующее сообщение об ошибке.

Во втором случае в сообщении указывается, сколько именно символов недостаточно, для сокрытия сообщения выбранным методом.

Для того, чтобы извлечь сообщение из файла-контейнера необходимо выбрать режим, с помощью которого будет извлекаться сообщение, нажать кнопку «извлечь» и выбрать файл-контейнер из которого будет извлечено сообщение.

После извлечения в первом окне появится сообщение, которое было скрыто, а во втором – текст файла-контейнера. Для того, чтобы сохранить результат можно либо нажать на кнопку «сохранить», либо выбрать этот пункт в контекстном меню.

Так как метод «букв-близнецов» работает непосредственно с текстом, то для него предусмотрен отдельный режим извлечения сообщения. Если текущий режим «буквы-близнецы», то в контекстном меню окна 2 появляется еще один пункт – «извлечь». При выборе которого сообщение будет извлекаться из текста, находящегося в окне «текст-контейнер».

В разработанной программе в качестве дополнения реализован один из методов криптографии, метод гаммирования. Его суть заключается в том, что к исходному тексту (набору символов) прибавляется псевдослучайная последовательность чисел (гамма), построенная на основе введенного ключа.

Для применения вышеописанной процедуры шифрования нужно выбрать в контекстном меню окна 1 соответствующий пункт. На экране появится форма шифратора:

Для того, чтобы зашифровать данное сообщение для начала нужно ввести ключ, либо получить случайный ключ, путем нажатия на кнопку «случайный ключ». В этом случае будет сгенерирован 17-ти разрядный ключ.

После того, как ключ введен можно шифровать сообщение. Для чего нужно кликнуть на одноименной кнопке

Для обратной же операции (дешифрование) необходимо выбрать соответствующий пункт контекстного меню в окне сообщения. Появится форма дешифратора:

При вводе ключа и нажатии кнопки «дешифровать» происходит вычитание гаммы, построенной на основе введенного ключа.

Выход из программы осуществляется нажатием стандартной кнопки закрытия окна (сочетание клавиш Alt + F4) или кнопки «выход» в главном окне программы.

Автор программы - Новой Алексей Юрьевич.

Программа написана на C++Builder 6.

2008.

Соседние файлы в папке муха