- •Александр Петрович Алексеев Информатика 2002
- •129337, Г. Москва, а/я 5
- •Ответственный за выпуск: с. Иванов
- •Isbn 5-93455-128-0 © а.П. Алексеев Введение
- •Предисловие ко второму изданию
- •1. Основные понятия
- •1.1. Основные понятия об информации и информатике
- •1.2. Понятие об информационных технологиях
- •К.А. Гельвеций
- •1.3. Этапы развития вычислительной техники
- •1.4. Хронология возникновения Интернета
- •1.5. Сферы использования вычислительной техники
- •1.6. Развитие отечественной вычислительной техники
- •2. Арифметические и логические основы работы эвм
- •2.1. Системы счисления
- •2.2. Арифметические основы работы эвм
- •2.3. Логические основы работы эвм
- •3. Организация данных в эвм
- •3.1. Представление данных в эвм
- •3.2. Представление команд в эвм
- •3.3. Кодовая таблица
- •3.4. Файловая система
- •4. Аппаратные средства
- •4.1. Структурная схема эвм
- •4.2. Принцип действия основных устройств эвм
- •4.2.1. История развития процессоров
- •4.2.2. Принцип действия процессора
- •4.2.3. Память
- •4.2.3.1. Оперативная память
- •4.2.3.2. Внешние запоминающие устройства
- •4.2.4. Устройства ввода информации
- •4.2.5. Устройства вывода информации
- •4.3. Классификация эвм
- •5. Системное программное обеспечение
- •5.1. Понятие об операционной системе
- •5.2. Методы архивации
- •5.3. Принципы сжатия информации
- •5.4. Вирусы и антивирусные программы
- •5.5. Основные понятия программирования
- •5.5.1. Языки программирования
- •5.5.2. Основные свойства и способы представления алгоритма
- •5.5.3. Базовые структуры программирования
- •5.5.4.VisualBasic– основные сведения*
- •6. Прикладное программное обеспечение
- •6.1. Текстовые редакторы
- •К. Прутков
- •6.2. Графические редакторы
- •6.3. Электронные таблицы
- •6.4. Базы данных
- •6.5. Искусственный интеллект
- •6.6. Экспертные системы
- •6.7. Мультимедиа
- •6.8. Виртуальная реальность
- •6.9. Системы автоматизированного проектирования
- •7. Основные понятия моделирования
- •7.1. Основные понятия и определения моделирования
- •7.2. Обзор систем моделирования рэу
- •7.3. СистемаElectronicsWorkbench
- •7.4. Система CircuitMaker
- •7.5. СистемаMicro-Cap
- •8. Математические и статистические системы
- •8.1. Обзор математических и статистических систем
- •8.2. Математическая системаMathcad
- •8.2.1. Пользовательский интерфейс
- •8.2.2. Компьютерная алгебра
- •8.2.3. Операции с комплексными числами
- •8.2.4. Вопросы программирования
- •8.3. Аппроксимация с помощью пакетов тсwiNи тс 3d
- •9. Сетевые информационные технологии
- •9.1. Локальные сети
- •9.2. Глобальные сети
- •9.3. Браузеры
- •9.4. Поисковые системы и каталоги
- •9.5. Электронная почта
- •Фильтры для приходящей почты
- •9.6. Введение вHtml
- •Html – язык для создания Web-страниц
- •9.7. Основные понятияWeb-дизайна
- •9.7.1. Теоретические основыWeb-дизайна
- •9.7.2. Сетевые технологииWeb-дизайна
- •9.7.5. Понятие о баннерах
- •9.7.4. Инструментальные средстваWeb-дизайна
- •9.8. Основные понятия криптографии и стеганографии
- •9.8.1. Шифрование сообщений различными методами
- •9.8.2. Криптографическая система с открытым ключом
- •9.8.3. Понятие о стеганографии
- •10. Компьютер и здоровье
- •11. Перспективы развития вычислительной техники
- •Заключение
- •12. Приложения Глоссарий
- •Список аббревиатур
- •Список литературы
- •Содержание
- •7. Основные понятия моделирования 150
- •8. Математические и статистические системы 179
- •9. Сетевые информационные технологии 201
- •10. Компьютер и здоровье 268
- •11. Перспективы развития вычислительной техники 273
- •12. Приложения 277
9.8.3. Понятие о стеганографии
Стеганография – это наука, изучающая такие методы организации передачи секретных сообщений, которые скрывают сам факт передачи информации.
Скрытое сообщение (стего) помещается внутри на вид безобидного контейнера таким образом, чтобы постороннему субъекту-наблюдателю было бы сложно заметить наличие встроенного тайного послания. Контейнером могут быть чемодан с двойным дном, монета с отворачивающейся крышкой и т. п. При использовании вычислительной техники в качестве файлов-контейнеров могут выступать звуковые, графические и текстовые файлы.
Основная идея сокрытия сообщения заключается в том, что добавление секретного сообщения в файл-контейнер должно вызывать лишь незначительное изменение последнего. При прослушивании музыкального произведения или при созерцании графического изображения человек практически не в состоянии заметить изменения, произошедшие с начиненными файлами-контейнерами. К тому же субъект-наблюдатель часто не знает, как на самом деле выглядел (или звучал) оригинальный (неначиненный) объект. При обработке файлов-контейнеров с помощью специальных программ несложно выделить имеющиеся там скрытые сообщения.
Упрощенно идею стеганографии можно представить так.
Обычно размеры контейнера в несколько раз превышают габариты встраиваемых в них сообщений. Однако колоссальные объемы графических, текстовых и звуковых файлов, хранящихся на серверах Интернета, позволяют практически неконтролируемо и незаметно обмениваться секретной информацией между пользователями, находящимися в разных точках земного шара.
Рассмотрим пример.
Данная фраза на первый взгляд посвящена искусству:
Созерцать творения Евдокии Гигиенталь апатично невозможно. Однозначно: гравюра «Радость абитуриента» – феерический, искристый яхонт.
Тем не менее предыдущий текст – это всего лишь контейнер, в котором запрятано «секретное» слово стеганография (нужно читать только первые буквы каждого слова). Подобным образом можно передавать различные скрытые сообщения. Сходная идея используется в акростихах.
Акростих – стихотворение, в котором начальные буквы строк составляют слово или фразу.
Известны исторические примеры, когда для сокрытия факта передачи информации сообщение писали молоком между строк готового письма (симпатические чернила). После нагревания листка с невидимым текстом над открытым пламенем свечи появлялся текст.
В приведенном примере контейнером для передачи скрытого сообщения служило безобидное бытовое письмо с описанием каких-то повседневных подробностей. Но ценная информация была записана между строк и на беглый взгляд цензоров была незаметна.
Хрестоматийным стал пример передачи скрытой информации, использованный в древности. Рабу брили голову, делали татуировку на голове, ждали, когда вырастут волосы, и отправляли раба в назначенное место. В месте приема «информации» его опять брили и читали секретное сообщение. Контейнером служила курчавая голова человека.
При шифровании сообщений методами компьютерной стеганографии чаще всего используют информацию, запрятанную в изменении последнего (наименьшего) значащего бита LSB (Least Significant Bits). При цифровом представлении графики и звука последний бит контейнера считается малозначимым, часто изменяющимся по случайному закону. Шумы, существующие при аналогово-цифровом преобразовании звука и изображения (шумы квантования), случайным образом изменяют последний бит каждого отсчета.
Рассмотрим простейший учебный пример.
Предположим, что имеется следующая последовательность двоичных чисел (8 байтов), отображающих в цифровом виде какой-то графический образ в формате BMP:
В данном учебном примере каждое число файла-контейнера представлено 8 битами информации. Во многих случаях последний бит может быть безболезненно изменен и пользователь не заметит произошедшей подмены. Например, при вариации младшего бита невозможно визуально заметить отличия в цветной графической картине, где каждый пиксель представлен 24 битами. Также нельзя на слух уловить изменения, происходящие в звуковом файле с 16-битным квантованием по уровню.
Предположим, что в приведенный выше фрагмент двоичных чисел (контейнер) необходимо запрятать русскую букву «А», представленную с помощью кодовой таблицы СР-1251. Десятичное представление буквы «А» имеет вид 192D, а двоичное – 11000000В.
Модифицируя имеющийся поток двоичных чисел, поместим в контейнер двоичное число 11000000В. При этом 8 битов файла-сообщения записываются в 8 чисел файла-контейнера:
В отличие от акростихов (там информация запрятана в первых буквах каждого слова), здесь информативными являются последние биты каждого байта.
На рисунке показан пользовательский интерфейс программы Courier (автор программы – Kelce Wilson). Программа позволяет скрыть передаваемое сообщение внутри рисунка или фотографии.
Программа управляется с помощью пяти командных кнопок: Open a New Bitmap (Открыть новый рисунок), Extract Message (Извлечь сообщение), Hide New Message (Скрыть новое сообщение), Save Bitmap (Сохранить рисунок), Help – Instructions (Помощь).
Максимально возможное число символов в сообщении зависит от размера выбранного рисунка-контейнера.
Перед внесением скрываемого текста изображение-контейнер преобразуется в 24-битный рисунок. Это позволяет сделать незаметным для глаза изменения цветов пикселей, в которых запрятана информация. Более 16 миллионов цветовых оттенков делают практически неразличимыми происходящие с рисунком небольшие изменения.
Теоретически один пиксель 24-битной цветной картинки позволяет скрыть 3 бита секретной информации.
Если размер цветного рисунка или фотографии составляет 400 600 пикселей, то такой контейнер способен вместить 400 600 3 = 720000 битов секретной информации. Так как для передачи (или хранения) одного символа текста требуется 1 байт информации, то контейнер может содержать «начинку» объемом 90 000 байтов (т. е. символов, букв, цифр). Такой контейнер-рисунок способен уместить более 30 страниц секретного текста.
Анализ работы программы Courier показал, что ее автор не полностью руководствовался теорией стеганографии и для маскировки сообщения использовал два последних (младших) бита файла-контейнера (а не один, как этого требует теория). Это позволило ему вдвое увеличить объем сохраненной в контейнере информации.
Заметим, что данная программа может быть использована лишь для учебных целей (для иллюстрации идей стеганографии). Выделить скрытое с помощью программы Courier сообщение для криптоаналитиков не составляет особого труда.
Значительно профессиональнее сделана программа Steganography-Tools (сокращенное название S-Tools, автор – Andrew Brown). Данная программа вначале сжимает текст сообщения, затем шифрует его методами криптографии и лишь потом помещает сообщение в файл-контейнер. При этом скрываемая информация равномерно «распыляется» по всей поверхности рисунка.
В качестве контейнера программа допускает использовать как графический, так и звуковой файлы. Графические файлы должны быть представлены в форматах BMP или GIF, а звуковые файлы – в формате WAV.
Криптографическое шифрование осуществляется одним из алгоритмов (IDEA, DES, Triple DES или MDC) со 128-битным ключом, причем ключ формируется из символов пароля, введенного пользователем.
Порядок работы с программой достаточно прост. Он базируется на принципе Drag and Drop (перенеси и положи). Вначале нужно развернуть окно программы так, чтобы оно занимало часть экрана. На свободной части экрана развернуть Проводник или папку Мой компьютер с изображением значка (пиктограммы, иконки) файла-контейнера. Иконку файла-контейнера следует перенести внутрь окна программы S-Tools. В правом нижнем углу программы появится информация с указанием допустимого объема файла-сообщения. Затем по технологии Drag and Drop внутрь программы нужно перенести иконку файла-сообщения. После этого следует ввести пароль и сохранить зашифрованное сообщение.
Дешифрация скрытого сообщения ведется в обратном порядке: вначале скрытый файл перетаскивается (буксируется) внутрь окна программы. Затем правой кнопкой вызывается контекстное меню и вводится использованный пароль (пункт Reveal).
На рисунке показан внешний вид программы S-Tools с изображенным звуковым файлом-контейнером (его имя – AUTORUN). Надпись в правом нижнем углу информирует пользователя о том, что внутрь программы можно запрятать текст объемом 10810 байтов.
Музыкальные файлы позволяют скрывать большой объем информации. Так, если преобразование аналогового сигнала в цифровой сигнал происходит с частотой дискретизации 44,1 кГц, то это позволяет ежесекундно сохранять 44 100 битов в монофоническом сигнале и 88 200 битов – в стереофоническом. Таким образом, в звуке, длящемся 1 секунду, можно поместить текст объемом более 10 Кбайтов.
Завершая данный раздел, приведем краткое сравнение способов создания шифрованных сообщений методами криптографии и стеганографии.
Криптография и стеганография решают сходные задачи, но разными способами. Криптография превращает секретное сообщение в непонятный для непосвященного человека текст, а стеганография делает секретное сообщение невидимым.