Речь пойдет об одной проге, которую можно и даже нужно отнести к стеганографическим програмным продуктам. Представляем программу S-Tools. Стеганография - искусство скрытого письма, которая основывается на двух принципах. Первый: файлы, содержащие изображение или звук, могут быть до некоторой степени изменены без потери своего вида. Второй принцип состоит в неспособности органов слуха и зрения человека различить незначительные изменения в цвете изображения или качестве звука, что особенно легко использовать применительно к объекту, несущему избыточную информацию, будь то 16-битный звук, 8-битное или еще лучше 24-битное изображение. Если речь идет об изображении, то изменение значений наименее важных битов, отвечающих за цвет пикселя, не приводит к сколь-нибудь заметному для человека изменению цвета.
С тех
пор, как появление компьютеров
привело к обширному
распространению информации,
некоторые из них нуждались в
необходимости хранить
конфиденциальную информацию, а
некоторые и не нуждались ;-). S-Tools
(Steganography Tools) предоставляет вам
возможность скрывать в файлах
различные данные. Ключом
большинства инструментов
стеганографии являются цифровые
данные, например такие как
сканированное изображение, или
обработанный звук. Большинство
компьютерных данных должны быть на
100% точными, для того, чтобы
функционировать правильно, но в
цифровой формате данные не
обязательно должны быть точными.
Производя небольшие изменения с
такими данными, мы имеем
возможность скрывать информацию
практически не изменяя содержания
исходного образца.
Пользователи S-Tools могут выбрать
алгоритм шифрования своей
информации, использующий одни из
самых прочных современных
шифровальных алгоритмов, известных
к настоящему времени, таким
образом, что посторонний человек,
не может быть полностью уверенным в
том, что данные зашифрованы, если у
него, конечно же, нет вашего
секретного пароля.
Вы можете использовать S-Tools, для
того, чтобы скрыть свою частную или
конфиденциальную информацию,
которую вы не хотите предавать
всеобщей огласке и не хотите, чтобы
она попала в чужие руки. Вы можете
использовать эту прогу для того,
чтобы послать информацию другой
личности через широковещательную
сеть, например Usenet или Internet. Вводя
пароль вы сможете держать
информацию подальше от посторонних
глаз. Кроме того вы могли бы
использовать S-Tools для того, чтобы
проверить ваше авторское право на
изображение, храня закодированный
копирайт в графическом изображении
и извлекая его в случае
необходимости подтверждения своих
прав.
Как
же S-Tools обрабатывает файлы, прежде
чем, спрятать данные? Если вы
выбрали сжатие, тогда файлы
индивидуально сжимаются и
загружаются вместе с их именами.
Если Вы не используете сжатие,
тогда именно "сырые" данные,
хранимые в файле загружается
вместе с именами. Затем S-Tools
добавляет некоторый произвольный
мусор на "внешнюю" сторону
данных для того, чтобы предохранить
два идентичных комплекта файлов от
идентичного кодирования. Затем
комплект файлов кодируется,
используя пароль для того, чтобы
сгенерировать ключ. Шифровальные
алгоритмы используют Cipher Feedback Mode
(CFB).
Это было бы слишком просто спрятать
данные, рассовывая их в доступные
биты таким прямолинейным способом,
поэтому S-Tools использует
криптографически прочный
псевдо-генератор случайных чисел,
использующий ваш пароль и выбирает
бит для шифровки, следующий за
выбраннным.
Например, если ваш звуковой файл
имел 100 битов, доступных для
утаивания информации, и вы хотели
спрятать 10 битов в нем, то S-Tools не
будет выбирать биты от 0 до 9, потому
как это было бы тривиально
обнаружено потенциальным
неприятелем. Взамен этого можно
выбрать биты 63, 32, 89, 2, 53, 21, 35, 44, 99, 80.
Или же выбрать любые десять других
битов; все зависит от пароля,
который вы вводите. Как вы можете
убедиться, работу потенциального
неприятеля только усложняется.
Звуковые
Windows WAV файлы, загружены как 8 или 16
битовые величины проходят через
конвертор звуковой платы. Для 8
битовых файлов это означает, что
величины могут колебаться между 0 и
255. Для 16 битовых - между 0 и 65535.
Например, звуковой файл имел
следующие восемь байтов
информации:
132 134 137 141 121 101 74 38
В двоичном это :
10000100 10000110 10001001 10001101 01111001 01100101 01001010 00100110
(МЛАДШИЙ БИТ каждого байта показан красным)
Теперь нам надо спрятать двоичный
байт 11010101 (213) в этой
последовательности. Мы просто
заменяем МЛАДШИЙ БИТ каждого байта
файла соответствующим битом из
байта, который мы пытаемся
спрятать. Так вышеуказанная
последовательность изменится на:
133 135 136 141 120 101 74 39
В двоичном это -:
10000101 10000111 10001000 10001101 01111000 01100101 01001010
00100111
Как вы можете видеть, величины
звука изменились немного. Но это
будет не отличимо для
человеческого уха, а мы скрыли 8 бит
информации в файле.
Все
компьютерные изображения
формируются из массива точек,
называемых пикселями для того,
чтобы создавать сетку изображения.
Каждый из этих пикселей имеет
собственный цвет, представленные
непосредственно как отдельное
значение красного, зеленого и синего цветов. Каждый из
этих цветных уровней может
колебаться между 0 (ни один из
цветов) и 255 ( полная сумма цвета).
Пиксель с величиной RGB 0 0 0 - черный, а с
величиной 255 255 255 - белый.
S-Tools пытается уменьшить номер
цветов изображения до некоторой
степени так, чтобы по возможности
сохранить значительную часть
изображения. Очень трудно увидеть
различие между RGB 255 255 0 цветом и RGB 254 254 1.
Итак, вторая часть марлезонского балета.... Вы открываете S-Tools 4.0 и видите такую фичу:
Затем вы перетаскиваете мышкой любой графический файл форматов gif или bmp в окно программы:
Затем также мышью перетаскиваете файл с данными, которые хотите спрятать в окно с картинкой и видите вот что:
В поле ввода пароля "Passphrase" вводите пароль (помните об использовании сложных паролей, таких например как: "tH32!fRaMe&678#NVy7uw" или ключевую фразу, например "How much is the fish?", и не используйте такие простые пароли, как "love", "god", "sex", "secret", "password" и т.д. В поле "Verify passphrase" подтвердите правильность введенного пароля, а в поле "Encryption algorithm" выберите криптоалгоритм для шифровки (IDEA (старенький, но надежный), DES (более современный), Triple DES (тройной DES) и MDC). Затем положь колдобину со стороны загогулины и два раза дергани за пимпочку. Опосля чего, кады чвакнет, отскочь дальшее, прикинься ветошью и не освечивай, как она в енто время трах - тудыть - сюдыть - ексель - моксель и ерш твою меть! Остыло - поднимайсь так осторжненько, чтобы енто быдло не рвануло и бегишь за угол за пол-литрой потому как пронесло :-) Это конечно же шутка, после подтверждения пароля жми на о'кэй и увидишь:
То есть конвертировать в 24-битное изображение или принять существующую цветовую гамму. Нажав "Advanced..." вы сможете выбрать еще кучу разных опций, с которыми играйтесь сами, лень обьяснять, что они дают, да и сами перевести с буржуйского можете ;-)
Потом снова жмете "хоккей" и видите как в окне под полями "Action" "State" и "Progress" появится инфа о начатом процессе шифрования данных и процентах выполнения. Процесс может занять от нескольких секунд до нескольких минут, в зависимости от обьема картинки и обьема шифруемых данных. Обьем шифруемых данных не может превышать обьем картинки. Затем появится окно с картинкой, в которой и будут находиться ваши зашифрованные данные:
После этого можете смело щелкать правой кнопкой мыши на окне с надписью "hiden data" и увидеть контекстное меню:
Выбираете "Save as..." и сохраняете файл куда вам нужно. Самое главное не забудьте указать формат файла (формат тот же, что и у картинки, в которую данные прятались).
Теперь можете посылать своему другу по мылу картинку с зашифрованными данными, предварительно сообщив ему по войсовому телефону или при личной встрече пароль и алгоритм шифрования данных. Расшифровка производится так: открываете прогу, кидаете в окно файло с зашифрованными данными. Картинка появляется в окне, щелкаете на ней правой кнопкой крысы, выбираете "Reveal...", появится окно с запросом. Вы должны поставить именно тот алгоритм шифрования, которым вы шифровали и ввести пароль. Если все правильно сделали (не забудьте про раскладку клавиатуры), то появится окно:
В нем - список зашифрованных файлов (можно шифровать и не одно файло!), щелкаете на нем правой кнопкой крысы, затем выбираете "Save as..." и сохраняете данные туда, куда вам надо. Не забудьте указать расширение этого файло. Оно должно быть таким же, как и было, т.е. в нашем примере Fairwind.txt.
Для наглядности приведем пример графического файла в котором спрятаны данные. Слева находится исходный графический файл, а слева - тот же графический файл, но в нем зашифрован source - код известного вируса "Melissa". Source - код является текстовым файлом и вы можете просмотреть его в любом текстовом редакторе. Алгоритм шифрования: Triple DES, пароль для расшифровки: "steganography".
Исходный
файл
|
Файл
со скрытыми данными
|
Возможно визуально и ощутима разница между этими файлами, просто как то было лень добиваться идеального результата. Поэтому мы взяли первое попавшееся графическое файло ( оно оказалось не очень больших размеров и засунули в него данные. Но ведь никто не знает, каким должен быть этот файл на самом деле. Всегда можно списать на то, что у этого файло низкое разрешение и плохое качество.
Аналогично можно спрятать данные в звуковых файлах формата WAW.
Программа S - Tools 4.0 находится здесь.