пятница, 4 мая 2012 г.

Текстовая стеганография: Модифицированный метод хвостовых пробелов

Модифицированный метод хвостовых пробелов предполагает дописывание в конце от 0 до 15 пробелов, кодирующих значение полубайта. Таким образом, для сокрытия одного байта стеганосообщения достаточно двух строк файла-контейнера.
            В целом, алгоритм скрытия и извлечения стеганосообщения практически не отличается от метода концевых пробелов. Вот как скрыть сообщение в файле контейнере: 

if (encoding)
{
// получаем значение полубайта (сперва младшего, потом старшего)
currentLine += new string(' ', c & 0xF); // 0000 1111

// переходим к следующему полубайту (старшему)
c = c >> 4;
}

Так можно извлечь стеганоосообщение:

// раскодируем полубайт 
pByte = clLen - currentLine.TrimEnd(' ').Length; // подсчитываем количество пробелов в конце строки

c = c | (pByte << (4 * k)); // в первой строке (k=0) закодирован младший полубайт
    // во второй строке - старший полубайт (k=1)

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

Комментариев нет:

Отправить комментарий