Шпионская компьютерная "тайнопись" Никита Кислицин Xakep, номер #058, стр. 058-062-4 А нам слабо? Когда я писал этот материал, мне в голову пришла идея составить Perl-программу, реализующую простейший прием стеганографии - сокрытие информации в текстовом файле. Как это можно сделать, какие изменения можно вносить в текст, чтобы читатель не заметил подвоха? Первое, что приходит в голову - добавлять в концы строк некоторое количество пробелов (фактически, число в натуральной системе исчисления), с которым можно было бы без проблем сопоставить число в десятичной форме записи. Так, например, числу 8 будут соответствовать 8 пробелов в конце строки. Каждому числу можно поставить в соответствие букву из таблицы ASCII, однако не следует тупо брать ASCII-код символа, ведь букв в латинском алфавите 26, а в АСКИ-таблице 255 символов (два алфавита в разных регистрах, спецсимволы и коды управления). Таким образом, поставив букве "a" в соответствие число 1, мы получили удобные для обозначенного кодирования индексы. Каждая строка, вопреки ожиданиям, может кодировать несколько символов! Как же отделять код одной литеры от кода следующей, ведь мы не можем ставить никаких видимых разделителей? Видимых - не можем, зато можем ставить табуляции, что и решает проблему. Программа по введенному нами же ограничению (заданному преобразованию ACII-кода литер) предназначена для сокрытия лишь строк из латинских символов нижнего регистра, без каких-либо разделителей. Повторюсь, этот метод стеганографии не обеспечивает должного уровня секретности и производительности. Однако рассмотренный пример программы отлично показывает фундаментальные принципы стеганографии, и, мне кажется, довольно интересен. Perl-программу, реализующую этот подход, можно найти на CD, которым комплектуется журнал, либо на моем сайте - nikitos.inc.ru, либо на www.xakep.ru. Также на диске лежит подборка лучших стеганографических утилит. Удачных тебе экспериментов :). Первые проявления стеганографии Летописи Геродота (5 век до н.э.) донесли до нас любопытную историю. Тиран Гистий, захваченный персидскими войсками в Сузах, захотел послать сообщение своему родственнику в Милеет что в Анатолии. Для этого он побрил наголо раба и вытатуировал сообщение на его голове. После того, как волосы отросли, раб доставил послание. Можно также вспомнить случаи мошенничества в казино, когда один игрок получал от напарника информацию о картах противника путем кодирования. Например, если напарник закажет виски - значит, у противника есть бубновый туз, если будет курить сигару, то есть валет, а если заведет разговор с девушкой, значит, не обошлось без пиковой дамы. Но это все стеганография в ее первобытном проявлении, по мере же внедрения научных достижений в повседневную жизнь, элементы стеганографии стали появляться в телеграфных сообщениях, радиограммах, наконец, в носителях цифровой информации. Стеганографический софт S-Tools |