Инструменты пользователя

Инструменты сайта


Навигация




Яндекс.Метрика

Рейтинг@Mail.ru

Сколько дней блогу

Стеганография

Стеганогра́фия (от греч. στεγανός — скрытый + γράφω — пишу; буквально «тайнопись») — способ передачи или хранения информации с учётом сохранения в тайне самого факта такой передачи (хранения). Этот термин ввел в 1499 году Иоганн Тритемий в своем трактате «Стеганография» (Steganographia), зашифрованном под магическую книгу.

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

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

Книжный шифр Энея

Книжный шифр Энея — передача информации с помощью малозаметных пометок в тексте книги или документа, например, игольных дырок, проставленных рядом с буквами, которые в сумме образуют исходный текст секретного сообщения. Например, в предыдущем предложении зашифровано слово «незаметно» :)

Вариант попроще - не игольные дырочки, а числа. Напоминает рисование по точкам. Отлично подойдёт для детей, потому что разгадывается очень легко, при этом с первого взгляда выглядит непонятно. Например, вот так:

Здесь зашифровано «Принимаясь за дело, подумай, стоит ли оно того». Действительно, надо ли было узнавать, где клад, если грамота-то «филькина». Датирована 1753-м годом, а написан на ней отрывок из стихотворения Пушкина «Талисман». А Пушкин родился, между прочим, в 1799.

Шифр Бэкона

В шифре Бэкона пометки скрыты более искусно, чем у Энея - в самих буквах. Ниже я опишу вариант шифра Бэкона для русского алфавита.

Как говорил сам сэр Френсис Бэкон, надо взять секретное сообщение, затем закодировать его и после этого скрыть в каком-то открытом сообщении. Допустим, мы хотим зашифровать в тексте гимна СССР фамилию одного из его авторов - Габриэля Аркадьевича Эль-Регистана.

В качестве кодовой таблицы используем таблицу слева. Каждой букве соответствует её номер и последовательность двоичных символов (0-1 или A-B, кому как удобнее). Последовательность шифрования такова: берём первую букву шифруемого сообщения и находим для неё в таблице последовательность нулей и единиц, затем пишем эту последовательность из пяти знаков под пятью буквами открытого сообщения. Повторяем эти действия с каждой буквой шифруемого сообщения.

Открытое сообщение должно быть приблизительно в 5 раз длиннее, чем шифруемое, иначе нам его не хватит для шифровки. Количество символов в гимне приблизительно 700, значит мы можем зашифровать текст длиной 700:5=140 символов. Нам надо зашифровать всего 11 букв, поэтому нужно всего 55 букв открытого текста, т.е. хватит всего-то половинки первого куплета!

«ЭЛЬРЕГИСТАН» - нужно зашифровать, «Союз нерушимый республик свободных Сплотила навеки Великая Русь» - открытый текст. Выписываем коды букв под открытым текстом и помечаем буквы, которые отмечены единичками.

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

Слишком заметно :) Можно попробовать использовать курсив:

Вот. Уже лучше. Можно поиграться разными шрифтами (как в оригинале и предлагал Бэкон), то есть символы, помеченные нулями, писать одним шрифтом, а единицами - другим. Например, использовать два шрифта - один с засечками, другой без.

По-моему, великолепный результат :)

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

На этом принципе работает множество программ. Например, при помощи одной из них (RedJPEG XT с сайта http://ru-steganography.narod.ru/) я вставил в картинку выше весь текст гимна СССР. Картинка при этом практически не изменилась, и даже её размер увеличился всего на ~400 байт, хотя вставил я почти килобайт текста.

Если хотите расшифровать, что находится в этой картинке, скачайте программу с сайта, указанного выше и используйте для расшифровки пароль 123456 (да-да, даже с паролем, чтобы никто не смог расшифровать, даже если узнает, что в картинке есть, что расшифровывать).

Решётка Кардано

games/quest/for/stegano.txt · Последние изменения: 2017/02/25 14:25 — NoZDR

Инструменты страницы