Вы находитесь на странице: 1из 289

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Министерство связи и массовых коммуникаций Российской Федерации

Государственное образовательное учреждение


высшего профессионального образования

ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ


ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ

ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ
СИСТЕМА

Самара
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

А.П.Алексеев, В.В.Орлов

Стеганографические и криптографические
методы защиты информации

Учебное пособие

Рекомендовано Методическим советом ГОУ ВПО «Поволжский


государственный университет телекоммуникаций и информатики» в качестве
учебного пособия по дисциплине «Информатика» для студентов ПГУТИ
обучающихся по специальностям: 210400, 210401, 210402, 210403, 210404,
210405, 210406, 210302, 090106
Протокол заседания комиссии Методического совета ПГУТИ
№ 11 от 23 декабря 2006г.

Самара,
2010 г.

2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

УДК 004.056
А 47

Стеганографические и криптографические методы защиты информации;


учебное пособие/ Алексеев А. П. Орлов В.В./ ИУНЛ ПГУТИ - 2010 - 330 с.

ISBN 978-5-904029-12-8

Рецензенты:
декан факультета телекоммуникаций и радиотехники ПГУТИ д.т.н.,
профессор Карташевский В.Г.,
заведующий кафедрой «Защита информации» СамГУ Осипов М.Н.

В учебном пособии в компактной форме описаны основные принципы


защиты информации. В книге содержится большое число методических
указаний на выполнение лабораторных и практических работ по криптографии
и стеганографии. Оптический диск, прилагаемый к этой книге, содержит
необходимые программы и начинѐнные контейнеры, из которых студенты в
процессе выполнения лабораторных работ должны суметь извлечь скрытую
там информацию.
Книга предназначена для студентов и преподавателей. Преподаватели с
помощью этого учебного пособия смогут «беззаботно» провести два семестра
занятий. Студенты смогут получить практические навыки в шифровании,
дешифровании и создании скрытых каналов связи.
Учебное пособие ориентировано на студентов телекоммуникационных
специальностей 210400…210406, 210302, изучающих информатику, на
студентов специальностей 210403 и 090106, изучающих защищенные системы
связи.

ISBN 978-5-904029-12-8 © Алексеев А. П.


© Орлов В.В
© ПГУТИ

3
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Введение

Познание бесконечности
требует бесконечного времени.
А. и Б. Стругацкие

Защищать передаваемую (или хранимую) информацию от


несанкционированного использования приходится во многих случаях. Это
требуется при решении государственных, дипломатических, военных задач, в
работе бизнеса (коммерции), при исследовании новых научно-технических
проблем, при разработке оригинальных технологических процессов и
устройств. Защищать информацию требуется при документообороте в
государственных организациях и при ведении приватной частной переписки.
Необходима защита интеллектуальной собственности аудио, кино, фото
продукции. Развитие современных телекоммуникационных технологий
(спутниковое телевидение, сотовая телефония, дистанционное управление
удаленными объектами) невозможно представить без защиты передаваемой
информации. Необходима защита данных, хранимых на персональном
компьютере.
Защищать информацию можно путем шифрования передаваемых
сообщений (криптографические методы), либо путем создания скрытого канала
связи (методы стеганографии). Нередко криптография и стеганография
используются совместно (комплексно) для увеличения степени защиты
информации. Современные тенденции науки показывают необходимость
шифрования сообщения перед их скрытой передачей или хранением.
В настоящее время уже произошло становление криптографии, как
самостоятельной науки с собственной теорией, с серийно выпускаемыми
аппаратными и программными средствами шифрования. Что касается
стеганографии, то сейчас идет накопление и обобщение материала, создание
обобщающей теории, решение малоисследованных прикладных задач. При
этом некоторые приемы, разработанные в криптографии, с успехом
применяются и в стеганографии.
Стеганографические методы позволяют скрыть информацию в различных
объектах (контейнерах): в текстовых документах (электронные статьи, книги,
отчеты, письма), в графических файлах (рисунки, баннеры, фотографии), видео
файлах (клипы, фильмы, анимация), в звуковых файлах (музыкальные
произведения, речь, природные звуки), на HTML-страницах, в субтитрах
фильмов, в сообщениях, передаваемых с помощью SMS, MMS, чатов,
мессенджеров и блогов. Текстовые сообщения можно скрытно размещать в
неиспользуемых областях Flash-памяти, жестких и оптических дисков.
Число разновидностей контейнеров, которые можно использовать на
практике, велико. Если принять во внимание, что каждый вид контейнера
может существовать в разных форматах, а для сокрытия информации могут
4
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

использоваться разнообразные методы (алгоритмы), то остановится очевидным


многомерность стеганографических задач. Отсюда вытекает большой простор
для творчества криптографов и сложность положения криптоаналитиков.
Графические форматы BMP, JPEG, GIF, PNG при внедрении информации
имеют свои особенности. Такое же положение существует со звуковыми
файлами форматов WAV, MP3, WMA, APE, FLAC, OGG, AAC, CDA. Каждый
из форматов видео (MPEG, MOV, WMV, RM, DIVX) требует разработки
собственных методов внедрения и извлечения скрываемой информации.
Мощным средством сокрытия информации могут стать методы
пространственного разделения информации. При этом сообщение можно
разделить (раздробить) на слова, буквы и даже биты, а затем распределить
(распылить) по разным контейнерам. Для повышения степени защиты
распыляемое сообщение должно быть предварительно зашифровано одним из
криптостойких шифров. Понятно, что работа криптоаналитика в подобных
ситуациях многократно усложняется.
Еще большей стойкостью обладают методы защиты информации,
основанные на пространственно-временном распылении информации. Для их
реализации зашифрованное сообщение распыляется по нескольким
контейнерам, но каждый из контейнеров доступен для обработки лишь в
короткий промежуток времени, который известен только доверенным лицам.
Таким образом, для преодоления пространственно-временной защиты
криптоаналитику потребуется не только решить традиционную
криптографическую задачу, но суметь среди множества контейнеров отыскать
нужные, извлечь из них информацию и расположить еѐ в соответствующем
порядке. Не следует забывать, что криптоаналитик должен еще угадать
(вычислить, установить) время, в которое демонстрируется истинный
контейнер, а не его близнец. Учитывая тот факт, что криптоаналитику заранее
не известны серверы, на которых размещается скрываемая информация, то ему
придется непрерывно контролировать (сканировать и анализировать) всю
глобальную Сеть. Задача становится практически не решаемой, за приемлемое
время. Такую задачу сложно решить так же, как трудно отыскать иголку в стоге
сена. Хотя бесконечная изобретательность криптоаналитиков позволяет
надеяться на решение многих задач. Кстати, иголка из стога сена может быть
извлечена с помощью мощного магнита.
В данном учебном пособии рассматриваются классические шифры и
шифры, разработанные авторами. Даются основные сведения о стеганографии.
Во второй части приводится большое число лабораторно-практических работ,
позволяющих получить представление о современных стеганографических
методах защиты информации.
Особенностью этого пособия является его ориентация на учебный процесс.
Здесь приводятся самые необходимые сведения из теории и большое число
методических разработок, нацеленных на практическое освоение методов
защиты информации.

5
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Оптический диск, прилагаемый к этой книге, содержит необходимые


программы и начинѐнные контейнеры, из которых нужно суметь извлечь
скрытую там информацию.
Учебное пособие подготовлено для проведения занятий по дисциплинам:
«Информатика» для студентов специальностей 210400 – 210406 и
«Стеганография» для студентов специальности 210403.
Основная часть книги была многократно апробирована на лекционных и
практических занятиях, опубликована в центральной печати (журналы
«Информатика и образование», «Инфокоммуникационные технологии»,
доклады конференций), обсуждена на семинарах. Одно из технических
решений защищено патентом.
В настоящее время имеется несколько отечественных публикаций
методического характера для дисциплин, связанных с использованием
криптографии. По сведениям авторов данная работа является первой, в которой
для студентов подготовлены лабораторные работы, направленные на освоение
методов стеганографии.
Авторы понимают, что рассматриваемые в данной работе вопросы
неисчерпаемы, требуют подготовки публикаций объемом в сотни и тысячи раз
больше, чем данная книга. Однако, учитывая мысль, что «жизнь коротка, а
искусство вечно», было решено подготовить в короткое время компактную
публикацию. Книга поможет многим сделать первый шаг в освоении
стеганографии.

Разделы 1.3, 1.4, 2.7, 3.11 написаны Орловым В.В.


Разделы 1.5, 2.2, 2.3, 3.9, 3.10 написаны при участии
Макарова М.И.
Разделы 1.4, 3.3, 3.12 написаны при участии Жеренова Ю.В.
Раздел 2.3, 4.2 написан при участии Батаева А.Ф.
Раздел 3.8. написан Алениным А.А.
Раздел «Ресурсы Internet» подготовлен Царевой О.В.
Общее редактирование выполнено Алексеевым А.П.

Авторы искренне благодарны Царевой О.В., которая сумела устранить в


рукописи большое число ошибок разного характера.

6
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

1. Криптографические методы защиты информации

Мне известны системы шифров,


которыми пользовались во время войн
за Сардинию и Савойю, во время
англо-французской осады Севастополя,
во время боксерского восстания в Китае
и во время последней русско-японской войны.
Ярослав Гашек

Методы криптографии нацелены на превращение открытого текста в


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

1.1. Классические симметричные шифры

Криптографические методы защиты информации можно использовать в


качестве элементов (составных частей) стеганографических методов сокрытия
информации. Перед тем как скрыть текстовую информацию в каком-либо
контейнере еѐ следует зашифровать. Этим создается еще один уровень (барьер,
бастион) защиты информации, который усложняет криптоанализ.
Большинство классических криптографических методов уже не имеют
практической ценности и представляют лишь учебный (методический) интерес.
Хотя в сочетании со стеганографией любой метод шифрования может стать
мощным средством защиты информации. Кроме того, изучение классических
методов криптографии может натолкнуть специалиста по стеганографии на
интересные свежие идеи.

1.1.1. Шифр атбаш

Всякая задача становится простой,


после того как вам еѐ объяснили.
Конан Дойл

Порой священные иудейские тексты шифровались методом замены букв


открытого текста на другие буквы. Вместо первой буквы алфавита записывалась
последняя буква, вместо второй — предпоследняя и т. д. Этот древний шифр
назывался атбаш.
7
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Следующая таблица иллюстрирует идею этого шифра.

Таблица 1.1.1
Буквы открытого А Б В Г Д Е
текста
Буквы Я Ю Э Ь Ы Ъ
криптограммы

Приведем пример шифровки, составленной с помощью шифра атбаш.


Открытый текст «ГДЕ АББА» превращается в криптограмму «ЬЫЪ ЯЮЮЯ».
Секретным ключом для этого шифра является таблица замен (табл. 1.1.1).

1.1.2.Шифр Цезаря

Вместо хвоста – нога,


А на ноге – рога.
Леонид Дербенѐв

Известен факт шифрования переписки Юлия Цезаря (100—44 до н. э.) с


Цицероном (106—43 до н. э.).

Цезарь

Рис. 1.1.2.1. Юлий Цезарь

Шифр Цезаря реализуется заменой каждой буквы в сообщении другой


буквой этого же алфавита, отстоящей от нее в алфавите на фиксированное
число букв. В своих шифровках Ю.Цезарь заменял букву исходного открытого
текста буквой, отстоящей от исходной буквы впереди на три позиции.
Приведем таблицу замен для этого шифра.

8
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Таблица 1.1.2.1
Буквы А Б В Г Д Е
открытого
текста
Буквы Г Д Е Ё Ж З
криптограммы

Фраза «ГДЕ АББА», зашифрованная эти шифром, трансформируется в


символы «ЁЖЗ ГДДГ».

1.1.3. Квадрат Полибия

Вглядевшись, она как в тумане увидела


еще одну панель с буквами алфавита от А до Z
и тут же вспомнила, что нужно ввести шифр.
Дэн Браун

В Древней Греции (II в. до н.э.) был известен шифр, который создавался с


помощью квадрата Полибия. Таблица для шифрования представляла собой
квадрат (матрицу) с пятью столбцами и пятью строками, которые нумеровались
цифрами от 1 до 5. В каждую клетку такой таблицы записывалась одна буква. В
результате каждой букве соответствовала пара цифр, и шифрование сводилось
к замене буквы парой цифр.
Идею квадрата Полибия проиллюстрируем таблицей с русскими буквами.
Число букв в русском алфавите отличается от числа букв в греческом алфавите,
поэтому и размер таблицы выбран иным (квадрат 6 х 6). Заметим, что порядок
расположения символов в квадрате Полибия является секретной информацией
(ключом).

Таблица 1.1.3.1
1 2 3 4 5 6
1 А Б В Г Д Е
2 Ё Ж З И Й К
3 Л М Н О П Р
4 С Т У Ф Х Ц
5 Ч ШЩЪ Ы Ь
6 Э ЮЯ , . -

Зашифруем с помощью квадрата Полибия фразу «ГДЕ АББА»:


14 15 16 11 12 12 11,
а затем слово «КРИПТОГРАФИЯ»:
26 36 24 35 42 34 14 36 11 44 24 63

9
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Из примеров видно, что в шифрограммах первым указывается номер


строки, а вторым — номер столбца. В квадрате Полибия столбцы и строки
можно маркировать не только цифрами, но и буквами. В этом случае
криптограмма будет состоять из пар букв.

1.1.4. Аффинные криптосистемы

Это только вначале трудно.


Потом будет ещѐ труднее.
Измайлов А.М., Чебуров В.В.

При шифровании буквы открытого текста нумеруются числами, например,


для кириллицы числами в диапазоне от 0 до 32. Затем каждая буква открытого
текста заменяется буквой, порядковый номер которой вычисляется с помощью
линейного уравнения и вычисления остатка от целочисленного деления.
Аффинные криптосистемы задаются при помощи двух чисел a и b. Для
русского алфавита эти числа выбираются из условия a ≥ 0, b ≤ 32.
Максимальное число символов в используемом алфавите обозначаются
символом . Причем числа a и = 33 должны быть взаимно простыми. Если это
условие не будет выполняться, то две разные буквы могут отображаться
(превращаться) в одну.
Каждый код буквы открытого текста заменяется кодом буквы
криптограммы по следующему правилу. Вначале вычисляется число = a +
b, а затем выполняется операция целочисленного деления числа на число =
33, то есть = (mod ( )). В качестве кода символа шифрограммы используется
остаток от целочисленного деления .
Для определенности выберем такие числа: a = 5 и b =3.
Фрагмент процедуры, иллюстрирующей порядок шифрования, приведен
в таблице.

Таблица 1.1.4.1
Буква открытого А Б В Г Д Е … Я
текста
Код буквы открытого 0 1 2 3 4 5 … 32
текста
Код буквы 3 8 1 1 2 2 … 31
криптограммы 3 8 3 8
Буква криптограммы Г З М С Ц Ы … Ю

Предположим, что нужно зашифровать сообщение «ГДЕ АББА». В


результате получим: «СЦЫ ГЗЗГ».

10
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

В ранее рассмотренных нами шифрах каждой букве открытого текста


соответствовала одна определенная буква криптограммы. Подобные шифры
называются шифрами одноалфавитной замены.
В следующей таблице приведены результаты шифрования фразы «ГДЕ
АББА» разными одноалфавитными шифрами.

Таблица 1.1.4.2
Шифр Криптограмма
Шифр атбаш ЬЫЪ ЯЮЮЯ
Шифр Цезаря ЁЖЗ ГДДГ
Квадрат Полибия 14 15 16 11 12 12
11
Аффинные СЦЫ ГЗЗГ
криптоситстемы

Анализ последней таблицы показывает, что одинаковые буквы открытого


текста заменяются одинаковыми символами в криптограмме. Нужно обратить
особое внимание на четыре последних символа криптограмм. Четвертый и
седьмой символы во всех криптограммах одинаковые. Одинаковыми являются
пятый и шестой символы криптограмм. Эта же закономерность наблюдается в
открытом тексте.
Этот недостаток одноалфавитных шифров замены позволяет взломать
шифрограммы большой длины без знания секретного ключа.

1.1.5. Шифр Виженера

- Ключ! - замычал инженер,


клацая зубами.
И.Ильф, Е.Петров

Длинные сообщения, полученные методом одноалфавитной замены,


раскрываются с помощью таблиц относительных частот. Для этого
определяется частота появления каждого символа в шифровке и делится на
общее число символов в криптограмме. Затем с помощью статистической
таблицы относительных частот определяется, какая замена была сделана при
шифровании.
Повысить криптостойкость позволяют шифры многоалфавитной замены
(иначе их называют шифрами многозначной замены). При этом каждому
символу открытого алфавита ставят в соответствие не один, а несколько
символов шифровки (алфавита замены).
Ниже приведен фрагмент ключа многоалфавитной замены:
11
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Таблица 1.1.5.1
А Б В Г Д Е
18 7 5 19 21 2
12 4 90 35 83 15
48 14 22 10 99 32

С помощью многоалфавитного шифра сообщение «ГДЕ АББА» можно


зашифровать несколькими способами:
19—83—32—48—4—7—12,
10—99—15—12—4—14—12 и т. д.
Для каждой буквы исходного алфавита создается некоторое множество
символов замены. При этом в алфавите замен не должно быть одинаковых
символов. Многоалфавитные шифры изменяют картину статистических частот
появления букв и этим затрудняют вскрытие шифра без знания ключа (без
знания конфигурации таблицы многоалфавитной замены).
Рассмотрим шифр многоалфавитной замены, который был описан в 1585 г.
французским дипломатом Блезом де Виженером. Шифрование производится с
помощью, так называемой таблицы Виженера. Здесь показана часть таблицы
для того, чтобы изложить лишь идею метода.
Каждая строка в этой таблице соответствует одному шифру простой замены
(типа шифра Цезаря). При шифровании открытое сообщение записывают в
строчку, а под ним помещают ключ. Если ключ оказывается короче сообщения,
то ключ циклически повторяют. Шифровку получают, находя символ в матрице
букв шифрограммы. Символ шифрограммы находится на пересечении столбца с
буквой открытого текста и строки с соответствующей буквой ключа.

Рис. 1.1.5. 1. Фрагмент таблицы Виженера

Предположим, что нужно зашифровать сообщение «ГДЕ АББА».


В качестве ключа выберем слово «ДЕВА». В результате получим:

12
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Таблица 1.1.5.2
Сообщен Г Д Е А Б Б А
ие
Ключ Д Е В А Д Е В
Шифровк Я Я Г А Э Ь Ю
а

В результате преобразований получится шифровка «ЯЯГ АЭЬЮ». Нужно


обратить пристальное внимание на последние четыре символа криптограммы.
В отличие от шифров одноалфавитной замены здесь одинаковые буквы
открытого текста зашифрованы разными буквами шифровки.

1.1.6. Система Плейфейра

Система Плейфейра позволяет формировать многоалфавитные шифры.


Рассмотрим основную идею этой системы.
Шифрование производится с помощью квадрата (или прямоугольника), в
который занесены буквы соответствующего национального алфавита. Буквы
записываются в квадрат или прямоугольник в произвольном порядке. Этот
порядок записи букв и конфигурация таблицы являются секретным ключом.
Для определенности возьмем прямоугольную таблицу размером 8x4, в качестве
букв алфавита – кириллицу, а буквы расположим в алфавитном порядке. Так
как число русских букв 33, а число клеток – 32, то исключим из таблицы букву
Ё.
Таблица 1.1.6
А Б В Г Д Е Ж З
И Й К Л М Н О П
Р С Т У Ф Х Ц Ч
Ш Щ Ъ Ы Ь Э Ю Я

Предположим, что требуется зашифровать слово КРИПТОГРАФИЯ.


Рассмотрим правила шифрования.
1. Открытый текст делится на блоки по две буквы. Буквы в одном блоке не
должны быть одинаковыми. Произведем разделение исходного слова на блоки
по две буквы:
КР-ИП-ТО-ГР-АФ-ИЯ.
2. Если буквы шифруемого блока находятся в разных строках и столбцах,
то в качестве заменяющих букв используются буквы, расположенные в углах
прямоугольника, охватывающего буквы открытого текста. Например, блок КР
заменяется символами ИТ.
3. Если буквы открытого текста попадают в одну строку, то шифрограмма
получается путем циклического сдвига вправо на одну клетку. Например, блок
ИП будет преобразован в ЙИ. Еще один пример к этому правилу. Если,
предположим, требуется преобразовать блок КН, то получится ЛО.
13
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

4. Если обе буквы открытого текста попадают в один столбец, то для


шифрования осуществляют циклический сдвиг на одну клетку вниз.
Например, блок ЖЦ будет преобразован в символы ОЮ, а блок ТЪ в
символы ЪВ.
В соответствии с описанными правилами слово КРИПТОГРАФИЯ будет
преобразовано в криптограмму ИТЙИЦКАУДРПШ.

1.1.7. Система Хилла

- Что он делает?
- Считает, да цифры пишет,
таких чудных цифр я отроду не видал.
Эдгар По

Рассмотрим криптографическую систему Хилла, в которой шифрование


осуществляется с использованием математических преобразований:
вычислений с помощью приемов линейной алгебры.
Данный шифр для отдельно взятой буквы можно считать
многоалфавитным. Однако пары букв шифруются везде одинаково. Поэтому в
широком смысле понятия криптографическую систему Хилла следует отнести
к одноалфавитным шифрам.
Система Хилла некоторыми операциями сильно напоминает аффинную
криптосистему.
Первоначально открытый текст методом замены следует преобразовать в
совокупность чисел. Предположим, что шифруется текст, написанный с
использованием 26-ти латинских букв. Выберем следующий алгоритм замены
букв на числа: латинские буквы A, B, C, D, …, Z будем заменять
соответственно числами 1, 2, 3, 4,…, 26. Другими словами: пронумеруем буквы
в порядке их расположения в алфавите, и при замене будем использовать их
порядковые номера. В данном случае выбран такой алгоритм замены, но
понятно, что он может быть любым.
Предположим, что нужно зашифровать немецкое слово ZEIT. Заменим
буквы в соответствии с их порядковыми номерами в алфавите четырьмя
числами: 26 – 5 – 9 – 20.
Далее следует выбрать некоторое число d ≥ 2. Это число показывает,
порядок разбиения открытого текста на группы символов (определяет, сколько
букв будет в каждой группе). С математической точки зрения число d
показывает, сколько строк должно быть в векторах-столбцах. Примем d = 2.
Это означает, что числа 26 – 5 – 9 – 20 нужно разбить на группы по два числа в
каждой группе и записать их в виде векторов-столбцов:

14
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

26 9
P1 P2
5 20

Далее следует записать матрицу исходного текста:

26 9
M
5 20
Шифрование выполняется путем вычисления следующих выражений:

С1 = M P1 и C2 = M P2

В результате расчетов получится:

7 21 4 14
C1 C2
2 30 4 45

Окончательный результат шифрования получается путем целочисленного


деления элементов векторов-столбцов С1 и С2 по модулю 26 (нахождение
остатка от целочисленного деления).

mo d C10 2 6 19
C1 1 C1 1
mo d C11 2 6 22

mo d C20 2 6 24
C2 1 C2 1
mo d C21 2 6 3

В результате шифрования по каналу связи будет оправлена


последовательность чисел: 19 – 22 – 24 – 3. Для ранее выбранного ключа
замены это будет соответствовать шифрограмме SVXC. Данный пример
иллюстрирует тот факт, что системы шифрования часто базируются на
математических преобразованиях.
Заметим, что приведенные здесь вычисления выполнены с помощью
математической системы Mathcad.

1.1.8. Метод гаммирования

Слова – лишь символы и знаки


того ручья с бездонным дном,
который в нас течет во мраке
и о совсем журчит ином.
Игорь Губерман

При шифровании методом гаммирования (иначе его называют аддитивным


методом) вначале открытый текст кодируют, преобразуя каждую букву в число.
15
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Затем к каждому числу прибавляют секретную гамму (псевдослучайную


числовую последовательность). Технически добавление гаммы к открытому
тексту в криптографических системах осуществляется поразрядно (поточный
шифр). Процедуру добавления гаммы удобно реализовать с помощью
двоичных чисел. При этом на каждый бит открытого текста накладывается бит
секретной гаммы.
Генератор гаммы выдает последовательность битов: 1, 2, 3,…, n. Этот
поток битов и поток битов открытого текста p1, p2, p3,…, pn подвергаются
поразрядно логической операции Исключающее ИЛИ. В результате получается
поток битов криптограммы:
ci = p i i.
При дешифровании операция Исключающее ИЛИ выполняется над битами
криптограммы и тем же самым потоком гаммы:
p i = ci i.
Благодаря особенностям логической операции Исключающее ИЛИ на
приемной стороне операция вычитания заменяется данной логической
операцией. Сказанное иллюстрируется примером.
Предположим, что Р = 10011001, а G = 11001110. В результате
зашифрованный байт С будет иметь следующий вид:

Таблица 1.1.8.1
Р 1 0 0 1 1 0 0 1
G 1 1 0 0 1 1 1 0
C 0 1 0 1 0 1 1 1

На приемной стороне будет повторно выполнена логическая операция


Исключающее ИЛИ:

Таблица 1.1.8.2
C 0 1 0 1 0 1 1 1
G 1 1 0 0 1 1 1 0
Р 1 0 0 1 1 0 0 1

Из этих таблиц видно, что переданный и принятый байты одинаковые.


В ЭВМ преобразование открытого текста в числа происходит
естественным путем, так как каждый символ кодируется двоичным числом.
Вид этого преобразования может быть разным. Для определенности будем
считать, что сообщение в ЭВМ кодируется с помощью кодовой таблицы CP -
1251.
Будем считать, что секретная гамма добавляется к открытому тексту по
правилу сложения по модулю два без переносов в старшие разряды (логическая
операция Исключающее ИЛИ). Результаты всех преобразований поместим в
таблицу.

16
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Таблица 1.1.8.3
Открытый Г Д Е А Б Б А
текст
Десятичное 195 196 197 192 193 193 192
число
Двоичное 1100011000 1100011000 110001100011000
число 011 100 101 000 001 001 000
Гамма 32 18 36 11 61 23 3
(десятичная)
Гамма 0010000010 0010000001 001110001000000
(двоичная) 000 010 100 011 101 111 011
Криптограмма 1110011010 1110011001 111111101011000
(двоич.) 011 110 001 011 100 110 011
Криптограмма 227 214 225 203 252 214 195
(десят.)
Криптограмм г Ц б Л ь Ц Г
а

Для наглядности результат шифрования (шифрограмма) переведен с


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

1.1.9. Метод перестановок

Множество современных методов шифрования можно разделить на четыре


большие группы: методы замены (подстановки), перестановок, аддитивные
(гаммирования) и комбинированные методы.
В разделах 1.1.1-1.1.7 были рассмотрены шифры замены (подстановок). В
разделе 1.1.8 рассмотрен аддитивный метод.
Рассмотрим основные идеи метода перестановок.
В шифрах перестановок все буквы открытого текста остаются без
изменений, но перемещаются с их исходных позиций на другие места.
Следующая простейшая «шифровка» получена методом перестановки двух
соседних букв РКПИОТРГФАЯИ. В этом «секретном» сообщении не сложно
узнать слово КРИПТОГРАФИЯ.
Более сложный алгоритм перестановок сводится к разбиению сообщения
на группы по три буквы. В каждой группе первую букву ставят на третье место,
а вторую и третью буквы смещают на одну позицию влево. В результате
получится криптограмма: РИКТОПРАГИЯФ.
Рассмотрим примеры шифрования сообщения методом перестановок.

17
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Идея этого метода криптографии заключается в том, что запись открытого


текста и последующее считывание шифровки производится по разным путям
некоторой геометрической фигуры (например, квадрата).
Для пояснения идеи возьмем квадратную таблицу (матрицу) 8 8. Будем
записывать открытый текст в эту матрицу последовательно по строкам сверху
вниз, а считывать криптограмму по столбцам последовательно слева направо.
Предположим, что требуется зашифровать сообщение:
НА ПЕРВОМ КУРСЕ ТЯЖЕЛО УЧИТЬСЯ ТОЛЬКО ПЕРВЫЕ ЧЕТЫРЕ
ГОДА ДЕКАНАТ.
Таблица 1.1.9.1
Н А _ П Е Р В О
М _ К У Р С Е _
Т Я Ж Е Л О _ У
Ч И Т Ь С Я _ Т
О Л Ь К О _ П Е
Р В Ы Е _ Ч Е Т
Ы Р Е _ Г О Д А
_ Д Е К А Н А Т

В таблице символом «_» обозначен пробел.


В результате преобразований получится шифровка:
НМТЧОРЫ_А_ЯИЛВРД_КЖТЬЫЕЕПУЕЬКЕ_КЕРЛСО_ГАРСОЯ_ЧОНВЕ__П
ЕДАО_УТЕТАТ
Как видно из примера, шифровка и открытый текст содержат одинаковые
символы, но они располагаются на разных местах.
Ключом в данном случае является размер матрицы, порядок записи
открытого текста в матрицу и порядок считывания шифрограммы. Естественно,
что ключ может быть другим. Например, запись открытого текста по строкам
может производиться в таком порядке: 48127653, а считывание криптограммы
может происходить по столбцам в следующем порядке: 81357642.
Будем называть порядок записи в строки матрицы ключом записи, а
порядок считывания шифрограммы по столбцам – ключом считывания. Тогда
правило дешифрирования криптограммы, полученной методом перестановок,
можно в общем виде записать так.
Чтобы дешифровать криптограмму, полученную с помощью матрицы n x
n, нужно криптограмму разбить на группы символов по n символов в каждой
группе. Крайнюю левую группу записать сверху - вниз в столбец, номер
которого совпадает с первой цифрой ключа считывания. Вторую группу
символов записать в столбец, номер которого совпадает со второй цифрой
ключа считывания и т.д. Открытый текст считывать из матрицы по строкам в
соответствии с цифрами ключа записи.
Рассмотрим пример дешифрации криптограммы, полученной методом
перестановок. Известно, что при шифровании использованы матрица 6х6, ключ
записи 352146 и ключ считывания 425316. Текст шифрограммы таков:
18
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

ДКАГЧЬОВА_РУААКОЕБЗЕРЕ_ДСОХТЕСЕ_Т_ЛУ
Разобьем шифрограмму на группы по 6 символов:
ДКАГЧЬ ОВА_РУ ААКОЕБ ЗЕРЕ_Д СОХТЕС Е_Т_ЛУ
Затем первую группу символов запишем в столбец 4 матрицы 6x6, так как
первая цифра ключа считывания – 4 (см. рисунок 1.1.9.1,а). Вторую группу из
6 символов запишем в столбец 2 (см. рисунок 1.1.9.1,б), третью группу
символов – в столбец 5 (см. рисунок 1.1.9.1,в), пропустив две фазы заполнения
матрицы, изобразим полностью заполненную матрицу (см. рисунок 1.1.9.1, г).
Считывание открытого текста в соответствии с ключом записи начинаем
со строки 3, затем используем строку 5 и т.д. В результате дешифрования
получаем открытый текст:
ХАРАКТЕР ЧЕЛОВЕКА СОЗДАЕТ ЕГО СУДЬБУ
Естественно, что описанная процедура дешифрования криптограммы
производится компьютером автоматически с помощью заранее разработанных
программ.

1 2 3 4 5 6 1 2 3 4 5 6
1 Д 1 О Д
2 К 2 В К
3 А 3 А А
4 Г 4 _ Г
5 Ч 5 Р Ч
6 Ь 6 У Ь

a) б)

1 2 3 4 5 6 1 2 3 4 5 6
1 О Д А 1 С О З Д А Е
2 В К А 2 О В Е К А _
3 А А К 3 Х А Р А К Т
4 _ Г О 4 Т _ Е Г О _
5 Р Ч Е 5 Е Р _ Ч Е Л
6 У Ь Б 6 С У Д Ь Б У

в) г)

Рис. 1.1.9.1. Порядок дешифрации методом перестановок

1.1.10. Перестановки по сложным траекториям

Он доказывал,
что кто-то должен присматривать за обществом,
что взлом шифров агентством –
вынужденная необходимость, залог мира.
Дэн Браун
19
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

В методе перестановок запись открытого текста может происходить по


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

Пусть ключ считывания будет таким: 5-13-2-7-1-4-12-3-11-6-10-8-9


В результате чтения текста по столбцам получится следующая
криптограмма:

Г_ТЧТ ОАИИ_ П_ННК АО_НР ЯЬАЪВ _,ЕЙД ОХЧНМ


ЕНЯОК АА_ЫН _АИДД ЕИОДЛ КЗОРМ Н_УВХ О_ВТЁ
ЫТСКЯ _НЕЕН Е_ТИН

Очевидно, что наличие пробелов и знаков препинания в криптограмме


облегчает криптоанализ. Поэтому пробелы и знаки препинания перед
шифрованием часто удаляют. Хотя это может привести к серьезным
смысловым ошибкам. Например, как понять такой текст: «Зачѐт поставить
нельзя незачѐт»? Изменение положения запятой в предложении меняет смысл
на противоположный.
На следующем рисунке показано несколько геометрических фигур
(треугольник, прямоугольник, ромб, параллелограмм, трапеция, пятиугольник,
шестиугольник, восьмиугольник). Эти фигуры можно использовать для записи
открытого текста по строкам и считывания шифрограммы по столбцам.
Естественно, что не только эти фигуры можно использовать для
шифрования. Есть возможность использовать и более сложные формы.
Траектории записи открытого текста в указанные фигуры и считывания
получающейся криптограммы также можно усложнить.

20
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис. 1.1.10.1. Примеры геометрических фигур

На следующем рисунке показано несколько примеров различных


траекторий записи открытого текста.

Рис. 1.1.10.2. Примеры траекторий

Предполагается, что в этих трех случаях считывание криптограмм будет


производиться по столбцам.
Казалось бы, что, чем сложнее траектория, тем труднее произвести
криптоанализ. Однако это не всегда так. Следует отдать предпочтение первой
траектории (запись по строкам). При записи «змейкой» и «по спирали» в
криптограммах будут проступать фрагменты открытого текста. При записи
«змейкой» останутся не перетасованными две пары символов в столбце 1 и две
пары символов в столбце 6.
Особенно неудачен последний вариант. При использовании траектории
«спираль» шесть символов в столбце 6 и четыре символа в столбце 5 останутся
не перемешанными.
Например, зашифруем фразу: «Температура в норме: тридцать шесть и
шесть». Запишем открытый текст по спирали в матрицу 6х6.

21
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Таблица 1.1.10.2

Считаем криптограмму в соответствии с ключом: 3-1-6-4-2-5. В результате


получится шифрограмма, которой отчетливо проступает буквосочетание
«РАТУРА».
МЦЕЬТОТИРТЕМРАТУРАПАСТСНЕДШИЬРЕТЬШЕВ
И всѐ же сложные траектории можно использовать для формирования
криптограммы. Например, в ромбовидной таблице запись открытого текста
можно осуществить по следующей траектории (рис. 1.1.10.3). При этом
считывать криптограмму нужно по столбцам.

Рис. 1.1.10.3. Пример траектории

1.2. Асимметричные системы

…возможно всѐ,
на невозможное просто требуется
больше времени.
Дэн Браун

Алгоритмы шифрования с открытым ключом используют так называемые


необратимые или односторонние функции. Эти функции обладают
следующим свойством: при заданном значении аргумента x относительно
просто вычислить значение функции f(x). Однако, если известно значение
функции y = f(x), то нет простого пути для вычисления значения аргумента x.
Все используемые в настоящее время криптосистемы с открытым ключом
опираются на один из следующих типов необратимых преобразований.
1. Разложение больших чисел на простые множители (алгоритм RSA,
авторы — Райвест, Шамир и Адлеман — Rivest, Shamir, Adleman).

22
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2. Вычисление логарифма или возведение в степень (алгоритм DH,


авторы — Диффи и Хелман).
3. Вычисление корней алгебраических уравнений.
Рассмотрим простейший пример «необратимых» функций.
Легко в уме найти произведение двух простых чисел 11 и 13. Но
попробуйте быстро в уме найти два простых числа, произведение которых
равно 437. Подобные трудности возникают и при использовании
вычислительной техники для отыскания двух простых сомножителей для очень
большого числа: найти сомножители можно, но потребуется много времени.
Таким образом, в системе кодирования RSA, основанной на разложении на
множители, используются два разных ключа: один для шифрования
сообщения, а второй — отличный от первого, но связанный с ним — для
дешифрования. Ключ шифрования (открытый, несекретный ключ) основан на
произведении двух огромных простых чисел, а ключ дешифрования (закрытый,
секретный ключ) — на самих простых числах.
Заметим, что операцию разложения простого числа на множители порой
называют факторизацией.
Термин «необратимые» функции неудачен. Правильнее было бы их
назвать быстро (или просто) необратимые функции. Однако этот термин
устоявшийся, и с неточностью приходится мириться.
В 40-х годах ХХ в. американский инженер и математик Клод Шеннон
предложил разрабатывать шифр таким образом, чтобы его раскрытие было
эквивалентно решению сложной математической задачи. Причем сложность
задачи должна быть такой, чтобы объем необходимых вычислений
превосходил вычислительные возможности современных ЭВМ.
В асимметричных системах приходится применять длинные ключи (2048
бита и больше). Длинный ключ увеличивает время шифрования открытого
сообщения. Кроме того, генерация ключей становится весьма длительной. Зато
пересылать открытые ключи можно по незащищенным (незасекреченным,
открытым) каналам связи. Это особенно удобно, например, для коммерческих
партнеров, разделенных большими расстояниями. Открытый ключ удобно
передавать от банкира сразу нескольким вкладчикам.
В симметричных алгоритмах используют более короткие ключи, поэтому
шифрование и дешифрование происходят быстрее. Но в таких системах
рассылка ключей является сложной процедурой. Передавать ключи нужно по
закрытым (секретным) каналам. Использование курьеров для рассылки
секретных ключей дорогая, сложная и медленная процедура.

1.2.1. Алгоритм RSA

Сейф Бигглмана представляет


собой гипотетический сценарий,
когда создатель сейфа прячет
внутри его ключ, способный его открыть.
Дэн Браун
23
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рассматриваемый алгоритм шифрования разработали Rivest, Shamir,


Adleman (RSA).
Опишем пример использования такой криптосистемы.
Пусть абонент А (например, банкир) и абонент В (например, вкладчик)
решили организовать между собой секретную передачу информации.
Каждый из абонентов независимо друг от друга выбирает два больших
простых числа, находит их произведение, функцию Эйлера от этого
произведения и выбирает случайное число, меньшее вычисленного значения
функции Эйлера и взаимно простое с ним.
Напомним, что простое число — это целое положительное число, большее
единицы, не имеющее других делителей, кроме самого себя и единицы.
Взаимно простые числа — целые числа, не имеющие общих (простых)
делителей.
Порядок создания ключей проиллюстрируем с помощью таблицы. Для
наглядности числа выбраны малой величины. Фактически эти числа имеют
около 100 десятичных разрядов.
Таблица 1.2.1.1
Абонент А Абонент В
Действия
(банкир) (вкладчик)
1. Выбор двух
p = 7; q = 13 p = 11; q = 23
простых чисел p и q
2.Вычисление
произведения r = r = 7 13 = 91 r = 11 23 = 253
pq
3. Расчет функции
Эйлера (r) = r–p– (r) = 72 (r) = 220
q+1
4. Выбор
случайного числа s,
взаимно простого с s=5 s = 31
(r) из интервала 0
< s < (r)
5. Расчет
секретного ключа t 5t= 31 t =
с помощью 1(mod(72)) 1(mod(220))
соотношения s t = t = 29 t = 71
1(mod (r))
6. Публикация
s = 5, s = 31,
открытых ключей
r = 91 r = 253
s, r

Использованная в таблице запись = (mod( )) означает, что при


целочисленном делении числа на число остаток равен .
24
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Например, 7 = 1(mod(3)).
Функция Эйлера — арифметическая функция (r), значение которой
равно количеству положительных чисел, не превосходящих r и взаимно
простых с r.
Предположим, что абонент А решил послать сообщение абоненту В.
Вначале методом замены каждый символ сообщения заменяется (шифруется)
числом. Допустим, что требуется переслать первую букву открытого
сообщения, которая предварительно зашифрована методом замены числом 2.
Абонент А шифрует число 2 открытым (опубликованным) ключом
абонента В. Для шифрования передаваемое число 2 возводится в степень s = 31,
т. е.
m = 231 = 2147483648.
Затем находят остаток от деления числа m на величину r = 253, в
результате которого получается число 167, то есть:
231 = 167 (mod(253)).
Напомним, что числа s и r являются открытым ключом абонента В.
В линию передается число 167, которое является шифром исходного числа
2.
Получив шифрограмму (167), абонент В использует свой секретный ключ
t = 71. Для дешифрации он возводит полученное число 167 в степень 71 и
находит остаток от деления на число 253. Математически это записывается так:
16771 2(mod(253)).
В данном случае остаток от деления равен 2, значит, шифрация и
дешифрирование произошли правильно. Было передано число 2, и это же число
было принято после всех преобразований.
Предположим, что абонент В решил ответить абоненту А и направить ему
букву, зашифрованную числом 3.
Абонент В использует открытый (опубликованный) ключ абонента А (s =
5, r = 91) и выполняет шифрующее преобразование числа 3. Математически это
записывается так:
35 61(mod(91)).
В линию отправляется число 61. Получив это число, абонент А
восстанавливает (дешифрирует) исходный текст с помощью своего секретного
ключа t = 29:
6129 3(mod(91)).
В результате дешифрации на приемной стороне получено число 3, которое
отправил абонент В.
Процесс передачи букв между абонентами иллюстрирует следующая
таблица.

Передача Чис Прием


Бу Чис Шифрование ло Дешифрован Чис Бу
кв ло в ие ло кв
25
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

а лин а Таблица 1.2.1.2


ии
M 2 231 = 167 16771 = 2 M Первая строка
167(mod(253)) 2(mod(253)) приведенной таблицы
L 3 35 = 61 6129 = 3 L поясняет процесс
61(mod(91)) 3(mod(91)) передачи буквы M от
абонента А к абоненту
В. Вторая строка показывает, как передается буква L от абонента В к абоненту
А. В данном случае считается, что буква M кодируется числом 2, а буква L –
числом 3.
В приведенных примерах был рассмотрен порядок передачи одного
символа с каждой стороны. Понятно, что таким образом последовательно
передается целое сообщение, но преобразование над каждым символом
происходит по рассмотренной схеме. Заметим, что для использования этого
метода необходимо сообщение предварительно преобразовать в набор чисел,
например, с помощью кодовой таблицы.
Достоинством шифрования с открытым ключом является исключение
необходимости передачи секретного ключа по закрытым каналам связи,
например, с помощью курьера.
Однако у этого метода есть существенный недостаток. Используя
опубликованный ключ, сообщение может прислать любой абонент, выдавая
себя за другого абонента.
В подобных случаях требуется аутентификация — подтверждение
авторства присланного документа. Для этих целей разработан способ
шифрования, который называется электронной подписью.
Суть этого метода шифрования заключается в том, что сообщение
шифруется не только опубликованным открытым ключом, но и собственным
секретным ключом абонента, отправляющего сообщение.
Рассмотрим пример.
Предположим, что абонент В (вкладчик) решил послать сообщение,
состоящее из числа 41, абоненту А (банкиру). Вначале вкладчик шифрует
сообщение открытым ключом банкира:
415 6(mod(91)).
В результате шифрования получено число 6.
Дальше вкладчик повторно шифрует это сообщение своим секретным
ключом 71:
671 94(mod(253)).
Шифрограмма 94 отправляется банкиру.
Банкир, получив секретное сообщение, использует вначале открытый ключ
вкладчика:
9431 6(mod(253)).
Затем банкир использует свой секретный ключ:
629 41(mod(91)).
26
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

В результате абонент А (банкир) получает сообщение, состоящее из числа


41.
При использовании электронной подписи никто другой не сможет
прислать банкиру сообщение (например, поручение перевести деньги) от имени
абонента В, так как на передаче нужно обязательно использовать секретный
ключ вкладчика, который известен только абоненту В.
Цифровая подпись используется не только для заверения текстовых или
финансовых документов. Эта же информационная технология применяется для
указания авторства разработанной программы.

1.3. Шифрование с помощью графических матриц

Основная идея защиты информации с помощью графических матриц


заключается в следующем.
Для шифрования передаваемой информации буквы (точнее, символы)
представляют в виде графических матриц, состоящих из белых и черных точек.
При шифровании точки в графических матрицах переставляются или
заменяются другими в соответствии с выбранным ключом. Зашифрованная
путем перестановки и замены пикселей информация дробится на биты, которые
распыляются по множеству контейнеров [19].
Одним из возможных применений этого шифра является скрытная
передача информации с помощью сайта, содержащего большое число
фотографий (или аудио файлов, Web-страниц). При этом противник не знает,
какие фотографии являются контейнерами и в какой последовательности
передаваемая информация распылена по контейнерам.
Для формирования практически равновероятной смеси битовых
последовательностей изображения символов формируются из одинакового
числа белых и черных пикселей. Это позволяет формировать на выходе
шифратора последовательность двоичных сигналов с равномерным
распределением.
Значительно усложняет стегоанализ распыление имеющейся битовой
последовательности по нескольким контейнерам. Причем распыление
происходит не детерминировано, а по случайному закону в соответствии с
секретным ключом.
Необходимо отметить следующий момент, касающийся криптоанализа.
Многие методы криптоанализа основаны на создании и использовании модели
открытого текста (учет повторения отдельных символов, создание таблиц
частот встречающихся отдельных символов, биграмм, триграмм…).
Автоматический криптоанализ предполагает использование цепей Маркова. В
результате автомат, а не человек определяет: получен открытый текст или он
нечитаемый (бессмысленный набор символов).
Однако модель открытого текста трудно применить для взлома сообщения,
зашифрованного с помощью рассматриваемого шифра. Здесь символы
представлены с помощью графических матриц и для силового взлома
криптограммы следует использовать автомат распознавания образов. Задача
27
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

становится принципиально неразрешимой, когда вместо традиционных


символов используются графические матрицы с равновероятным распылением
белых и черных точек.
Наибольшая степень защиты достигается в том случае, когда вместо
символов даже слегка напоминающих символы открытого текста, используется
пѐстрая, псевдослучайная мозаика. Автомат не будет знать, что искать. Лишь
при утечке сведений о таблице замен, которая связывает символы открытого
текста и секретные псевдослучайные графические матрицы, появляется
возможность произвести автоматический криптоанализ.
Однако для полного криптоанализа потребуется преодолеть еще несколько
уровней защиты информации. Первый уровень – это традиционная
криптографическая защита (сообщение должно быть предварительно
зашифровано одним из криптостойких способов). Второй уровень – нужно
определить размер графической матрицы, порядок расположения
информативных, маскирующих, пограничных пикселей. Затем нужно
определить, какой вид преобразования матрицы осуществлен в данном случае
(сдвиг влево – вправо, вверх – вниз, перестановка столбцов, строк…), и каковы
количественные характеристики этого преобразования. Третий уровень защиты
состоит в решении комбинационной задачи по собиранию битов из
пространственно распределенных контейнеров. При этом неизвестно, какие
контейнеры содержат информацию и в какой последовательности распылены
биты.
Рассмотрим примеры формирования изображения различных символов с
помощью графических матриц (см. рис.1.3.1).

Рис.1.3.1. Четыре графические матрицы


с изображением букв «Ч», «П», «Р» и «С».

В данном случае выбрана матрица 8 х 8.


Следующая матрица имеет большее число пикселей: 10 x 10 (см. рис.1.3.2).
28
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис. 1.3.2. Четыре графические матрицы


с изображением букв «Щ», «Б», «Г» и «Ж»

Анализ приведенных изображений показывает, что для формирования


разных символов требуется разное число информативных пикселей. Буква «Щ»
содержит 29 черных точек, буква «Б» - 23, буква «Г» - 12, буква «Ж» - 24.
Понятно, что такое заметное количественное различие графических матриц
дает некоторую зацепку для криптоаналатиков. Например, они могут
попытаться восстановить передаваемые символы путем подсчета числа чѐрных
пикселей в каждой графической матрице.
Улучшить ситуацию можно за счет формирования рамки вокруг
изображения символов (рис.1.3.3). При этом общее число черных точек во всех
графических матрицах должно быть одинаковым.

29
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис. 1.3.3. Изображение символов с нанесенными рамками

В случае необходимости кроме рамки вводят маскирующие точки.


Благодаря такому дополнению число черных и белых пикселей (или единиц и
нулей) во всех матрицах делают одинаковыми. Равенство белых и черных
пикселей приводит к возникновению наибольшего хаоса (наибольшей
энтропии).
Понятно, что полученные выше изображения символов все еще легко
узнаваемы (распознаваемы). По этой причине сформированные графические
матрицы с изображением символов необходимо трансформировать путем
перемешивания пикселей. Перемешивание пикселей можно реализовать
большим числом различных способов. Например, можно менять местами
группы пикселей, расположенных в одной строке. Для этого все пиксели
разбивают на группы по одному (два, три, четыре...) пикселя и соседние группы
меняют местами. Такой же обмен можно произвести по столбцам. Естественно,
что менять местами можно не только соседние группы, но и выбрать более
сложный алгоритм.
Перемешивание можно осуществить перестановкой строк и столбцов.
Эффективным средством перемешивания пикселей являются циклические
сдвиги (например, влево для строк и вниз для столбцов).
Мощным инструментом изменения вида графической матрицы является
генерация псевдослучайных целых чисел в диапазоне от 1 до n x m. Здесь n –
число строк в матрице, а m – число столбцов. Случайные числа используются

30
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

для определения порядка перемещения пикселей из исходной матрицы в


перемешанную матрицу.
Изменить вид матрицы (трансформировать, преобразовать еѐ) можно не
только методами перестановки пикселей, но и методами замены. Для этого
достаточно выполнить операцию Исключающее ИЛИ, взяв некоторую
псевдослучайную последовательность чисел (гамму). Образно эту процедуру
можно представить, как наложение маскирующей матрицы на матрицу
передаваемого символа.
Метод замены пикселей в графической матрице можно реализовать с
помощью схемы Фейстеля.
На следующем рисунке (рис. 1.3.4) показан пример перестановки столбцов
в графической матрице. Для упрощения картинки показаны заполненными
только четыре столбца. Перестановка столбцов в исходной матрице
(изображена сверху) происходит по ключу: 3-4-1-2… В результате получается
«перемешанная» матрица (показана снизу).

Рис. 1.3.4. Пример перестановки столбцов

31
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рисунок 1.3.5 иллюстрирует процедуру перестановок строк по ключу: 3-1-


4-2…Исходная графическая матрица показана слева, а ―перемешанная‖
графическая матрица – справа.

Рис. 1.3.5. Пример перестановки строк

Еще один рисунок (рис. 1.3.6) иллюстрирует процесс перемешивания точек


(пикселей) с помощью операции циклического сдвига влево. Можно
использовать и циклический сдвиг вправо, но принципиальных отличий этих
двух видов сдвига нет. Слово «циклический» означает, что крайние столбцы 1 и
12 являются, как бы соседними (смежными).

Рис. 1.3.6. Примеры циклического сдвига влево

Операцию сдвига технически удобно реализовать с помощью сдвиговых


регистров. При этом каждая ячейка матрицы соответствует отдельному
триггеру. Повысить быстродействие устройств для реализации операций сдвига
можно с помощью переключаемых сетей [ 20 ].
Результат циклического сдвига можно наглядно увидеть в строке 3.
Исходная графическая матрица изображена слева. Результат перемешивание
показан в матрице справа. Содержимое строки 3 сдвинуто циклически влево на
4 позиции.
Более простой вид циклического сдвига показан в строке 10. Здесь
содержимое сдвинуто на две позиции влево. В этом случае не было перехода от

32
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

первого столбца к двенадцатому, поэтому можно сказать: осуществлен сдвиг


влево (слово «циклический» в этом случае можно опустить).
Рассмотрим, как осуществляется циклический сдвиг содержимого
столбцов вниз. Так же, как и при сдвиге строк можно осуществлять сдвиг
содержимого столбцов только вверх. Принципиального отличия нет. Для всех
видов сдвига (влево – вправо и вверх – вниз) криптоскойкость будет зависеть
только от величины сдвига. Другими словами: изменяя значение ключа, можно
перейти от сдвига влево к сдвигу вправо и от сдвига вниз к сдвигу вверх.
Перечисленные пары сдвигов являются взаимозаменяемыми.
Конечно, правильнее говорить: «циклический сдвиг содержимого
столбцов». Однако, иногда будем говорить неправильно, но короче:
«циклический сдвиг столбцов».
Исходная графическая матрица показана слева, а перемешанная матрица –
справа (рис. 1.3.7). Содержимое столбцов 2 и 9 сдвинуто циклически вниз на 2
позиции.

Рис. 1.3.7. Пример циклического сдвига вниз

Рассмотрим еще один способ перемешивания (перестановок) пикселей в


графической матрице (рис.1.3.8).

Рис. 1.3.8. Пример нумерации ячеек матриц

Пронумеруем последовательно все ячейки графической матрицы слева –


направо и сверху – вниз (традиционная траектория письма для европейской
33
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

письменности). Для упрощения изложения идеи заполним числами только


четыре строки. Ячейки второй графической матрицы пронумеруем с помощью
псевдослучайных чисел (для еще большего упрощения изложения идеи
пронумеруем только две строки правой матрицы).
Будем переносить содержимое левой матрицы в правую матрицу в
следующем порядке. В ячейку 1-1 (первой указывается номер строки, а второй
номер столбца) правой матрицы занесем содержимое ячейки 3-8 левой матрицы
(эта ячейка отмечена числом 32). В ячейку 1-2 правой матрицы поместим
содержимое ячейки 2-12 левой матрицы и т.д.
Возьмем конкретную матрицу и выполним указанные перестановки (32-24-
7-15-35…). Результат показан на следующем рисунке (рис. 1.3.9).

Рис. 1.3.9. Пример перестановки пикселей


Итак, перестановки в графической матрице осуществлены в соответствии
со следующим фрагментом ключа:

Необходимо ещѐ раз обратить внимание на то, что здесь рассмотрен лишь
упрощѐнный вариант перестановок. Фактически ключ должен содержать в
данном случае 144 натуральных числа, расположенных в псевдослучайном
порядке (сгенерированных генератором случайных чисел).
Рассмотрим порядок перемешивания пикселей путем перестановки
соседних групп пикселей. Для примера возьмем две графические матрицы 8х8
(рис. 1.3.10).

Рис. 1.3.10. Две графические матрицы


Образуем группы пикселей, объединив попарно соседние столбцы (рис.
1.3.11).
34
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис.1.3.11. Порядок образования групп

Выполним перестановки соседних групп. Перемещения будем вести


построчно. Пиксель 1-1 перейдет в ячейку 1-3, пиксель 1-2 в ячейку 1-4.
Содержимое ячеек 1-3 и 1-4 перейдет соответственно в ячейки 1-1 и 1-2. В
результате перестановок всех групп матрица будет иметь следующий вид
(рис.1.3.12):

Рис. 1.3.12. Пример перестановок групп по строкам

Затем, объединив попарно строки, выполним перестановку групп пикселей


в столбцах (рис.1.3.13).

Рис. 1.3.13. Пример перестановок групп по столбцам

35
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рассмотрим пример перемешивания пикселей для графической матрицы с


изображением русской буквы «Э». Перемешивание осуществим с помощью
операций циклического сдвига и перестановок строк и столбцов (рис.1.3.14).

Рис. 1.3.14. Формирование графической матрицы для символа «Э»

Вокруг изображения выбранного символа, состоящего из w = 16 пикселей,


разместим рамку, состоящую из r = 46 (двойная штрихпунктирная рамка).
Кроме того, нанесем q = 10 маскирующих точек. Общее число черных точек
(пикселей) равно 72, то есть равно половине всех пикселей графической
матрицы.
На следующем этапе шифрования информации необходимо перемешать
пиксели в графической матрице.
В матрице, изображенной слева (рис.1.3.15), произведена перестановка
пикселей с помощью циклического сдвига строк влево в соответствии со
следующим ключом:
3-4-7-5-5-3-6-11-2-5-4-6

Рис.1.3.15. Перемешивание пикселей с помощью операций


циклического сдвига влево и вниз
Ключ состоит из двенадцати чисел, которые определяют величину сдвига в
каждой строке. Числа могут изменяться в диапазоне от 0 до 11.
Приведенные числа в ключе нужно понимать так: содержимое первой
строки циклически сдвигается влево на 3 позиции, содержимое второй строки
циклически сдвигается влево на 4 позиции, содержимое третьей строки
циклически сдвигается влево на 7 позиций и т.д.
36
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Затем матрица претерпевает дальнейшее преобразование (рис.1.3.15).


Пиксели переставляются путем циклического сдвига столбцов вниз в
соответствии с ключом:
2-5-1-4-4-6-10-3-4-5-5
Эти числа следует понимать так: содержимое первого столбца циклически
смещается на 2 позиции вниз, содержимое второго столбца циклически
смещается на 5 позиций вниз и т.д.
Дальнейшее перемешивание пикселей происходит путем перестановки
столбцов в соответствии с ключом (рис.1.3.16):
5-8-2-10-3-1-12-9-4-6-7-11
Этот ключ обязательно содержит все числа от 1 до 12 включительно и
определяет порядок перестановки столбцов.

Рис.1.3.16. Перемешивание пикселей с помощью


операций перестановки строк и столбцов

Так содержимое столбца 5 исходной матрицы переписывается в новую


матрицу в ячейки первого столбца. Столбец 8 переносится на место столбца 2,
столбец 2 исходной матрицы записывается в третий столбец новой матрицы и
т.д. Программно реализация перестановок осуществляется с помощью
математических матриц.
Последняя операция перемешивания пикселей в рассматриваемом примере
– это перестановка строк в соответствии с ключом (рис.1.3.16):
9-3-5-7-2-1-11-12-10-4-6-8
Приведенные числа нужно понимать так: в новой матрице в первый
столбец записывается содержимое столбца 9 исходной матрицы, во второй
столбец переносится содержимое столбца 3 и т.д.
Рассмотрим, как можно трансформировать исходную графическую
матрицу методом замены (методом гаммирования). Преобразование матриц
осуществим путем суммирования по правилу Исключающее ИЛИ содержимого
строк и двоичной гаммы.
Выберем следующий алгоритм преобразований: нечетные строки будем
поразрядно (побитно) суммировать с числом 10100110, а четные строки
суммировать с двоичным числом 00011011. Другими словами: гамма состоит из

37
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

шестнадцати двоичных чисел, которые периодически (четырежды)


повторяются.
Результат преобразования матриц показан под изображением символов
(рис.1.3.17).

Рис. 1.3.17. Преобразование матриц методом гаммирования

Справа показаны две матрицы, которые являются разностями между


изображениями исходных матриц и изображениями преобразованных матриц.
Как видно из рисунков, разностные матрицы одинаковы. Это может дать
зацепку для криптоаналитиков. Разработан метод криптоанализа для случаев
повторного использования одной той же гаммы, либо для случая, когда период
гаммы мал.
Легко заметить, что в первой и восьмой строках преобразованных матриц
присутствует в чистом виде секретная гамма.
Приведенный пример показывает, что преобразование графической
матрицы можно осуществлять методом гаммирования. Однако следует строго
выполнять рекомендации теории: период гаммы должен быть достаточно
большой и распределение единиц и нулей должно быть равномерным
(равновероятным).
Наглядным примером влияния качества гаммы на криптостойкость
являются следующие факты. Если гамма состоит из одних нулей, то исходная
матрица не изменяется. Если гамма состоит только из единиц, то получается
негатив (на рис.1.3.18 показан негатив буквы «Ч».) Поэтому всякое отклонение
от равновероятного распределения единиц и нулей гаммы увеличивает шансы
криптоаналитиков на взлом шифра.

38
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис.1.3.18. Негатив изображения буквы «Ч»

Описанные преобразования графических матриц удобно комментировать,


используя математические понятия: матрица, вектор-строка, вектор-столбец. С
помощью матрицы МЕ представим букву «Е». С помощью матрицы MRamka
сформируем изображение рамки, которое обрамляет изображение символа.
Следующий пример реализован с помощью математической системы Mathcad.

Графическое представление матриц с изображением буквы «Е» и рамки


дано на следующих рисунках (рис.1.3.19).

39
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис.1.3.19. Графическое представление матриц


с изображением буквы «Е» и рамки

Просуммируем матрицы ME и MRamka. Изображение символа с рамкой по


периметру показано на следующих двух рисунках (рис.1.3.20).

Рис.1.3. 20. Изображение символа «Е» с рамкой

Рисунок слева (рис.1.3.20) показывает трехмерное изображение символа с


нанесенной рамкой. На рисунке справа верхний слой отображает единичные
элементы матрицы, а нижний слой – нулевые элементы.
Осуществим перестановку вектор - столбцов матрицы MER в соответствии
с ключом:
5-3-7-6-8-2-1-4.

40
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

В матрице Col осуществлена перестановка столбцов в соответствии с


указанным ключом.
На рисунках (рис.1.3.21) показаны исходная матрица MER и перемешанная
матрица Col.

Рис.1.3.21. Исходная матрица MER и перемешанная матрица Col


Для перестановки строк сначала выполним транспонирование матрицы Col
(таковы особенности математической системы Mathcad).

Теперь произведем перестановку строк в соответствии с ключом:


2-4-1-8-5-7-6-3.
41
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Выполним обратное транспонирование матрицы.

В матрице Row по отношению к исходной матрице MER выполнены


перестановки столбцов и строк в соответствии с указанными ключами
(рис.1.3.22). На рисунке справа совместно изображены исходная и
перемешанная матрицы.

Рис.1.3.22. Результат перестановки столбцов и строк

Рассмотрим, как выполнить преобразование графической матрицы с


помощью схемы Фейстеля. Схема показана на рисунке. 1.3.23.

42
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис.1.3.23. Схема Фейстеля


Принцип работы этой схемы рассмотрим на примере преобразования
одной строки. Схема состоит из двух шифраторов F1 и F2, двух сумматоров по
модулю два М1 и М2 (выполняют логическую операцию Исключающее ИЛИ).
Результаты шифрования (С1 и С3) зависят от алгоритма работы шифраторов F1
и F2 и ключей К1 и К2 соответственно. Для определенности будем считать, что
и в шифраторах также реализуется логическая операция Исключающее ИЛИ.
Исходная строка АВ делится на два равных блока А и В (по четыре бита).
Результаты преобразований приведены в таблице 1.3.1.

Таблица 1.3.1

Аналогичные преобразования делают с содержимым всех строк исходной


графической матрицы.
В рассмотренном шифре криптостойкость обеспечивается несколькими
уровнями защиты.
На первом уровне открытый текст шифруется одним или несколькими
известными способами. На втором уровне защиты символы криптограммы
заменяются графическими матрицами, в которых осуществляется перестановка
или замена всех пикселей. На третьем уровне пиксели из перемешанных матриц
побитно псевдослучайно распыляется по нескольким контейнерам. На
43
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

четвертом уровне защиты рассредоточение заносимых битов происходит не


линейно (не последовательно), а, например, равномерно по всей графической
картинке контейнера. Другими словами: адреса цветовых составляющих в
графическом файле выбирают по сложному закону. Закон распределения
пикселей по графическому контейнеру удобно выразить с помощью
математической зависимости. Коэффициенты в этой зависимости должны
храниться в виде ключа.
Предположим, что криптоаналитику каким-то способом удалось
преодолеть все уровни защиты, кроме восстановления графической матрицы.
При криптоанализе методом перебора всех возможных ключей
восстанавливаемые матрицы придется анализировать с помощью
автоматических устройств. Устройство распознавания образов должно во
множестве точек графической матрицы мгновенно «увидеть» (выделить,
вычислить) замаскированный символ. Однако появление даже нескольких
маскирующих точек приводят к снижению надежности автоматического
распознавания символов.
Эту мысль иллюстрирует рисунок (рис.1.3.24), полученный при работе
программы FineReader 6.0 Professional.

Рис.1.3.24. Результаты распознавания с помощью FineReader

Три группы символов «ЧПРС» были в разной степени зашумлены


маскирующими точками. По мере увеличения числа маскирующих точек
результаты распознавания ухудшались. Рисунок показывает, что добавление
всего девяти новых точек исказило все четыре буквы исходного текста.
Размещение вокруг символов штрихпунктирных рамок делает текст полностью
нечитаемым для автоматических устройств. Криптографическое
перемешивание пикселей в графических матрицах ставит автомат в тупик.
Участие человека при криптоанализе в качестве распознавателя образов
практически невозможно из-за необходимости перебора и анализа огромного
44
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

числа вариантов в короткий промежуток времени, поэтому возникает


достаточно сложная проблема автоматического распознавания сложных
образов.
Рассмотрим ещѐ один способ перемешивания пикселей. Для реализации
предлагаемой идеи нужно рядом разместить четное число графических матриц
(2, 4, 6, 8, и т.д.). Рядом размещенные графические матрицы должны образовать
прямоугольную таблицу (многопиксельный экран) с общими столбцами и
строками. Затем производят операции перемешивания с экраном так, будто бы
это единая графическая матрица.
Рассмотрим пример. Предположим, что даны четыре графические матрицы
с изображениями букв Щ, Б, Г и Ж. Информативные пиксели для повышения
наглядности выделим отличающимся цветом (рис.1.3.25).

Рис.1.3.25. Многопиксельный экран

Сдвинем циклически все строки, начиная со второй, на 1, 2, 3, 4, 5, и т.д


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

45
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис.1.3.26. Результат перемешивания матрицы


многопиксельного экрана

После этого аналогично делаются циклические сдвиги столбцов всего


экрана.

1.4. Шифрование с помощью управляемых операций*


Тут у вас всѐ очерчено,
тут формула, тут геометрия,
а у нас всѐ какие-то неопределенные
уравнения!
Ф.М.Достоевский

Среди множества шифров можно выделить широко используемый


симметричный метод шифрования – метод гаммирования. Как известно,
основная идея шифрования заключается в замене символов открытого текста на
числа и суммировании их с псевдослучайными числами, которые называются
«гаммой». При этом состав гаммы известен только доверенным лицам на
передающей и приемной сторонах.
Известны методы взлома этого шифра [4,5]. Скомпрометировать шифр
можно в случаях нештатного использования гаммы (некачественный состав
гаммы, малая длина или повторное использование одной и той же гаммы для
шифрования разных сообщений).
Еще одним уязвимым элементом в аддитивном шифре является
логическая операция Исключающее ИЛИ, которая используется для
зашифрования. Другие названия этой операции: неравнозначность,
суммирование по модулю два без переносов.
Известно интересное свойство этой логической операции:
M G G M. (1)

46
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Соотношение (1) говорит о том, что наличие четного числа одинаковых


слагаемых, участвующих в операции Исключающее ИЛИ, уничтожает эти
слагаемые. Таким образом, если определить период гаммы и произвести
логическую операцию Исключающее ИЛИ над символами криптограммы с
одинаковыми значениями гаммы (с одинаковыми фазами), то можно
уничтожить гамму. В результате такого преобразования получаются данные,
представляющие собой результат выполнения логической операции
Исключающее ИЛИ над символами открытого текста:
R Ci Ci T M i Gi M i T Gi T M i M i T (2)
Это объясняется тем, что Gi Gi T , то есть элементы гаммы повторяются с
периодом Т и поэтому они одинаковые. Если гамма дважды использована для
шифрования двух разных текстов, то задача криптоанализа становится еще
проще: достаточно выполнить операцию Исключающее ИЛИ над двумя
криптограммами.
_______________________________________________________________
*Раздел написан совместно с Жереновым Ю.В.
Известен пример неверного использования метода гаммирования в
операционной системе Windows 95. Одна и та же гамма применялась несколько
раз для шифрования данных в файлах PWL [6].
Величину R (2) можно назвать разностью открытых текстов (сообщений).
Разность R может быть подвержена успешному криптоанализу путем учета
статистических закономерностей открытых текстов или использования
известных из других источников их особенностей. Часть передаваемого текста
(особенно первые и последние строки) можно угадать на основании того, что
многие документы имеют стандартную форму.
Если сделать успешное предположение, что одно из сообщений
начинается со слов «Hello», «Совершенно секретно», либо «Центр – Юстасу» и
т.п., то легко дешифровать первые буквы другого сообщения. Рассмотрим
пример криптоанализа двух открытых текстов («Полк» и «План»),
зашифрованных одинаковой гаммой (139-12-240-7). Процессы зашифрования и
криптоанализа проиллюстрированы таблицей 1.4.1.

Таблица 1.4.1
Величины
Зна Симв Симв Симв Симво
чен ол ол ол л
ие 1 2 3 4
1. Сообщени Пол 11001 11101 11101 11101
е к 111 110 011 010
M1
2. Сообщени Пла 11001 11101 11100 11101
е н 111 011 000 101
M2
3. Гамма G 139 10001 00001 11110 00000
-12- 011 100 000 111
47
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

240 .
-7
4. Криптогра - 01000 11100 00011 11101 Каждое
мма 100 010 011 101 передаваемое
K1 M 1 G сообщение данного
примера состояло из
5. Криптогра - 01000 11100 00010 11101 четырех символов.
мма 100 111 000 010 Символы были
K2 M 2 G преобразованы в
двоичные числа в
6. Разность - 00000 00000 00001 00000 соответствии с
R K1 K 2 000 101 011 111 таблицей CP-1251.
7. Сообщени - 11001 11101 11101 11101 Понятно, что в таблице
е 111 110 011 010 1.4.1 приведен
M1 R M 2 простейший пример.
Здесь оба сообщения
состоят из небольшого
числа букв. Успешно произвести криптоанализ коротких шифровок можно
лишь в случае, если известен один из открытых текстов. При наличии длинных
сообщений при криптоанализе нужно учитывать статистические свойства
открытых текстов (модель открытого текста) и специальные методы
криптоанализа, например, тест Казиски [5].
Разность R показывает «расстояние» между символами двух сообщений.
Для первых символов двух открытых текстов разность R = 0. Это означает, что
первые символы в этих сообщениях одинаковые. Чем меньше значение R, тем
ближе в алфавите находятся данные две буквы. Последняя строка таблицы 1.4.1
показывает возможность восстановления сообщения M 1 при неизвестном
составе гаммы G , но известном (или угаданном) сообщении M 2 .
Таким образом, в аддитивном методе шифрования из-за симметричности
(обратимости) логической операции Исключающее ИЛИ и нештатного
использования гаммы существует возможность произвести криптоанализ и
восстановить открытый текст даже без знания гаммы. По этой причине
представляет интерес рассмотрение шифра, у которого нет подобного
недостатка [8].
Разработка криптосистемы с управляемыми операциями
шифрования
Повысить криптостойкость аддитивного шифра можно за счет
использования управляемых операций шифрования [2]. Основная идея
рассматриваемой криптосистемы состоит в использовании в течение одного
сеанса связи не одной, а нескольких различных шифрующих операций. В этой
криптосистеме с изменением значения гаммы варьируются операции
преобразования, выполняемые над открытым текстом (на передаче) и над
криптограммой (на приеме). Причем на передаче и приеме операции
зашифрования и расшифрования должны чередоваться синхронно. Например,
48
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

если на передаче осуществляется арифметическое сложение символа открытого


текста с элементом гаммы, то на приеме нужно вычесть гамму из полученной
криптограммы. Синхронизация выполняемых операций должна осуществляться
под управлением гаммы, которая одновременно определяет и вид выполняемой
операции и участвует в этих операциях.
На рис. 1.4.1 показана структурная схема криптографической системы с
управляемыми операциями шифрования. Моделирование этой системы было
осуществлено с помощью программы Electronics Workbench Multisim 8.2.12 Pro
[7].
Имитация передающей и приемной сторон криптосистемы
осуществлялась с помощью двух арифметико-логических устройств 74281J.
Четырехбитный открытый текст M подавался на вход А первого арифметико-
логического устройства (АЛУ). Четырехбитная гамма G подавалась на входы В
каждого АЛУ. Вид выполняемой операции на передающей стороне задавался с
помощью преобразователя кода ПК1. Управляющие сигналы S на приемной
стороне формировались с помощью преобразователя кода ПК2. Сигналы с
выходов преобразователей кодов подавались на управляющие шины АЛУ.
Именно эти сигналы определяли вид выполняемых АЛУ операций.
Криптограмма K формировалась на выходе F первого АЛУ. Расшифрование
криптограммы осуществлялось на приемной стороне с помощью второго АЛУ.
Выполняемые операции синхронно изменялись под управлением гаммы.
Принятый открытый текст M` появлялся на выходе F второго АЛУ.

Канал связи
Открытый Открытый
текст Криптограмма текст
М K М
А ALU 1 F А ALU 2 F

Гамма Гамма
G G
B B

S S
S S
ПК1 ПК 2

Передающая Приемная
сторона сторона

Рис. 1.4.1. Структурная схема криптосистемы

В качестве шифрующих преобразований можно использовать различные


логические и арифметические операции, а так же математические функции и их
комбинации. Некоторые из них перечислены в таблице 1.4.2.
В таблице 1.4.2 приняты обозначения:
M - открытый текст (сообщение); G - гамма; K - криптограмма; -
логическая операция Исключающее ИЛИ (неравнозначность); - логическая
операция равнозначность; «+» - арифметическая операция сложение;. «–» -
арифметическая операция вычитание; черта над переменными обозначает
логическую операцию инверсии.
49
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Первые 11 операций предполагают работу с целыми числами. Остальные


операции предназначены для работы с вещественными числами.
Задачей преобразователей кодов ПК1 и ПК2 являлось синхронное
изменение управляющих сигналов. Естественно, что конструкции
преобразователей кодов ПК1 и ПК2 были разные, так как при одинаковых
входных воздействиях (гамма G) преобразователи кодов должны формировать
разные выходные (управляющие) сигналы S и S`.

Таблица 1.4.2
Операции Операции
на передающей на приемной
стороне стороне
1. Неравнозначность Неравнозначность
K M G M` K G
2. Равнозначность Равнозначность
K M G M G M` K G K G
3. Сложение K M G Вычитание
M` K G
4. Вычитание Сложение M` K G
K M G
5. Вычитание Вычитание
K G M M` G K
6. Инверсия от суммы Комбинированная
K M G разность M ` K G
7. Инверсия от Комбинированная
разности K M G сумма M ` K G
8. Инверсия от Комбинированная
разности K G M разность M ` G K
9. Комбинированная Комбинированная
сумма K M G разность M ` K G
10. Комбинированная Комбинированная
разность K M G сумма M ` K G
11. Умножение Деление M K / G
K M G
12. Деление K M /G Умножение
M K G
13. Деление K G / M Деление M G / K
14. Функциональные Функциональные
1
K f ( M , G) M f ( K , G)
15. Алгебраические Алгебраические
n s
K M G M n
K  Gs

Преобразователи кодов можно синтезировать различными способами:


графически (с помощью карт Карно и диаграмм Вейча), аналитически (методы
50
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Квайна, Мак-Класки, неопределенных коэффициентов) и с помощью


графических символов, интерпретирующих булевы функции.
Перечисленные способы синтеза (минимизации) трудоемки и имеют
ограничения на их использование при числе переменных более 5…6. При
разработке рассматриваемой модели криптосистемы преобразователи кодов
синтезировались с помощью блока Logic Converter (логический конвертор),
который входит в систему моделирования радиоэлектронных устройств
Multisim 8.2.12 Pro. Этот инструмент позволяет создавать преобразователи
кодов с числом аргументов n 8 . Для получения математических выражений,
описывающих работу ПК, достаточно в конвертор ввести таблицу истинности,
которая описывает работу преобразователя кода. Полученные математические
выражения затем использовались для построения принципиальной схемы ПК.
Анализ логических и арифметических операций
Рассмотрим подробнее порядок выбора логических и арифметических
операций, которые можно использовать для шифрования текста.
Безусловно, при разработке новой криптосистемы нужно использовать
многократно проверенную операцию Исключающее ИЛИ. Кроме того,
аналогичными свойствами обладает операция ―равнозначность‖, которая
является инверсией от операции Исключающее ИЛИ.

Таблица 1.4.3
№ Гамма Управля
п/ Клю Операци ющие Мo
B3B2 B1B0 CN
п ч я сигналы d
(BCDE)
A S3 S 2 S1S0
0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 1 M G 0 1 1 0 1 x
2 0 0 0 1 0 0 1 1 0
3 0 0 0 1 1 0 1 1 0
4 0 0 1 0 0 1 0 0 1
5 0 0 1 0 1 M G 1 0 0 1 1 x
6 0 0 1 1 0 1 0 0 1
7 0 0 1 1 1 1 0 0 1
8 0 1 0 0 0 M G 0 1 1 0 0 0
9 0 1 0 0 1 0 1 1 0
10 0 1 0 1 0 M G 0 1 1 0 0 0
11 0 1 0 1 1 0 1 1 0
12 0 1 1 0 0 1 0 0 1
13 0 1 1 0 1 M G 1 0 0 1 0 1
14 0 1 1 1 0 1 0 0 1
15 0 1 1 1 1 1 0 0 1

В виду того, что логические операции M G M G эквивалентны


операции неравнозначности M G , использовать все три операции при
шифровании не имеет смысла, так как криптограммы для них будут
одинаковыми.

51
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

В таблице 1.4.3 символом «х» обозначены безразличные состояния


преобразователя кода (ПК). Вход устройства Mod определяет, какую операцию
выполняет АЛУ: логическую или арифметическую. Входы S3 S 2 S1S0 и Mod
предназначены для формирования управляющих сигналов, которые позволяют
выбрать одну из 32-х возможных операций данного АЛУ.
Для приемной стороны составляется аналогичная по форме таблица
истинности.
Внешний вид конвертора, с помощью которого осуществлялся синтез
преобразователей кодов, показан на рисунке 1.4.2.

Рис. 1.4.2 Логический конвертор XLC1 с изображением фрагмента таблицы


истинности (S3)

С помощью логического конвертора и таблицы 1.4.3 были получены


выражения, описывающие работу ПК1, находящегося на передающей стороне:
S3 S 0 2 2 S2 S1 2 2
, Mod 3 (3) CN 2 2 S3 .
Аналогично были получены выражения для ПК2, работающего на
приемной стороне.
S3 S0 3 2 3 2 3 2 3 2 S2 S1 3 2 3 2 3 2 3 2

Mod , CN
3 2 2
.
На основании полученных выражений были составлены принципиальные
схемы двух преобразователей кодов. Разработанная и исследованная
принципиальная схема модели криптографической системы работала с
использованием четырех операций: Исключающее ИЛИ, равнозначность,
сложение и вычитание. При этом результат вычитания формировался на выходе
АЛУ в дополнительном коде. Смена сеансового ключа имитировалась с
помощью переключателя А. Схема модели криптосистемы приведена ниже на
рисунке 1.4.3.
Исходный текст, принятый текст, гамма и криптограмма отображались с
помощью индикаторов U3…U6. Значения гаммы и передаваемый текст
формировались с помощью генератора слов XWG1 (Word Generator).
Преобразователи кодов ПК1 и ПК2 расположены в нижней части рисунка
1.4.3.
Как и всякая имитация, разработанная модель не полностью
соответствует реальной криптографической системе. Например, при
52
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

моделировании принималось, что соединение между передающей и приемной


сторонами происходит по четырем проводам. В реальной криптосистеме связь
должна осуществляться по двухпроводной линии. Кроме того, при
моделировании считалось, что операнды, циркулирующие в криптосистеме,
являются четырехразрядными целыми числами. Диапазоны изменения чисел
составляли 0 M 15 и 0 G 15 . В действующей криптосистеме разрядность
операндов должна быть, по крайней мере, в два раза больше. Кроме того, в
реальной криптосистеме при формировании криптограммы возможно
использование не только целых, но и вещественных чисел.
В разработанной модели было использовано только четыре шифрующие
операции: Исключающее ИЛИ, равнозначность, арифметическое сложение и
вычитание. Имитация смены ключей осуществлялась только для двух таблиц
соответствия значений гаммы и выполняемых операций.
Несмотря на введенные упрощения, модель криптосистемы с
управляемыми операциями шифрования позволила проверить
работоспособность системы, выбрать виды логических и арифметических
операций, имитировать смену сеансового ключа, наметить пути
совершенствования криптосистемы.

Рис. 1.4.3. Принципиальная схема модели криптосистемы

Таким образом, переход от операндов целочисленного вида к


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

53
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Разрядность гаммы определяет максимально возможное число различных


видов операций, используемых при зашифровании открытого текста. При
использовании восьмиразрядной гаммы можно применить до 256 различных
логических, арифметических, математических операций и их комбинаций.

1.5. Многоалфавитный адаптивный шифр, основанный на интегральных


преобразованиях*

А синуса график волна за волной


на ось ординат набегает.
Студенческое творчество

Одноалфавитные шифры не являются криптостойкими из-за имеющейся


статистической устойчивости появления букв в открытом тексте. На рисунке
1.5.1 показана гистограмма распределения частоты появления строчных
русских букв в книге [9]. Гистограмма получена путѐм обработки текста,
содержавшего 1,05 миллиона символов, среди которых было 786 тысяч русских
строчных букв.
Как видно из рисунка 1.5.1. абсолютная частота появления букв
отличается большой неравномерностью, которая позволяет криптоаналитику
успешно произвести дешифрацию длинной криптограммы, созданной методом
одноалфавитной замены. Чаще всего в статистически обработанном тексте
встречались строчные гласные буквы «о», «е», «и», «а». Реже других русских
строчных букв попадались «ш», «э», «ъ», «ѐ». Распределение символов будет
несколько изменяться в зависимости от предметной области, из которой берут
текст, подвергаемый обработке. Так при анализе распределения заглавных букв
было замечено существенное увеличение частоты появления буквы «Э». Это
объяснилось тем, что книга [9] относится к области вычислительной техники, и
в тексте часто встречалось слово «ЭВМ».

Русские строчные

100000
80000
60000
40000
20000
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33

Рис. 1.5.1. Распределение строчных букв в открытом тексте

*Раздел написан совместно с Макаровым М.И.

54
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

На рисунке 1.5.1. по горизонтальной оси отложены порядковые номера


букв в алфавите. По вертикальной оси отложены абсолютные частоты
появления строчных букв в тексте.
Многоалфавитные шифры замены повышают криптостойкость. Тем не
менее, существует возможность взлома и многоалфавитных шифров, которые
продолжают наследовать статистическую картину распределения частоты
появления символов.
На рис. 1.5.2 показаны гистограммы, полученные при шифровании
трехсот букв «А» (рис.1.5.2,а) и трехсот букв «Г» (рис.1.5.2,б)
многоалфавитным шифром, в котором каждой букве ставится только один
интервал замен [10]. Из рисунка видно, что распределения существенно
различаются (у них различные математические ожидания и дисперсии). Это
дает зацепку для успешного криптоанализа.

..
а) б)
Рис. 1.5.2. Гистограммы, иллюстрирующие возможность криптоанализа

Основная идея многоалфавитного адаптивного шифра заключается в


формировании криптограммы в виде равномерной смеси вещественных чисел.
Равномерность распределения чисел криптограммы является одним из
признаков идеального шифра.
Равномерность распределения вещественных чисел в криптограмме
достигается тем, что в процессе шифрования ведѐтся анализ получающегося
распределения чисел шифрограммы. С этой целью непрерывно строится
гистограмма распределения. При этом очередные элементы шифровки
формируются таким образом, чтобы они попали в те места выходного
распределения, где наблюдаются провалы. Возможность изменения
(варьирования) положения очередного элемента криптограммы на числовой оси
имеется благодаря тому, что при шифровании используются многоалфавитная
замена и интегральное преобразование [10]. Алгоритм шифрования таков, что
осуществляется непрерывный анализ выходного распределения и выполняется
такая коррекция (адаптация) шифра, чтобы обеспечить приближение
формируемого множества чисел к равномерному распределению.
Многоалфавитное шифрование предполагает, что каждый символ
открытого текста многократно встречается в таблице замен на различных
участках числовой оси. В таблице 1.5.1 приведен фрагмент некоторой
упрощенной таблицы многоалфавитной замены. При этом считается, что буква
«е» встречается в открытом тексте чаще других, а буква «д» - реже других. По
55
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

этой причине для буквы «е» выделено 6 интервалов многоалфавитной замены, а


для буквы «д» - только 2.

Таблица 1.5.1
Алфавит открытого текста
а б в г д е
[5…6) [2…3 [4…5) [3…4 [1… [6…7
) ) 2) )
[8…9) [10… [11… [7…8 [9… [12…
11) 12) ) 10) 13)
Интервалы
замены

[13…1 [14… [17… [15… - [16…


4) 15) 18) 16) 17)
[18…1 - [21…. [20… - [19…
9) 22) 21) 20)
[23…2 - - - - [22…
4) 23)
- - - - - [24…
25)

Рассмотрим, как осуществляется шифрование с помощью таблицы


многоалфавитной замены (ТМЗ). Предположим, что нужно зашифровать фразу
«где абба». Шифровку можно создать бесконечным числом способов. При этом
каждую букву допустимо заменять любым вещественным числом из указанных
интервалов. Приведем две криптограммы для указанной фразы:
1) 15,33 – 9,101 – 22,99 – 18,06 – 14,57 – 2,331 – 5,064
2) 7,105 – 1,102 – 12,98 – 8,473 – 10,16 – 14,91 – 23,26
В рассматриваемом шифре после многоалфавитной замены
осуществляется интегральное преобразование полученного числа. Это дает
возможность один из пределов интегрирования выбирать по случайному закону
[10]. При этом нужно находить очередной предел интегрирования таким
образом, чтобы формируемое число криптограммы попало в зону наибольшего
провала (в зону глобальной впадины) на гистограмме.
Для шифрования адаптивным (подстраиваемым) шифром необходимо
постоянно решать обратную задачу шифрования: по найденному числу в
выходном распределении (находящегося в зоне глобальной впадины) выбирать
такое значение предела интегрирования, которое обязательно попадет в
заданный интервал гистограммы.
Следующий рисунок иллюстрирует эту идею. После зашифрования
очередного символа гистограмма достраивается (пополняется). На гистограмме
выделяется максимальное значение (пик), минимальное значение (глобальная
впадина) и провалы (локальные впадины). Формирование криптограммы
ведется таким образом, чтобы с максимально возможной степенью выровнять
имеющееся выходное распределение.

56
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис. 1.5.3. Гистограмма выходного распределения


с обозначением введенных понятий

Предположим, что наибольший провал на гистограмме наблюдается в


интервале чисел [ci , ci 1 ] . Пусть при этом для интегрального преобразования
используется некоторая подынтегральная функция f(x):
b
I f ( x ) dx
a

Для того чтобы уменьшить глубину глобальной впадины, генерируется


случайное число a из интервала [ci , ci 1 ] . По таблице многоалфавитной замены
определяется значение интеграла I, которое соответствует шифруемому
символу. По известному значению нижнего предела интегрирования a и
величине интеграла I, находят значение верхнего предела интегрирования b:
b (a, I )
Полученные числа а и b передают в линию. Эти числа являются
элементами криптограммы (шифровкой). Заметим, что пределы
интегрирования можно формировать и в обратном порядке: сначала выбирать
b, а потом вычислять a.
На приемной стороне известны вид использованного интегрального
преобразования (подынтегральная функция) и конфигурация таблицы
многоалфавитной замены. Эти два элемента определяются секретным
сеансовым ключом. Поэтому процесс дешифрации криптограммы не вызывает
затруднений. Он сводится к вычислению определенного интеграла по
известным значениям нижнего и верхнего пределов интегрирования и
определению принятого символа по таблице многоалфавитной замены.
Таким образом, сформированная величина а обязательно попадет в зону
наибольшего провала, а верхний предел интегрирования b случайно окажется в
одной из зон гистограммы.
Величину b также можно приблизить к одной из локальных впадин на
гистограмме (эта величина даже может попасть в зону глобальной впадины).
Для этого нужно произвести расчеты верхнего предела интегрирования b при
57
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

имеющемся значении нижнего предела интегрирования a, поочередно выбирая


допустимые значения интеграла I из таблицы многоалфавитной замены. При
расчете верхнего предела интегрирования b желательно не допустить
попадание этого числа в зону пика гистограммы. Все другие результаты
расчетов являются приемлемыми.

Оценка числа интервалов на гистограмме выходного распределения


Число интервалов k на гистограмме, предназначенной для контроля
выходного распределения, можно оценить по формуле Стержесса [11]:
k 1 3,32lg n , (1)
где n - число элементов (вещественных чисел) в криптограмме.
Таблица 1.5.2 позволяет наглядно представить оценку числа интервалов в
гистограмме k в зависимости от длины (числа символов) зашифрованного
текста n.

Таблица
n 100 1000 10000 100000 1000000 1.5.2
k 7,64 10,96 14,28 17,6 20,92

С учетом того, что при шифровании каждый символ открытого текста s


заменяется двумя вещественными числами ( n 2 s ), то при длине открытого
текста (сообщения) s = 500 символов число интервалов k на гистограмме
оценивается числом 10, 96.

Порядок формирования таблицы многоалфавитной замены


Таблица многоалфавитной замены служит на передающей стороне для
замены символа открытого текста на некоторое вещественное число. Это число
эквивалентно значению определенного интеграла, для которого определяются
значения верхнего и нижнего пределов интегрирования. На приемной стороне
таблица многоалфавитной замены используется для определения значения
принятого символа по величине определенного интеграла, вычисленного с
помощью полученных значений верхнего и нижнего пределов интегрирования.
Таблица является элементом секретного ключа.
Рассмотрим порядок формирования таблицы многоалфавитной замены.
1. Вначале нужно задаться длиной открытого текста, подлежащего
шифрованию. Пусть smax 50000 символов. Тогда число вещественных чисел, из
которых будет состоять криптограмма, n = 100000.
2. По формуле (1) следует оценить число необходимых интервалов на
гистограмме. Для выбранного значения smax число интервалов k = 17,6.
3. Определить общее число интервалов в таблице многоалфавитной
замены t, которое должно быть на один – два порядка больше числа k. Кроме
того, число интервалов в ТМЗ должно быть в 3…4 раза больше числа символов
в алфавите открытого текста. Таким образом, число интервалов в таблице
многоалфавитной замены лежит в пределах 176…1760. Примем t = 1000.
58
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

4. Найти сумму нормированных частот символов открытого текста


r
sg gi .
i 1

Здесь r – число символов в алфавите открытого текста (r = 256 при


использовании всех символов таблицы CP-1251 и r = 33 при использовании
только русских строчных или заглавных букв); g i - нормированная частота.
Нормированные частоты появления символов в открытом тексте g i
получают путем деления абсолютных частот на наименьшее значение
абсолютной частоты.
5. Вычислить число интервалов замен для каждого i-го символа алфавита
открытого текста:
gi t
ti r
gi
i 1

Для примера вычислим число интервалов замен для букв «а» и «б»:
105 1000
78 , t 13 .
619 1000
t a б
7939 7939
5. Задать диапазон (ширину) гистограммы и еѐ положение на числовой
оси. Это означает, что задаются значения amin и bmax (это для случаев, когда
определенный интеграл принимает только положительные значения). Задать
ширину и положение на числовой оси таблицы многоалфавитной замены, то
есть определить значения I min и I max . Перечисленные величины связаны между
собой и соотношения между ними зависят от вида подынтегральной функции:
I max (amin , bmax ) , а I min 0 .
Например, для подынтегральной функции f ( x) x 4 правая граница для
таблицы многоалфавитной замены вычисляется по формуле:
5 5
bm ax am in
I max 5 .
Вычислить ширину одного интервала замен:
I max I min
.
t
Пусть = 0,1.
6. Составить таблицу многоалфавитной замены, в которой ширина
каждого интервала замен равна , а число интервалов замен равно t. Все
интервалы замен образуют непрерывный интервал чисел шириной t . Для
рассматриваемого случая t 0,1 1000 100 . Каждому интервалу замен ставят в
соответствие один из символов алфавита открытого текста. При этом число
интервалов замен для буквы «а» равно t a , для буквы «б» равно t б и т.д.
Интервалы замен для каждого символа располагаются на числовой оси в
случайном порядке.
Конфигурация таблицы многоалфавитной замены является одним из
элементов секретного ключа. Вторым элементом ключа является вид
подынтегральной функции.

59
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Примеры шифрования с помощью адаптивного многоалфавитного


шифра

Пример 1.
Предположим, что в текущий момент времени необходимо зашифровать
букву «в». В качестве первого ключевого элемента используется таблица 1.5.1.
Вторым элементом секретного ключа является вид подынтегральной функции.
Пусть
f ( x) x 4 .
Предположим, что на гистограмме, составленной на предыдущих шагах
шифрования, наблюдается глобальная впадина в диапазоне чисел [7…9).
Для зашифрования буквы «в» по случайному закону из таблицы 1.5.1
выбирается один из четырех интервалов замен. Допустим, что выбран интервал
3, то есть (17…18]. Из этого интервала генерируется случайное число,
например, I = 17,58.
Для заполнения провала на гистограмме генерируется случайное число a
из интервала [7…9). Пусть a = 8,02. С учетом формулы Ньютона-Лейбница для
выбранной подынтегральной функции получаем:
5
b 5 I a5
Расчет верхнего предела интегрирования дает значение: b = 8,0242448.
Таким образом, оба числа a и b попали в зону глобальной впадины.

Пример 2.
Используем в качестве исходных данных числа, приведенные в
предыдущем примере, но другую подынтегральную функцию:
1
f ( x)
x
Для этой функции верхний предел интегрирования вычисляется по формуле:
b exp(I ln a )
b 3,46 108
Приведенные примеры показывают, что при одних видах
подынтегральной функции рассеяние чисел малое, а при других большое.

Выбор вида подынтегральной функции


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

60
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

f ( x) A cos x sin(Bx cosCx) .

Коэффициенты A, B и С можно использовать в качестве элементов


ключа.

Рис. 1.5. 4. График подынтегральной функции

2. Стеганографические методы защиты информации

Стеганографические методы защиты информации ориентированы на


скрытую передачу информации. В качестве переносчиков информации
(контейнеров) могут выступать различные объекты: текстовые документы,
рисунки, фотографии, звуковые файлы и т.п. Число разнообразных контейнеров
велико, их даже сложно перечислить. Внедрение информации в каждый вид
контейнера предполагает использование своего, оригинального метода
сокрытия.

2.1. Сокрытие информации в рисунках и фотографиях

Тайна оставалась то спрятанной под слоем краски,


то зашифрованной в пейзаже на заднем плане.
Дэн Браун

Легче всего проиллюстрировать идею скрытой передачи информации с


помощью фотографий и рисунков. В настоящее время практически у каждого
взрослого человека имеется фотоаппарат (например, встроенный в сотовый
телефон). Число фотографий, ежедневно появляющихся на нашей планете,
оценивается миллиардами штук. Фотографии легко использовать для скрытой
передачи информации, например, с помощью MMS или электронной почты.
Рассмотрим несколько примеров.
На рис. 2.1.1 скрыто слово «ФБТО». Эта аббревиатура означает:
«Факультет Базового Телекоммуникационного Образования». На фотографии
изображены 32 студента (средний ряд), которые сидят в определенном порядке
(в виде матрицы 8х4). Каждая буква закодирована одним байтом (причем
юноши соответствуют логическим единицам, а девушки - нулям).

61
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Первый байт 11010100 (отсчет сверху вниз, слева направо). Эта


комбинация соответствует букве «Ф». Второй байт – 11000001 - буква «Б» и
т.д.
Это же слово на следующей фотографии скрыто несколько иным
способом: единицы – это сидящие студенты, а нули – это пустые места.
Потенциальные возможности сокрытия информации в фотографиях
огромные: можно в качестве отличительных признаков использовать наличие
или отсутствие головных уборов, цвет одежды, положение рук и т.п.

Рис. 2.1.1. На фотографии скрыто слово «ФБТО»

Рис. 2.1.2. Другой способ сокрытия слова «ФБТО»

Информацию можно скрыть, нанеся малозаметные метки на рамке


рисунка. При этом логические единицы и нули заменяются точками разных
цветов. На рисунке 2.1.3,а показана фотография с рамкой. На рисунке 2.1.3,б
изображен левый верхний угол фотографии в увеличенном масштабе. Здесь
хорошо видны внедренные знаки.
Очевидно, что если противнику известно, где размещена скрытая
информация, то извлечение и декодирование сообщения не представляет труда.
Усложнить стеганоанализ можно путем предварительной шифрации
скрываемого текста.
62
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Еще один способ повышения криптостойкости скрытого сообщения


заключается в том, что окрашиваемые пиксели размещают не линейно
(последовательно), а с помощью псевдослучайных чисел. При этом эта
последовательность чисел становится секретным ключом, который известен
только доверенным лицам на передающей и приемной сторонах.

а) б)

Рис. 2.1.3. Сокрытие информации в рамке рисунка

Скрыть секретный текст на фотографии можно, разукрасив определенным


способом лампочки на елочной гирлянде.

Рис. 2.1.4. Информация скрыта с помощью разноцветных лампочек

Скрыть буквы можно с помощью рисунка, у которого фон выглядит в виде


пѐстрой мозаики. При этом скрываемые символы располагаются в
определенных (заранее оговоренных) местах изображения. На следующем
рисунке скрытно передаваемые буквы расположены в углах картинки в виде
искаженной матрицы пикселей. Алгоритм искажения символов определяется
секретным ключом.

63
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис. 2.1.5. Скрытые символы размещены в углах рисунка

В войсках для маскировки военной техники используют маскирующие


сети. Благодаря сетям объекты сложно различить с большой высоты и с
большого расстояния. Эту идею можно использовать для сокрытия информации
в электронных графических контейнерах.
Одна из возможных реализаций может быть выполнена следующим
образом. В графическом редакторе на белом листе пишется секретный текст
буквами определенного цвета. Поверх текста наносится сетка хаотической
формы, причем цвет сетки должен незначительно отличаться от цвета
скрываемых букв (одна из цветовых составляющих R, G, B изменяется на одну
единицу).
На приемной стороне рисунок «проявляют» (извлекают скрытую
информацию). Для извлечения скрытого текста в графическом редакторе
выполняют заливку сетки белой краской. В результате этого сетка исчезает и
проступает секретный текст (см. рис. 2.1.6,б).

а) б)

Рис.2.1.6. Сокрытие текста с помощью маскирующей сетки

При изучении дисциплин специальности «Информационная безопасность в


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

64
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Студентки Н.Жилякова и О.Каравшева (ПГУТИ, группа ИБС-81)


придумали следующие сюжеты и способы сокрытия информации в рисунках.
1. На столе установлено несколько стаканов. Информация скрывается в
цвете напитка. Для кодирования используется азбука Морзе. Например, белый
цвет молока соответствует точке, а черный цвет кофе – тире.
2. На полке расставлены книги. Информация скрывается в цвете обложек
книг. Черный цвет соответствует тире, коричневый – точке, а белый
используется для разделения символов (букв). Информация кодируется с
помощью азбуки Морзе.
3. На деревьях развешаны скворечники. Высота размещения скворечника
определяет скрываемый знак. Высоко расположенный скворечник
соответствует точке, низко расположенный скворечник – тире. Разделение
символов осуществляется с помощью изображения птичьих гнезд.
4. Изображение натюрморта содержит цветные камешки и розы.
Разделяются символы с помощью камней черного цвета.
5. На фотографии изображены нарды. Текст кодируется символами
двоичной системы счисления. Черные шашки – единицы, белые – нули. С
помощью восьми шашек (1 байт) можно зашифровать один символ при
использовании кодировки Windows CP – 1251.
6. На шахматной доске 8×8 стоят фигуры (рис. 2.1.7). Если фигура есть, то
это соответствует «1», а если клетка пустая, то «0». Таким образом можно
записать в каждой строке восемь бит информации.

Рис.2.1.7. Сокрытие текста с помощью шахматных фигур

7. Информация скрывается с помощью изображения лото (рис.2.1.8). Текст


на фотографии зашифрован символами двоичной системы счисления. Бочонки
и ячейки с нечетными числами обозначают единицу, а с четными числами –
нули. Ячейка, закрытая фишкой, не содержит информацию. Биты одной буквы
читаются слева направо, а последовательность байтов (их всего 18) – слева
направо и сверху вниз.
65
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис.2.1.8. Сокрытие текста с помощью лото

Рассмотренные в этом разделе приемы сокрытия информации, пожалуй, не


представляют интереса для профессионалов. Однако этот раздел предназначен
для людей впервые знакомящихся с проблемами защиты информации.
Рассмотренные способы внедрения информации в рисунки должны будить
фантазию, вызывать желание поиска новых способов сокрытия информации,
развивать воображение.
Рассмотрим метод сокрытия информации в растровых многослойных
изображениях, предложенный Макаровым М.И. и Мошура А.А.
На изображение, которое будет использоваться в качестве контейнера, в
растровом редакторе формируют некоторое количество слоев (например, с
помощью программы Adobe Photoshop). В одном из слоев размещают
секретную информацию, например в виде разноцветной мозаики. При этом
скрываемый слой делают прозрачным.
В результате пользователь, открывший передаваемый файл, увидит
некоторое изображение, а не скрытую информацию.

Рис. 2.1.9. Сокрытие информации в многослойном изображении

Расширение передаваемых файлов .psd. Формат файлов разработан


фирмой Adobe, и к настоящему времени с ним работает большинство
популярных программ по просмотру изображений.
66
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2.2. Сокрытие информации в текстовых документах*

Методы сокрытия информации в текстовых документах можно разделить


на несколько видов (см. табл.2.2.1).
Таблица 2.2.1
Метод Описание
Изменение Данный метод имеет несколько
количества разновидностей.
пробелов 1. Внедряемая информация
кодируется одним или двумя
пробелами в конце
предложения.
2. Для сокрытия информации
один или два пробела
добавляются в конце каждой
строки.
3. При внедрении между
каждым словом контейнера
ставится один или два пробела.
4. Кодирование осуществляют
путѐм формирования четного
или нечетного числа символов в
строке.
Синтаксический Метод позволяет скрывать
метод сообщения путем изменения
пунктуации.
Орфографический Скрытое сообщение внедряется
метод с помощью намеренно
сделанных орфографических
ошибок.
Семантический Метод базируется на
метод кодировании информации с
помощью словаря синонимов.
Изменение 1. Изменение кернинга
формата текста (расстояния между соседними
буквами).
2. Изменение ширины отступов
(«красной» строки).
3. Изменение начертания букв
(например, использование для
кодирования латиницы и
кириллицы или изменение
гарнитуры).
4. Изменение интерлиньяжа
67
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

(расстояния между строками).


5. Изменение цвета букв.
6. Изменение размеров символов
(например, точек).
Внедрение Информация скрывается с
информации в помощью непечатаемых
поле символов в поле комментариев
комментариев архива.

_______________________________________________________________
*Раздел написан совместно с Макаровым М.И.

Рассмотрим основную идею методов сокрытия информации путем изменения


числа пробелов в тексте.
Скрываемый текст представляют в двоичном коде (при этом скрываемые
данные целесообразно предварительно зашифровать). Двоичная шифрограмма
внедряется в текст с помощью символов пробела. С помощью одинарного
пробела кодируется ―1‖, а с помощью двойного пробела - ―0‖. Чтобы двойной
пробел визуально не выделялся в текстовом контейнере, он печатается
меньшим размером шрифта относительно текста. Например, весь текст
набирается кеглем 12, а двойной пробел - кеглем 6. В этом методе можно
использовать ключ, который будет указывать, какое множество пробелов
используется для передачи информации, а какое множество является
маскирующим.
Описанный выше прием сокрытия информации может быть несколько
модифицирован. При этом скрываемое сообщение кодируется символами
пробел и неразрывной пробел, которые в текстовых документах выглядят
одинаково.
Далее обсудим метод внедрения информации, который реализуется путем
изменения пунктуации в тексте. В русском языке существуют равнозначные
способы пунктуации, с помощью которых можно кодировать скрываемый
текст. Например, точка с запятой ставится между независимыми
предложениями, объединяемыми в одно сложное предложение без помощи
союзов. Однако точку с запятой можно заменить на запятую с
соответствующим союзом. Таким образом, первый вариант построения
предложения будет соответствовать ―1‖, а второй ―0‖.
Например, предложения ― Между тем стемнело; свечи у него не было, да и
в голову не приходило ему зажигать‖ и ― Между тем стемнело, и свечи у него
не было, да и в голову не приходило ему зажигать‖.
Семантический метод базируется на кодировании информации с помощью
словаря синонимов. Например, с помощью слова ―напрасно‖ кодируется ―1‖, а
с помощью его синонима ―зря‖ – ―0‖. Словари синонимов могут содержать
10000 и более синонимов [21].
Рассмотрим орфографический метод сокрытия информации в тексте с
помощью намеренного внесения ошибок в текст. Ошибки распределяются по
68
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

тексту в соответствии с ключом, который определяет слова, которые нужно


проверять на орфографию. При наличии ошибки, считываемое значение кода
равняется 1, при отсутствии – 0.
Фирма Amazon, занимающаяся продажей электронных книг,
зарегистрировала патент на метод [22], по которому в каждой проданной
электронной книге внесены небольшие уникальные изменения. Такой
идентификатор позволяет определить пользователя, незаконно
распространяющего книгу.
Проанализируем порядок внедрения информации путем изменения
формата текста.
Двоичная шифрограмма кодируется с использованием символов
одинакового начертания (например, латиницы и кириллицы). Пусть символы
кириллицы соответствуют ―1‖ , а символы латиницы – ―0‖. Перечислим
одинаковые по начертанию символы кириллицы и латиницы: е, к, х, а, р, о, с, E,
T, O, P, A, H, K, X, C, B, M.
Для кодирования можно использовать символы, имеющие одинаковые
начертания в разных гарнитурах. Например, знаки «точка» и «тире» в
гарнитурах Times New Roman и Arial выглядят одинаково.
Сокрытие можно осуществить с помощью стандартных средств
форматирования – изменения интерлиньяжа (расстояния между базовыми
линиями соседних строк), кернинга (размера межбуквенного пробела).
Еще один прием скрытой передачи информации – это малозаметное
изменение цвета символов. Изменение на один младший разряд значения
цветовой составляющей RGB остаѐтся для пользователя незамеченным.
Например, черные символы в кодировках R00G00B00 и R01G00B00 выглядят
одинаково (здесь изменѐн младший разряд красной составляющей цвета).
В текстовом редакторе Word 2007 компания MicroSoft перешла на новый
формат текстовых файлов. Основная особенность формата заключается в том,
что он является Zip архивом, в котором содержатся XML файлы (расширяемый
язык разметки) и графические файлы.
Внедрение скрываемого текста осуществляется следующим образом.
Файл с расширение .docx открывается архиватором и двоичная
шифрограмма в виде непечатаемых символом (табуляция – ―1‖, пробел – ―0‖)
внедряется в окно комментариев к архиву (см. рис. 2.2.1).

69
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис.2.2.1. Окно комментариев


Информацию можно скрывать с помощью имен папок, формируемых
определенным образом. На рис.2.2.2. информация скрыта с помощью
бинарного имени папки.

Рис.2.2.2. Сокрытие информации в названии файла

Еще один способ сокрытия информации заключается в том, что


шифрограмма записывается в xml файл, который помещается в архив. Так как в
документе на него нет ссылок, то никакая информация не отображается.
Следующий алгоритм сокрытия текста заключается в том, что
закодированное непечатаемыми символами сообщение, помещается после
закрывающего тега в нескольких xml-файлах. Таким образом осуществляется
пространственное распыление текста внутри контейнера.

70
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис.2.2.3. Сокрытие информации в xml-файлах

Сокрытие информации в файлы формата PDF


PDF – кроссплатформенный формат электронных документов,
поддерживающий растровую и векторную графику, внедрение шрифтов,
шифрование текста. Формат широко распространѐн в полиграфическом и
издательском деле. Внешне документ выглядит как журнальная или газетная
статья, содержащая фотографии, текст и графику.
Фактически формат PDF - это текстовые файлы с собственным
протоколом. Далее будут рассматриваться только те особенности формата PDF,
которые можно применять для скрытой передачи информации.
В PDF файле есть закрывающий тег (по типу закрывающего тега в языке
HTML), называющийся %EOF. Введя непечатаемые символы пробела и
табуляции можно кодировать информацию. Такое внедрение не влияет на
отображаемый документ.

Рис. 2.2.4. Внедрение информации после закрывающего тега

Рассмотрим еще один способ сокрытия информации в текстовых


документах формата PDF.
Формат PDF строится из блоков, состоящих из ключевых слов. Между
ключевыми словами можно вставлять непечатаемые символы, не опасаясь
разрушения внешнего вида документа.

Рис. 2.2.5. Внедрение информации между ключевыми полями


71
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Еще один способ сокрытия информации заключается в использовании


словаря.
PDF-файл представляет собой структуру следующего вида:

<header>
<body>
<cross-reference table>
<trailer>.

Заголовок (header) описывает служебную информацию.


Рассмотрим подробнее структуру тела файла (body). Оно состоит из
последовательности объектов (object), идентифицируемых двумя числами -
номером объекта (object number) и номером поколения (generation number).
Объекты состоят из потока данных (stream data) и словаря потока (stream
dictionary). Словарь содержит описание атрибутов объекта. Словарь указывает,
что собой представляет объект: графическое изображение, текст, шрифты,
зашифрованы они или нет и, если зашифрованы - то по какому алгоритму.
Таблица перекрестных ссылок (cross reference table) связывает номера объектов
с их позицией в файле.
Таким образом можно шифровать информацию с помощью собственного
словаря и скрывать еѐ в номере объекта. Например, можно создать словарь
соответствия: 1500 = ―Здравствуйте!‖, 1501 = ―Дорогие‖, 1502 = ―друзья‖.
Включив в документ объекты, имена которых соответствуют словарю, и не
несут информации для вывода на экран, можно скрыто передавать
информацию.

1500 0 obj
<<
/Length 77
>>
endobj

1501 0 obj
<<
/Length 77
>>
endobj

1502 0 obj
<<
/Length 77
>>
endobj
72
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис.2.2.6. PDF документ с внедренными объектами

Формат RTF
RTF – текстовый формат, разработанный фирмой Microsoft. Текстовый
документ в этом формате представляет собой последовательность
управляющих слов, указывающих правила отображения, и текста документа.
Управляющие слова выделяются знаком обратной косой черты ―\‖. Например,
управляющее слово ―\b‖ выделяет текст жирным шрифтом. Для указания
фрагмента текста, к которому нужно применить одинаковое форматирование,
используются фигурные скобки. Например, ―{/b Выделенный жирным текст}‖.
Однако некоторые управляющие слова могут быть сформированы с помощью
повторной записи управляющего слова с параметром 0. Например ―/b
Выделенный жирным текст/b0‖
Это позволяет скрывать информацию с помощью открывающих и
закрывающих слов, между которыми нет никакого текста для вывода
информации. Число подряд идущих таких пар кодируют один разряд
трехзначного числа, которое является значением символа из кодовой таблицы
CP-1251.

Рис. 2.2.7. Пример сокрытия информации в RTF документ

73
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2.3. Сокрытие информации в субтитрах фильма*

Многие мультимедиа файлы, размещенные в Интернете, имеют своих


владельцев. Использование стеганографических методов внедрения
информации, позволяет решить актуальную проблему: сохранение авторства на
созданную мультимедийную продукцию (например, права на фильм).
Мультимедийные файлы обладают большой избыточностью, поэтому
позволяют организовать скрытый канал связи с достаточной пропускной
способностью. Для сокрытия информации в субтитрах можно использовать
приемы, рассмотренные в разделе 2.2. Сокрытие информации в текстовых
документах.
Детально обсудим особенности внедрения информации в субтитры
фильма.
Первый метод сокрытия информации в субтитрах
Рассмотрим методы сокрытия информации в субтитрах видео фильма.
Первыми широко применяемыми стандартами кодирования видео были
MPEG 1 и MPEG 2. Стандарт MPEG 1 применялся для записи на дисках
формата VideoCD (устаревший на данный момент времени). Стандарт MPEG 2
использовался для записи на диски DVD. В перечисленных форматах субтитры
встраиваются в видеопоток, что усложняет редактирование субтитров.
Поскольку эти форматы разрабатывались для обеспечения совместимости с
аппаратными средствами просмотра (например, DVD-кинотеатром или игровой
приставкой Sony PlayStation), то работа со встроенными в них субтитрами на
программном уровне существенно ограничена.
Кроме перечисленных стандартов можно отметить следующие форматы:
ASF, AVI и Matroska. В них применяется ряд видео кодеков, популярнейшими
из которых являются представители семейства стандарта MPEG-4. Они
позволяют помимо так называемых hard субтитров (те которые встроены в само
видео) подключать и soft субтитры (они хранятся в отдельном файле).
Рассмотрим пример скрытой передачи в субтитрах слова ―Секрет‖.
Каждый символ скрываемого слова должен быть преобразован в двоичное
число в соответствии с таблицей CP-1251.

__________________________________________________________________
*Раздел написан совместно с Макаровым М.И. и Батаевым А.Ф.

74
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Таблица 1
Символ Десятичное Двоичное
значение значение
С 209 11010001
е 229 11100101
к 234 11101010
р 240 11110000
е 229 11100101
т 242 11110010

Затем логические единицы следует заменить на символы табуляции, а


логические нули - на пробелы. Преобразованное таким образом сообщение
нужно поместить в файл формата Srt.

Рис. 2.3.1. Слева - субтитры со скрытой информацией.


Справа – тот же документ, но с отображением спецсимволов

Рассмотренный метод сокрытия информации в субтитрах основывается на


добавлении невидимых символов после сообщений, выводимых на экран. На
рис.2.3.1 изображен текст со скрытой информацией, а на рис. 2.3.2 показан кадр
из фильма с вложением.

75
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис.2.3.2 Кадр со скрытой информацией

После текста, отображенного на экране, содержится скрытый текст,


закодированный невидимыми на экране символами. Для усложнения
обнаружения скрытого канала связи вложения можно размещать через
определенное число субтитров.
Секретным ключом является порядковый номер субтитра, после которого
находится скрытая информация. Таким способом в одном фильме можно
скрытно передать текст объемом в несколько килобайт.
У рассмотренного метода есть недостаток – некоторые программы
воспроизведения субтитров (например, BSPlayer) отображают и непечатаемые
(невидимые) символы. В результате этого происходит искажение
изображаемого на экране текста субтитров.
Этот недостаток устраняется путем побитного вложения скрываемого
сообщения. Для этого после каждого выводимого на экран сообщения
помещается всего один невидимый символ, который если и будет
воспроизведен, то не воспринимается зрителем как искажение текста.
Для повышения криптостойкости скрываемая информация размещается не
после каждого субтитра. Извлечение скрытой таким образом информации
происходит с помощью секретного ключа. Каждый субтитр, выводимый на
экран, имеет свой порядковый номер. Это позволяет составить ключ,
указывающий положение отдельного бита скрываемого сообщения. Например,
после каждого пятого субтитра помещается один неотображаемый на экране
символ (табуляция или пробел).
Расчѐт числа передаваемых восьмибитовых символов в одном фильме
производится по формуле:
n
c ,
8 k

76
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

где с – количество скрытно передаваемых символов, n - число субтитров в


фильме, k – ключ. Пусть ключ задан числом 4, это значит, что после каждого
четвѐртого субтитра находится один скрываемый бит. Недостатком этого
метода является резкое сокращение объѐма скрытого текста. В среднем
субтитры полуторачасового фильма содержат 1000 сообщений. Указанный в
примере ключ, позволяет скрыть 1000 / 4 = 250 бит, что в восьмибитовой
кодировке CP-1251 соответствует примерно 31 символу.
Второй метод сокрытия информации в субтитрах
В файле субтитров время показа текста записывается в формате: часы,
минуты, секунды, миллисекунды. Изменение момента демонстрации субтитров
в пределах от 1 до 9 миллисекунд не будет заметным для зрителя. Это
объясняется психофизическими особенностями людей. При этом появляется
возможность скрыть необходимую информацию.
Пример.
Пусть ключ равен 5. Это значит, что после считывания трех десятичных
чисел следующие пять чисел не будут содержать скрытой информации. В
соответствии с кодовой таблицей СР-1251 символы открытого текста
принимают значения от 0 до 255. При этом каждый символ кодируется всегда
тремя десятичными числами. Старшие неиспользуемые разряды заполняются
нулями.
Зашифруем слово «Секрет».

Рис. 2.3.3. Вложение информации во временные метки субтитров

На рисунке 2.3.3 в первом и втором субтитрах три цифры, расположенные


в тысячных долях секунды (2, 0 и 9), образуют число 209. С помощью этого
числа скрыт символ ‖С‖. В пятом и шестом субтитрах скрыт символ ‖е‖ и т.д.
через каждые пять значений.

77
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Расчѐт числа передаваемых восьмибитовых символов проводится по


формуле:
2 n
c ,
3 k
где с – количество скрытно передаваемых символов, n – число субтитров в
фильме, k – ключ (он показывает сколько временных меток нужно пропустить,
так как они являются неинформационными). Как уже отмечалось, в среднем за
полуторачасовой фильм отображается 1000 текстовых сообщений. В них
содержится 2000 значений тысячных долей секунды. Для вложения сообщений
можно использовать время начала и конца показа сообщения. Так как один
символ кодируется тремя десятичными цифрами, то в фильме можно скрыть
более 600 символов. Применение ключа уменьшает объем скрываемой
информации. Так при шифровании с помощью ключа равного 7, файл
субтитров может содержать 200 скрытых символов.
Увеличение размера передаваемого сообщения в субтитрах и снижение
риска его дешифрации можно осуществить применением криптографического
метода шифрования с помощью словаря [18]. Для этого составляется словарь
соответствия слов и числовых значений. Такой словарь должен быть у
доверенных лиц как на передающей, так и на принимающей стороне. С
помощью словаря во временных метках можно скрыть не один символ, а целое
слово или даже фразу. Кроме того, шифровать сообщения можно и методом,
основанном на невидимых символах. Отличие будет состоять в том, что
зашифрованными числами будут не значения, взятые из таблицы кодировки, а
числа из словаря.

Рис.2.3.4. Программа FoxTeaSamara

Для сокрытия информации в субтитрах написана программа


FoxTeaSamara, которая реализует метод сокрытия информации в младших
разрядах временных меток. Программа составлена на языке C# и может
применяться как инструмент цифровой подписи.
Третий метод внедрения сообщения в субтитры
78
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

В данном методе сокрытия сообщений используют имеющиеся пустые


строки в файле с субтитрами формата SRT. Пустые строки в таких файлах
располагаются перед номерами реплик. В эти пустые строки записывают
трехразрядный десятичный код скрываемой буквы (символа). Для скрытого
внедрения информации используют символы табуляции, пробела и
неразрывного пробела. Символ табуляции применяют для кодирования числа
сотен, пробел - для кодирования числа десятков, а неразрывной пробел – числа
единиц. Например, чтобы закодировать число 234 нужно внедрить два символа
табуляции, три пробела и четыре неразрывных пробела.
Извлечение вложения осуществляется следующим образом.
Находят строку с вложением.
Подсчитывают число символов каждого вида.
Определяют код вложенного символа.
Устанавливают значение вложенного символа.
На рис. 2.3.5 показаны места внедрения информации в субтитрах (они
выделены овалами). Для сокрытия информации в субтитрах с помощью
третьего рассмотренного метода была написана программа DragonSamara.
Программа составлена на языке Delphi.

Рис.2.3.5. Субтитры со скрытым сообщением

79
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2.4. Основные понятия


аналого-цифрового преобразования

Современные технологии сбора, преобразования, хранения и передачи


информации базируются на цифровых способах обработки информации.
Современные вычислительные машины, фотоаппараты, видеокамеры,
телефоны, магнитофоны являются цифровыми. Эти устройства работают с
цифровыми сигналами двух уровней: сигналом высокого уровня (его условно
называют логической единицей) и сигналом низкого уровня, который именуют
логическим нулѐм.
Всѐ разнообразие результатов, получаемых цифровыми устройствами
(звуки, изображения, фильмы, результаты вычислений и т.д.), складывается из
бесчисленных преобразований цифровых сигналов.
Следует помнить, что исходные сигналы (существующие в окружающем
мире, а не искусственно созданные человеком) имеют аналоговую
(непрерывную) природу. Освещенность небосвода на рассвете при бесконечно
малом изменении времени изменяется на бесконечно малую величину. Уровень
шума водопада может варьироваться на очень малую величину. Смещение
улитки при еѐ движении происходит плавно, а не дискретно.
Непрерывная форма информации характеризует процесс, который не
имеет перерывов и теоретически может изменяться в любой момент времени и
на любую величину.
В отличие от аналогового цифровой сигнал может варьироваться лишь в
определенные моменты времени и принимать лишь заранее обусловленные
значения (например, только значения напряжений 0 и 3,5 В). Моменты
допустимого изменения уровня цифрового сигнала задает тактовый генератор
конкретного цифрового устройства.
Для преобразования звукового аналогового сигнала в цифровой сигнал
требуется провести дискретизацию непрерывного сигнала во времени,
квантование по уровню, а затем кодирование отобранных значений. Таким
образом, при преобразовании аналогового сигнала в цифровой сигнал
неизбежно должно происходить небольшое искажение сигнала, так как
потребуется округление цифрового сигнала до ближайшего допустимого
значения.
Длинная сплошная линия, снимаемая цифровым фотоаппаратом, с
помощью дискретной светочувствительной матрицы, превращается во
множество близкорасположенных точек. Непрерывное движение объекта при
видеосъемке заменяется конечным числом быстро чередующихся кадров.
Дискретизация — замена непрерывного (аналогового) сигнала
последовательностью отдельных во времени (или в пространстве) отсчетов
этого сигнала. Наиболее распространена равномерная дискретизация, в основе
которой лежит теорема Котельникова.
На рисунке 2.4.1 схематично показан процесс преобразования аналогового
(например, звукового) сигнала в цифровой сигнал. Подобный аналоговый
сигнал можно наблюдать на выходе микрофона при записи речи,
80
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

фоточувствительного элемента при изменении освещенности, датчика давления


перед грозой и т.д.

Рис. 2.4.1. Схема преобразования аналогового сигнала в цифровой

Цифровой сигнал в данном случае может принимать лишь пять различных


значений по уровню. Естественно, что качество такого преобразования
невысокое (погрешность велика). Из рисунка видно, что изменение цифрового
сигнала возможно лишь в некоторые моменты времени (в данном случае этих
моментов одиннадцать).
После такого преобразования непрерывный сигнал представляют
последовательностью чисел. Показанный на рисунке непрерывный сигнал
заменяется числами 2-3-4-4-4-3-2-2-3-4-4. Десятичная система счисления в
рассматриваемом примере использована лишь для большей наглядности.
Фактически аналоговый сигнал преобразуют в последовательность единиц и
нулей. Результаты данного преобразования можно представить таблицей 2.4.1.
В данном случае цифровые сигналы представлены четырьмя разрядами
двоичных чисел. Очевидно, что, чем больше разрядов у двоичных чисел (а
значит, тем больше число уровней квантования) и чем чаще во времени
осуществляются отсчеты (выборки), тем точнее будет преобразован
непрерывный сигнал в цифровой.
С другой стороны очевидным является тот факт, что замена непрерывного
быстро изменяющегося сигнала дискретным и квантованным будет
сопровождаться появлением искажений (возникновением шумов).

Таблица 2.4.1
Десятичны
Двоичные
Время е
числа
числа
t1 2 0010
t2 3 0011
t3 4 0100
t4 4 0100
t5 4 0100
81
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

t6 3 0011
t7 2 0010
t8 2 0010
t9 3 0011
t10 4 0100
t11 4 0100

Помимо шумов, создаваемых аналого-цифровым преобразователем, шумы


в цифровом сигнале появляются по многим другим причинам.
Электромагнитные эфирные помехи (действующих при записи сигнала),
изменение напряжения в сети электропитания записывающей аппаратуры,
дыхание певца или певицы в момент записи песни, дрожание фотокамеры или
быстрое смещение снимаемого объекта, изменение цвета сканируемой
страницы, шумы электронных приборов (матрицы) приводят к тому, что
последний бит цифрового сигнала изменяется по случайному закону.
При цифровой аудиозаписи используется процесс выборки,
заключающийся в периодическом измерении уровня (громкости) аналогового
звукового сигнала (например, поступающего с выхода микрофона) и
превращении полученного значения в последовательность двоичных чисел.
При сканировании, фото- и видеосъемке дискретизация осуществляется за
счет дискретной (точечной) конструкции светочувствительных матриц.
Для преобразования аналогового сигнала в цифровой используется
специальный конвертор, называемый аналогово-цифровой преобразователь
(АЦП). Сигнал на выходе АЦП представляет собой последовательность
двоичных чисел, которая может быть записана на лазерный диск, отправлена по
сети другому корреспонденту. Обратная конверсия цифрового сигнала в
непрерывный сигнал осуществляется с помощью цифроаналогового
преобразователя (ЦАП).

Рис. 2.4.2. Схема передачи аналогового сигнала

Качество аналогово-цифрового преобразования характеризует параметр,


называемый разрешением. Разрешение — это количество уровней
квантования, используемых для замены непрерывного аналогового сигнала
цифровым сигналом. Восьмиразрядная выборка позволяет получить только 256
различных уровней квантования цифрового сигнала, а шестнадцатиразрядная
выборка — 65 536 уровней.
82
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Еще один показатель качества трансформации непрерывного звукового


сигнала в цифровой сигнал — это частота дискретизации — количество
преобразований аналог-цифра (выборок), производимое устройством в одну
секунду. Этот показатель измеряют килогерцами (килогерц — тысяча выборок
в секунду). Типичное значение частоты дискретизации современных лазерных
(оптических) аудиодисков — 44,1 кГц.
Преобразование аналогового изображения в цифровой сигнал происходит
в фотоаппаратах, видеокамерах, сканерах с помощью матрицы, содержащей
несколько миллионов светочувствительных элементов.
Рассмотренный принцип преобразования непрерывного сигнала в
цифровой показывает, что цифровой сигнал содержит шумы, которые
проявляются в практически случайном изменении последнего бита цифрового
отсчета.
Это дает возможность скрытно передавать информацию в электронных
контейнерах за счет внедрения информации в последний малозначимый бит
цифрового отсчета.

2.5. Сокрытие информации в электронных контейнерах

Тело не контейнер, не «дом» для души;


душа – контейнер для тела.
Уолш Нил Доналд
Беседы с Богом (необычайный диалог)

Стеганография — это наука, изучающая такие методы организации


передачи секретных сообщений, которые скрывают сам факт передачи
информации.
Криптография превращает открытый текст в нечитаемый набор символов
(шифрограмму). Шифрограмма передается по открытому каналу связи, и
защита информации держится на сложности побора секретного ключа. Факт
передачи криптограммы не скрывается от противника.
Стеганография нацелена на сокрытие факта передачи информации.
Сообщение (его называют вложением) помещают (внедряют) в контейнер, вид
которого практически не изменяется от сделанного внедрения.
Скрываемое сообщение помещается внутри безобидного на вид
контейнера таким образом, чтобы постороннему наблюдателю было бы сложно
заметить наличие встроенного тайного послания. Контейнерами могут быть
чемодан с двойным дном, монета с отворачивающейся крышкой, почтовая
марка с микроплѐнкой, письмо, написанное симпатическими чернилами.
В данной работе рассматриваются электронные контейнеры (файлы),
которые хранят (содержат) текстовую, графическую, звуковую, видео и другую
информацию.
Все контейнеры можно разделить на контейнеры-оригиналы и
контейнеры-результаты. Контейнер-оригинал (или «пустой» контейнер) —
83
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

это контейнер, который не содержит скрытой информации. Контейнер-


результат (или «заполненный» контейнер, стего) — это контейнер, который
содержит скрытую информацию. Под ключом понимается секретный элемент,
который определяет порядок занесения (внедрения) сообщения в контейнер.
Все контейнеры могут быть разделены на два типа: статические и
динамические. Статические контейнеры могут быть использованы как для
скрытого хранения информации, так и для еѐ скрытой передачи. Примером
может служить цифровая фотография. Динамические контейнеры могут быть
использованы только для скрытой передачи информации. В качестве примера
можно назвать пакеты, передаваемые по протоколу TCP/IP.
Число разнообразных контейнеров и методов внедрения вложений велико.
Многие приемы сокрытия информации основываются на «обмане» органов
чувств человека. При сокрытии информации в графических и видео файлах
изменения кадров столь незначительны, что глаз человека не регистрирует эти
изменения.
При сокрытии информации в текстовых документах умышленно
выбирают цвета символов и бумаги одинаковыми (скажем, зелѐные). В
электронных документах используют невидимые (непечатаемые) символы
(пробел, табуляцию).
В звуковых Midi-файлах незначительно изменяют длительности звучания
нот и за счет этого скрывают передаваемое сообщение. При вложении
информации в аудио файлы изменения контейнера не должны
регистрироваться слухом человека.
Однако такие требования к степени сокрытия информации могут
использоваться лишь в простейших случаях. При передаче ценной
конфиденциальной информации сделанные вложения не должны
обнаруживаться даже с помощью специальных программно-аппаратных
средств и профессиональных алгоритмов стегоанализа (например, с помощью
статистического анализа контейнеров).
Упрощенно идею стеганографии иллюстрирует рисунок 2.5.1.
Приведенный рисунок нужно трактовать так. Добавление в рисунок
скрываемого текста практически не изменяет рисунок. В данном случае
контейнером служит графическое изображение.
Обычно размеры контейнера в несколько раз превышают объем
встраиваемых в них сообщений. Колоссальные объемы HTML-страниц,
графических, текстовых, звуковых и видео файлов, хранящихся на серверах
Интернета, позволяют практически неконтролируемо и незаметно
обмениваться секретной информацией между пользователями, находящимися в
разных точках земного шара.

84
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

+ Текст
=
Рис. 2.5.1. Внедрение скрытого сообщения в рисунок

Рассмотрим пример сокрытия информации в текстовых документах.


Следующая фраза на первый взгляд посвящена описанию природы:

Среди темных елей гроздьями алели небольшие островки густой


рябины – абсолютно фантастические, изумительно яркие.

Тем не менее, предыдущий текст — это всего лишь контейнер, в котором


студентка Виктория Подольская запрятала секретное слово стеганография
(нужно читать только первые буквы каждого слова). Подобным образом можно
передавать различные скрытые сообщения. Сходная идея используется в
акростихах [12].
Акростих — стихотворение, в котором начальные буквы строк составляют
слово или фразу.
В следующем стихотворении поэт Николай Гумилѐв поместил имя
любимой женщины - Анны Ахматовой.
Ангел лег у края небосклона.
Наклонившись, удивлялся безднам.
Новый мир был синим и беззвездным.
Ад молчал, не слышалось ни стона.
Алой крови робкое биение,
Хрупких рук испуг и содроганье.
Миру снов досталось в обладанье
Ангела святое отраженье.
Тесно в мире! Пусть живет, мечтая
О любви, о грусти и о тени,
В сумраке предвечном открывая
Азбуку своих же откровений.

Известны исторические примеры, когда для сокрытия факта передачи


информации сообщение писали молоком между строк готового письма
(симпатические чернила). После нагревания листка с невидимым текстом над
открытым пламенем свечи появлялся текст. В приведенном примере
контейнером для передачи скрытого сообщения служило безобидное бытовое
письмо с описанием каких-то повседневных подробностей. Но ценная
информация была записана между строк и на беглый взгляд цензоров была
незаметна.

85
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Хрестоматийным стал пример передачи скрытой информации,


использованный в древности. Рабу брили голову, делали татуировку на голове,
ждали, когда вырастут волосы, и отправляли раба в назначенное место. В месте
приема информации его опять брили и читали секретное сообщение.
Контейнером служила курчавая голова человека. Почта в те времена работала
неспешно.
При шифровании сообщений методами компьютерной стеганографии
часто используют информацию, запрятанную в последнем (наименьшем)
значащем бите LSB (Last Significant Bits). В отечественных публикациях для
его обозначения используют аббревиатуру НЗБ (наименьший значащий бит).
При цифровом представлении графики и звука последний бит контейнера
считается (является) малозначимым, часто изменяющимся по случайному
закону. Шумы, возникающие при аналого-цифровом преобразовании звука и
изображения (шумы квантования), случайным образом изменяют последний
бит каждого отсчета.
Рассмотрим простейший учебный пример.
Предположим, что имеется последовательность двоичных чисел (8 байт),
отображающих в цифровом виде какой-то графический образ в формате BMP:
10100001-10101110-11010110-11001110-
11000111-11001010-11010110-11101101

В данном примере каждое число файла-контейнера представлено восьмью


битами информации. Во многих случаях последний бит может быть
безболезненно изменен, и пользователь не заметит произошедшей подмены.
Например, при вариации младшего бита невозможно визуально заметить
отличия в цветной графической картине, где каждый пиксель представлен
двадцатью четырьмя битами. Также нельзя на слух уловить изменения,
происходящие в звуковом файле с 16-ти битным квантованием по уровню.
Предположим, что в приведенный выше фрагмент двоичных чисел
(контейнер) необходимо «запрятать» русскую букву «А», представленную с
помощью кодовой таблицы CP-1251. Десятичное представление буквы «А»
имеет вид 192D, а двоичное — 11000000B.
Модифицируя имеющийся блок двоичных чисел, поместим в контейнер
двоичное число 11000000В. При этом 8 бит файла-сообщения записываются в 8
чисел файла-контейнера:

10100000-10101110-11010110-11001110-11000110-11001010-11010111-
11101101

Эта же процедура внедрения скрытой информации иллюстрируется


следующей таблицей. Заметим, что здесь буква «А» записана, начиная с
младших битов.

86
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

В отличие от акростихов (где информация запрятана в первых буквах


каждого слова), здесь информативными являются последние биты каждого
байта.
Таблица 2.1.
Пиксель 1 Пиксель 2 Пиксель 3
R G B R G B R G B
Байт Байт Байт Байт Байт Байт Байт Байт Байт
1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 1 1 …

0 0 0 0 0 0 1 1 Биты
Как уже отмечалось, число разновидностей электронных контейнеров
велико. Рассмотрим, как с помощью Web-страницы, размещенной в Интернете,
передать секретную информацию.
Идея сокрытия состоит в следующем.
Буквы заменяют числами в соответствии с кодовой таблицей CP-1251.
Числа переводят из десятичной системы счисления в двоичную. Скрываемый
текст размещают после закрывающего тега html, причем вместо единиц
записывают пробелы, а вместо нулей — символы табуляции.
Предположим, что нужно секретно передать через Интернет слово «Щит».
Буквам этого слова соответствуют три десятичных числа: 217, 232 и 242. В
двоичной системе счисления эти числа будут выглядеть так: 11011001,
11101000, 11110010.
Заменив единицы и нули соответственно на пробелы и символы
табуляции, скрытый текст размещают на веб-странице ниже последнего тега.
Увидеть закодированный текст можно с помощью текстового редактора MS
Word, включив режим "Непечатаемые знаки".
В качестве примера рассмотрим HTML-код простейшей веб-страницы.

<html>
<head>
<title> Пример сокрытия текста на Web-странице</title>
</head>
<body>
Простейшая Web-страница
</body>
</html>

87
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Если текст HTML-кода загрузить в редактор MS Word, можно увидеть


скрытую информацию:

Последние три строки содержат секретную информацию, причем пробелы


отображаются здесь точками, символ табуляции — стрелкой. Символ ¶
является служебным и обозначает конец абзаца и перевод строки.
Очевидно, что криптостойкость созданного секретного канала можно
усилить дополнительным использованием криптографических преобразований
исходного текста.
Рассмотрим еще один способ сокрытия информации на носителях,
использующих файловую систему FAT. Запись файлов на диск при
использовании FAT всегда осуществляется фиксированными порциями —
кластерами. Кластер в свою очередь состоит из более мелких блоков —
секторов. Количество секторов в кластере и байтов в секторе определяется при
подготовке диска к использованию. Типичные параметры для системы FAT16
таковы: каждый сектор состоит из 512 байтов, кластер состоит из 4 секторов.
Таким образом, любой файл записывается фиксированными порциями по 2048
байт. Объем файлов, хранящихся на диске, в большинстве случаев не кратен
размеру кластера. Эта ситуация показана на рисунке 2.5.2, где изображен
кластер диска, занятый под хранение файла:

Место, занимаемое
Неиспользуемое место
файлом

Рис. 2.5.2. Кластер диска с файловой системой FAT

Часть дискового пространства остается неиспользованной, хотя и


выделена под хранение файла. Это место не может использоваться для
хранения других файлов. Например, для хранения файла объемом 1 байт на
носителе с файловой системой FAT16 с типичными параметрами операционная
система выделит 2048 байт дискового пространства. Именно в этих
выделенных, но неиспользуемых частях диска можно скрыто хранить (и
передавать вместе с носителем) секретную информацию, причем скрытые
данные также могут занимать не все свободное пространство:
88
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Место, занимаемое Секретные Неиспользуемое


файлом данные место

Рис. 2.5.3. Схема хранения скрытых данных в кластере

Работая с файлом, операционная система отсекает неиспользуемую часть


последнего кластера, который этот файл занимает. Этим обеспечивается
секретность такого способа встраивания информации.
Рассмотренный метод скрытого хранения информации сейчас является
актуальным в связи с широким распространением накопителей, использующих
файловую систему FAT (это flash-накопители, flash-карты цифровых
фотокамер, компактные MP3-плееры и т. д.). Существенным недостатком
такого способа сокрытия является низкая устойчивость к манипуляциям с
диском. В большинстве случаев для существенного искажения и даже
уничтожения скрытой информации достаточно провести дефрагментацию
диска. Вместе с тем, создание новых файлов, а также правка имеющихся
документов без изменения их размера никак не влияют на внедренные данные.
Рассмотрим практический пример внедрения информации в графическое
изображение в формате Windows Bitmap.

Рис. 2.5.4. Пустой контейнер (изображение увеличено)

Дамп файла изображения выглядит следующим образом:

00000000: 42 4D 98 00 00 00 00 00 | 00 00 36 00 00 00 28 00
00000010: 00 00 0A 00 00 00 03 00 | 00 00 01 00 18 00 00 00
00000020: 00 00 62 00 00 00 12 0B | 00 00 12 0B 00 00 00 00
00000030: 00 00 00 00 00 00 2D 34 | BD 41 49 C3 59 5E CB 70
00000040: 74 D2 87 8C DA 9F A2 E1 | B6 B8 E8 CB CD EF DE E0
00000050: F5 EE EF FA 00 00 26 2E | BB 3B 42 C1 50 57 C9 68
00000060: 6E D0 7F 84 D7 97 9B DE | AF B1 E6 C4 C6 EC D8 D9
00000070: F3 EA EB F8 00 00 21 29 | B9 33 3B BF 49 4F C6 60
00000080: 66 CD 77 7C D5 8F 93 DC | A7 AA E3 BD BF EB D2 D4
00000090: F1 E4 E5 F6 00 00 00 00

Рис. 2.5.5. Дамп файла изображения

Данные в диапазоне шестнадцатеричных адресов с 00000000 по 00000036


являются служебной информацией. Так, четырехбайтовое число по адресу
00000012 равно ширине изображения (10 пикселей), четыре байта по адресам с
00000016 по 00000019 хранят данные о высоте изображения (3 пикселя). Всего
89
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

изображение состоит из 30 пикселей, следовательно, в него можно незаметно


внедрить до 90 бит секретной информации. Информация о цвете пикселей
первой сверху строки изображения хранится по адресам с 00000076 по
00000093. Данные о второй строке изображения в файле расположены по
адресам с 00000056 по 00000073. Наконец, цвет пикселей нижней строки
изображения описывается байтами в диапазоне адресов с 00000037 по
00000053.
Пусть необходимо скрыто передать в данном контейнере слово «КОД».
Символы секретного текста с помощью таблицы CP-1251 преобразуем в
двоичные числа: 11001010B, 11001110B, 11000100B.
Встраивание информации в изображение будем производить
последовательно по одному биту в каждую цветовую компоненту каждого
пикселя, начиная с верхнего левого.
Байты цветовых компонент левого верхнего пикселя изображения в файле
расположены по адресам 00000076, 00000077 и 00000078. Переведенные в
двоичную форму значения по этим адресам выглядят так: 00100001, 00101001,
10111001. Заменим наименее значащий бит в каждой из цветовых компонент
очередным битом секретного текста (биты секретного текста условимся брать в
порядке от старших к младшим). Байт по адресу 00000076 не изменит свое
значение, так как его младший бит совпадает со старшим битом первого байта
секретного текста. Также не изменит своего значения и байт по адресу
00000077. Значение байта по адресу 00000078 изменится и станет равным
10111000. Для внедрения остальных битов секретного текста используются
следующие байты графических данных.
Дамп заполненного контейнера представлен на следующем рисунке
(байты, несущие секретную информацию, выделены):

00000000: 42 4D 98 00 00 00 00 00 | 00 00 36 00 00 00 28 00
00000010: 00 00 0A 00 00 00 03 00 | 00 00 01 00 18 00 00 00
00000020: 00 00 62 00 00 00 12 0B | 00 00 12 0B 00 00 00 00
00000030: 00 00 00 00 00 00 2D 34 | BD 41 49 C3 59 5E CB 70
00000040: 74 D2 87 8C DA 9F A2 E1 | B6 B8 E8 CB CD EF DE E0
00000050: F5 EE EF FA 00 00 26 2E | BB 3B 42 C1 50 57 C9 68
00000060: 6E D0 7F 84 D7 97 9B DE | AF B1 E6 C4 C6 EC D8 D9
00000070: F3 EA EB F8 00 00 21 29 | B8 32 3B BE 49 4E C7 61
00000080: 66 CC 77 7D D5 8E 93 DD | A6 AA E2 BD BE EA D2 D4
00000090: F1 E4 E5 F6 00 00 00 00

Рис. 2.5.6. Дамп заполненного контейнера

90
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2.6. Пространственно-временное распыление


информации

…очами смотреть будете, и не увидите.


Деяния святых апостолов 28:26

Рассмотрим еще один подход к сокрытию информации.


Он заключается в распылении сообщения по нескольким контейнерам.
Такие контейнеры будем называть распределенными в пространстве
контейнерами.
Перед внедрением сообщение разбивается на n блоков (частей). Затем
выбирается ключ, состоящий из n натуральных чисел. Числа перемешиваются в
псевдослучайном порядке. Ключ определяет порядок внедрения блоков
секретного сообщения в пространственно распределенные контейнеры. После
сокрытия текста контейнеры передаются по одному или нескольким открытым
каналам связи. При этом некоторые контейнеры могут быть пустыми, а
некоторые контейнеры могут содержать дезинформацию (шум). На приемной
стороне производится извлечение блоков секретного послания в порядке,
который определен секретным ключом. Если противнику удастся перехватить
отдельный контейнер, то это не позволит ему восстановить сообщение в
полном объеме [14 ].
Рассмотрим пример. Разобьѐм секретный текст на блоки, состоящие из
одной буквы (символа). Скроем блоки текста в графических контейнерах. Для
упрощения изложения используем запись данных в конец файла изображения
формата JPEG. Вместе с блоком секретного текста в файл будем записывать
длину текстового блока, выраженную в байтах. Предположим, что для
внедрения выбрано 4 отдельных контейнера (например, фотографии в формате
JPEG), Пусть требуется передать секретный текст – «УДАР». Будем считать,
что при выбранном ключе контейнеры используются в следующем порядке: 4,
2, 1, 3.
Вначале нужно разбить секретное сообщение на блоки. Разделим текст на
четыре блока (символа): «У», «Д», «А», «Р». В соответствии с выбранным
ключом блок «У» будет записан в контейнер с номером 4, блок «Д» - в
контейнер с номером 2 и т. д., наконец, блок «Р» будет скрыт в контейнере с
номером 3. На рисунке 2.6.1 представлена часть дампа файла JPEG до
внедрения блока сообщения.

91
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис. 2.6.1. Часть дампа файла контейнера до внедрения сообщения

Нетрудно заметить, что файл заканчивается двумя байтами FF D9


(значения представлены в шестнадцатеричной системе счисления). Эти байты
являются маркером, обозначающим конец JPEG изображения. На рисунке 2.6.2
показана часть дампа того же файла после внедрения блока секретной
информации.

Рис. 2.6.2. Часть дампа файла контейнера после внедрения сообщения

На рисунке видно, что сразу за маркером конца сообщения следует байт


D3, представляющий символ первого блока секретного текста «У». Далее
записаны четыре байта – это длина записанного блока. Аналогичным образом
скрыты и другие части секретного послания.
Процесс распределения информации в пространстве, можно представить в
виде простой схемы (рисунок 2.6.3).
У Д А Р

img1.jpg img2.jpg img3.jpg img4.jpg

Рис. 2.6.3. Распределение информации в пространстве

На приемной стороне с помощью ключа «СЕКРЕТ» восстанавливается


необходимая последовательность извлечения блоков секретной информации из
распределенных контейнеров: 4, 2, 1, 3. Первый блок извлекается из контейнера
под номером 4. Для этого из файла считываются последние 4 байта, в которых
указывается длина блока секретной информации. Затем считывается сам блок –
92
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

символ «У». После этого обрабатывается контейнер под номером 2 и т. д.


Наконец, извлеченные блоки соединяются, образуя читаемый текст: «У» + «Д»
+ «А» + «Р» = «УДАР».
Если злоумышленник перехватит один или несколько контейнеров, то он
будет обладать не всей информацией, а только лишь ее частью. Если же
перехвачены будут все отдельные контейнеры, то нарушителю предстоит
решить задачу восстановления верной последовательности блоков секретной
информации. Ещѐ больше осложнить криптоанализ можно за счет введения
ложных контейнеров, которые будут содержать дезинформацию (шум). На
приемной стороне ложные контейнеры будут отброшены, так как известен
ключ распыления информации.
Заметим, что исходная информация должна быть предварительно
зашифрована одним из криптографических способов. Другими словами: в
распределенные контейнеры помещается не открытый текст, а криптограмма.
Распределение информации в пространстве создает еще один уровень защиты.
Рассмотренный принцип сокрытия информации с распылением данных в
пространстве был реализован в программе Di-stego (от английского «distributed
steganography», т.е. «распределенная стеганография»). Внешний вид
приложения показан на рисунке 2.6.4.

Рис. 2.6.4. Главное окно программы di-stego

Для работы с программой сначала нужно составить список


распределенных в пространстве контейнеров – файлов изображений формата
JPEG. Затем нужно задать ключ, на основании которого будет выбран порядок
размещения частей секретного текста в общем контейнере. Если программа
используется для сокрытия сообщения, то следует ввести текст в
соответствующее поле и нажать кнопку «Скрыть текст». Если программа
используется для извлечения ранее внедренного сообщения, то следует нажать
кнопку «Извлечь текст». Дальнейшее совершенствование метода
пространственного распыления информации сводится к побитному
распределению информации по контейнерам. В этом случае каждый отдельный
контейнер не будет содержать ни одного нераспыленного (цельного, единого,
полного) байта скрываемого текста.
93
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рассмотрим побитное распределение информации на примере. В качестве


исходных данных возьмем условия предыдущего примера.
Сначала представим секретный текст в двоичной форме, используя
таблицу CP1251 (таблица 2.6.1).

Таблица 2.6.1
Десятичный Двоичный
Символ
ANSI-код ANSI-код
У 211 11010011
Д 196 11000100
А 192 11000000
Р 208 11010000
Следующий шаг – генерация последовательности внедрения на основе
ключа. Для примера возьмем следующую последовательность: 1, 3, 2, 2, 4, 1, 1,
3; 3, 3, 1, 1, 4, 3, 2, 4; 1, 3, 3, 3, 1, 3, 1, 3; 1, 4, 4, 1, 2, 2, 2, 1. Биты текста
внедряются последовательно от старших разрядов к младшим. Порядок
внедрения бит первого символа секретного текста показан на рисунке 2.6.5.

1 1 0 1 0 0 1 1

img1.jpg img2.jpg img3.jpg img4.jpg

Рис. 2.6.5. Побитовое распределение сообщения в пространстве

При использовании такого сокрытия биты сообщения претерпевают


псевдослучайную перестановку, что увеличивает криптографическую
стойкость внедренного сообщения. Вместе с тем, ни один из отдельных
контейнеров не содержит информации ни об одном полном символе секретного
текста, а значит, перехват отдельных контейнеров не позволит нарушителю
восстановить сообщение. При перехвате всех контейнеров злоумышленнику
будет сложно восстановить сообщение, так как необходимо определить
последовательность извлечения бит секретного текста. Эта задача многократно
усложняется при внедрении в контейнеры криптограммы.
Таким образом, для повышения криптостойкости передаваемых
сообщений рекомендуется вначале шифровать сообщение, дробить
зашифрованное сообщение на возможно мелкие части и распылять эти части в
пространстве по большому числу контейнеров. Повысить криптостойкость
распыленной в пространстве информации можно за счет использования пустых
контейнеров, а также ложных контейнеров, в которых содержится шум и
отсутствует полезная информация.
Рассмотрим, как создать еще один барьер защиты информации с помощью
временного распыления информации.
94
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Основная идея заключается в том, что сообщение, представленное в


двоичной форме, дробят на части (блоки). Каждый блок помещают в отдельный
информационный контейнер. Для каждого информационного контейнера
формируют контейнер-близнец. Информационное пространство заполняется
контейнерами-близнецами. В определенные моменты времени контейнеры-
близнецы автоматически подменяют информационными контейнерами.
Демонстрация информационного контейнера идет непродолжительное время
(достаточное для считывания информации). Время начала демонстрации
каждого информационного контейнера определяется ключом.
Техническая реализация предлагаемого метода может осуществляться с
помощью нескольких сайтов, расположенных на разных серверах.
Среди множества Web-страниц всех сайтов заранее выбираются страницы,
на которых будет размещаться скрываемая информация (информационные
страницы). Для каждой информационной страницы создают страницу -
близнец, которая внешне ничем не отличается от информационной страницы.
На всех сайтах постоянно демонстрируются страницы-близнецы, которые не
содержат секретной информации. В определенный момент времени (известный
только на передающей и на приемной сторонах) происходит замена страницы-
близнеца на информационную страницу. Время (момент) замены страниц
определяется секретным ключом.
Сокрытие информации на Web-страницах может осуществляться в
рисунках, звуковых файлах, видеоклипах, анимационных картинках, баннерах,
текстах гостевых книг, форумах, блогах, показаниях счетчиков и т.д. Скрипты,
осуществляющие подмену страниц, можно реализовать с помощью языков
программирования PHP, Perl, JavaScript.
Таким образом, пространственно-временное распыление информации
позволяет формировать несколько уровней защиты. Первый уровень –
криптографический. Следующий уровень стеганографический
пространственный, предполагающий дробление и распыление зашифрованной
информации по нескольким контейнерам (каналам). Еще один уровень защиты
– временной – предполагает, что секретная информация передается
кратковременно, а остальное время передается маскирующая информация.

2.7. Скрытая передача информации в сегментах TCP

Методы стеганографии позволяют организовать скрытый канал связи,


маскируя его под обмен ничем непримечательной информацией в сети TCP/IP.
Рассматриваемый метод скрытой передачи информации заключается в
изменении длины TCP-сегмента таким образом, чтобы значение длины данных
(число передаваемых символов), переносимых TCP-сегментом, содержало в
себе информацию о секретном тексте [13].
В дальнейшем будем называть число символов открытого текста,
помещенного в поле данных сегмента, длиной открытого текста (ДОТ).
Выбор TCP-сегментов в качестве контейнеров позволил добиться того, что
ни в заголовке TCP-сегмента (рис.2.7.1), ни в заголовке IP-дейтаграммы
95
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

(рис.2.7.2) биты секретного текста не содержатся в явном виде. Вместе с тем,


размер данных, передаваемых в TCP-сегменте, можно вычислить по значениям
полей Общая длина и ДЗ (Длина заголовка) IP-дейтаграммы, и поля
Смещение данных заголовка TCP-сегмента

Рис.2.7.1. Формат заголовка TCP-сегмента спецификации RFC 793

Отметим важные для реализации метода скрытой передачи информации


поля IP-заголовка.
Длина Internet-заголовка (Internet Header Length) измеряется в
четырехоктетных словах (октет равен восьми битам). Длина заголовка IP-
дейтаграммы не может быть меньше 5 четырехоктетных слов.
Общая длина (Total Length) – это длина, измеренная в октетах, включая
заголовок Internet и поле данных. Размер поля составляет 16 бит, что позволяет
формировать дейтаграмму длиной до 65535 октетов. Однако в большинстве
сетей такие большие дейтаграммы не используются. Спецификация RFC 791
устанавливает минимальный размер дейтаграммы, равный 576 октетам. Такая
дейтаграмма должна быть принята любым хостом.
Рассмотрим формат заголовка TCP-сегмента (рис. 2.7.1) и выделим
некоторые важные для данного случая поля.

Рис 2.7.2. Формат заголовка IP-дейтаграммы


Смещение данных (Data Offset) – длина TCP-заголовка в четырехоктетных
словах.
PSH – функция проталкивания (PUSH);
Проиллюстрируем предлагаемый метод сокрытия информации с помощью
примера.
Предположим, что между сторонами (корреспондентами) уже установлено
TCP-соединение. В целях упрощения будем считать, что передаваемые TCP-
сегменты и IP-дейтаграммы не содержат полей Options и Padding. Символы
секретного текста кодируются значением длины данных, передаваемых
очередным TCP-сегментом.

96
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рассмотрим пример скрытой передачи символа «Z», имеющий десятичный


код 90 по таблице ASCII.
На передающей стороне формируется TCP-сегмент, который должен
перенести пользовательские (открытые, не содержащие секретных сведений)
данные. Длина передаваемых открытых данных должна совпадать с кодом
скрытно передаваемого символа. Для передачи формируется блок открытых
данных длиной 90 октет. К пользовательским данным добавляется TCP-
заголовок длиной 20 октет (5 слов по 4 байта). Полученный TCP-сегмент,
общая длина которого составляет 110 байт, передается программе IP-протокола,
которая, добавив 20-ти байтовый IP-заголовок, формирует IP-дейтаграмму.
Общая длина IP-дейтаграммы записывается в поле общей длины (в данном
случае длина составляет 130 байт). Сформированная IP-дейтаграмма передается
на канальный уровень (модель OSI) и затем транслируется по открытому
каналу.
На приемной стороне для извлечения скрытого символа требуется
вычислить длину данных, переносимых TCP-сегментом. Для извлечения
информации из общей длины IP-дейтаграммы (поле Total Length) вычитается
длина IP-заголовка 130 – 5 ∙ 4 = 110 байт. Из полученного значения общей
длины TCP-сегмента вычитается значение смещения данных (поле Data Offset)
110 – 5 ∙ 4 = 90 байт. Полученное значение длины открытого текста трактуется
как код принятого символа секретного текста, то есть на приеме будет
зафиксирован символ «Z».
Реальный IP-заголовок принятой из сети дейтаграммы может выглядеть
следующим образом (поля заголовка заполнены двоичными данными в
соответствии с рис. 2.7.2).

Рис. 2.7.3. Пример заголовка реальной IP-дейтаграммы

Здесь поле общей длины содержит двоичное число 0000000010001110, что


эквивалентно десятичному числу 142. Поле длины заголовка Internet содержит
двоичное число 0101, то есть 5 в десятичной форме. Это означает, что длина IP-
заголовка равна пяти четырехбайтным словам (20 байтам). Таким образом,
длина TCP-сегмента равна 142 – 20 = 122 байта.
На рис.2.7.3 упомянутые поля выделены серым цветом. Ниже показан дамп
заголовка TCP-сегмента.

97
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2.7.4. Пример заголовка реального TCP-сегмента

Здесь в поле смещения данных (Data Offset) записано двоичное число 1000,
равное 8 в десятичной системе счисления (на рисунке поле выделено серым
цветом). Это означает, что размер заголовка TCP-сегмента равен восьми
четырехбайтным словам, то есть 8 ∙ 4 = 32 байтам.
Таким образом, количество символов, содержащихся в TCP-сегменте,
составляет 122 – 32 = 90 байт. Согласно кодовой таблице ASCII, десятичный
код 90 соответствует символу «Z».
Так как два соседних символа секретного текста передаются в разных TCP-
сегментах и IP-дейтаграммах, то можно говорить о сокрытии информации с
пространственным распределением текста по контейнерам [14].
Учитывая требования спецификации протокола TCP, описываемый метод
внедрения секретной информации в TCP-сегменты технически может быть
реализован путем управления флагом проталкивания (PUSH). Действительно, в
соответствии со спецификацией RFC 793, данные пользователя,
подготовленные для передачи по сети, могут накапливаться в буфере. Отправка
данных адресату в этом случае будет производиться при полном заполнении
буфера передачи. При этом передача строго заданного объема информации
будет невозможна. Однако если в заголовке TCP-сегмента выставлен флаг
проталкивания, то программа TCP должна немедленно отправить все
имеющиеся в буфере данные. Аналогично на приеме программа-обработчик
TCP встретив флаг проталкивания, должна передать принятые в буфер приема
данные программам протоколов верхних уровней.
Развивая рассмотренную идею, возможно создать стеганографическую
систему с использованием ключа.
Для этого секретный текст представляют в двоичном виде. Биты фрагмента
секретного текста размещают в разрядах двоичного значения ДОТ,
передаваемого с помощью TCP-сегмента. При этом некоторые TCP-сегменты,
передаваемые по сети, не будут содержать секретной информации. Заголовки
TCP-сегментов и IP-дейтаграмм не будут содержать секретной информации,
что позволяет защитить скрытый канал от обнаружения. Кроме того, биты
секретного текста оказываются распределенными между различными TCP-
сегментами, а также внутри двоичного значения ДОТ каждого
информационного сегмента. Распределение бит секретного текста между
сегментами и внутри двоичного значения ДОТ должно осуществляться на
основе псевдослучайных последовательностей, генерируемых на основе
известных только корреспондентам системы данных – стеганографического
ключа.
Рассмотрим пример передачи секретного текста, представляющего
последовательность бит 1, 1, 0, 1, 0. Предположим, что на основании ключа
выработана следующая псевдослучайная последовательность, определяющая
порядок передачи информационных и маскирующих TCP-сегментов: 0, 1. В
рассматриваемом примере будем полагать, что значение MSS для сети равно
98
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

556 октет. Также будем считать, что TCP-заголовки не содержат опции и имеют
длину LTCPзаг = 20 октет.
Максимальная длина открытого текста, передаваемого по данной сети,
будет составлять MSS – LTCPзаг = 556 – 20 = 536 (октет). Следовательно,
максимальное число разрядов двоичного значения ДОТ:
LTCPmax = log2(MSS – LTCPзаг) = log2(536) = 9,066
С учетом округления до ближайшего большего целого значения получаем
LTCPmax = 10 бит.
Так как первый бит псевдо-случайной последовательности, определяющей
порядок передачи информационных и маскирующих сегментов, равен 0,
первый сегмент будет маскирующим. Длина открытого текста, переносимого с
помощью этого сегмента выбирается произвольно (случайно) из диапазона [1;
536] октет. Фрагмент открытого текста выбранной длины передается с
помощью TCP-сегмента. На этом передача маскирующего сегмента
завершается.
Следующий TCP-сегмент должен быть информационным, то есть должен
переносить секретные данные. Для его формирования псевдослучайно на
основании ключа генерируется начальное значение ДОТ в виде
последовательности бит, длиной LTCPmax – 1 = 9 бит. Для примера возьмем
следующую последовательность: 1, 0, 0, 1, 0, 1, 1, 0, 1. Затем в разрядах, в
позициях которых биты имеют единичное значение, размещают биты
секретного текста:
1 0 0 1 0 0 1 0 0
Разряды начального значения ДОТ, в позициях которых биты имеют
нулевые значения, записывается случайная последовательность нулей и
единиц:
1 0 1 1 1 0 1 0 0
Полученное двоичное значение ДОТ переводится в десятичную форму:
1001110100(2) = 372(10). Таким образом, для передачи фрагмента секретного
текста 1, 1, 0, 1, 0 нужно передать в сеть TCP-сегмент, содержащий блок
открытого текста длиной 372 символа.
На приемной стороне перед началом сеанса связи получатель, зная ключ,
генерирует (воссоздает) имеющуюся последовательность следования
информационных и маскирующих сегментов. В силу симметричности
рассматриваемой системы, эта последовательность будет 0, 1.
Первый пришедший TCP-сегмент, содержащий данные, получатель
трактует как маскирующий, так как первый элемент последовательности,
определяющей порядок следования информационных и маскирующих
сегментов, равен 0.
Следующий сегмент является информационным. Приняв его, получатель
вычисляет длину открытого текста, переносимого данным сегментом, и
переводит его в двоичную форму:
1 0 1 1 1 0 1 0 0

99
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Затем на основании ключа получатель воссоздает начальное двоичное


значение ДОТ:
1 0 0 1 0 1 1 0 1
Извлечение бит секретного текста осуществляется из тех разрядов ДОТ,
где в соответствующих разрядах начального значения ДОТ размещены
единичные биты:

1 1 0 1 0
Таким образом, на приеме получаем секретный текст 1, 1, 0, 1, 0.

3. Лабораторный практикум

В этом разделе приведены методические указания на выполнение 14


практических и лабораторных работ по криптографии и стеганографии.
Практикум ориентирован на изучение классических симметричных
шифров, моделирование криптографических систем с помощью программ
Multisim, Electronics Workbench.
Асимметричные криптографические системы изучаются с помощью
известной программы PGP.
Профессиональная программа S-Tools позволяет студентам понять
очевидную мысль: перед сокрытием информации текст должен быть
зашифрован стойким шифром.
В перечне лабораторных работ есть работы, которые ориентированы на
студентов, впервые осваивающих принципы защиты информации. Простые
задания связаны с внедрением информации в графических объектах.
Приведенные здесь лабораторные работы дают возможность студентам
скрывать информацию в различных контейнерах: текстовых, графических,
звуковых WAV-файлах, музыкальных MIDI-файлах, в комментариях к MP3
файлам, на HTML-страницах, в субтитрах видео фильмов, в TCP /IP-
сегментах.
Лабораторные работы позволяют получить прочные навыки в создании
нескольких уровней защиты информации: криптографического,
стеганографического и с помощью распыления информации в пространстве и
во времени.
Интересный способ сокрытия информации ориентировании на
использовании в качестве контейнеров сетевых пакетов.
Лабораторные работы позволяют освоить способы сокрытия информации в
графических и текстовых документах с помощью математической системы
Mathcad.

100
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

3.1. Симметричные шифры*

1. Подготовка к работе

Изучить криптографические методы преобразования информации.


Ответить на контрольные вопросы.

2. Контрольные вопросы

2.1.Как осуществляли шифрование с помощью скиталы?


2.2.Какова основная идея шифра атбаш?
2.3.Какова основная идея шифра Цезаря?
2.4.Какова основная идея шифрования с помощью квадрата Полибия?
2.5.Какие задачи решаются с помощью криптографии и криптоанализа?
2.6.Что такое ключ?
2.7.Что такое шифрование?
2.8.Что такое дешифрование?
2.9.Какова основная идея шифрования с помощью методов замены?
2.10. Какова основная идея
шифрования с помощью методов перестановок?
2.11. Какова основная идея
шифрования с помощью аддитивных методов?
2.12. Какова основная идея
шифрования с помощью шифров многоалфавитной замены?
2.13. В чем состоит
принципиальное различие методов стеганографии и криптографии?
2.14. Опишите порядок
шифрования с помощью таблицы Виженера.
2.15. Опишите порядок
шифрования методом гаммирования.
2.16. Какова основная идея
шифрования в системе с открытым ключом?
2.17. Какова основная идея
шифрования с помощью аффинных криптосистем?
2.18. Что такое
криптостойкость?
2.19. Каков принцип
шифрования с помощью системы Хилла?
2.20. Для чего используется
электронная подпись?

*Работа написана совместно с Алексеевым П.А.

101
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

3. Задания на выполнение практическое работы


3.1. Задание 1. Дешифрировать сообщение (шифр Цезаря)
3.2.
Таблица 1
В Шифрограмма
ар
.
1 ТСДЗЖЛХЗОЯОБДЛХТУЗЦЕЗОЛЪЛЕГХЯФЛ
ОЦТСДЗЙЖЗРРСЁС
2 ЪЗПШЦЙЗРСЕСФХЯХЗПДСОЯЫЗЛРЧСУПГ
ЩЛЛСРГФСЖЗУЙЛХ
3 ТУГЕЛОГЖОВЕФЗШСЖЛРГНСЕЮЗХСОЯН
СЛФНОБЪЗРЛВУГКРЮЗ
4 ЛКСДУЗХГХЗОВНСОЗФГСФСДЗРРСЪХВХД
ЗОНЛ
5 ДЗФТУЛРЩЛТРСФХЯАХСРЗСХФХЦХФХЕЛ
ЗТУЛРЩЛТСЕГЛШЛКСДЛОЛЗ
6 НГНПГОССНУЮОЗРРЮШФУЗЖЛСНСОЯЩ
СЕГРРЮШ
7 НХСЕФЗЁЖГФЛЖЛХРГПЗОЛХСХРЛНСЁЖГ
РЗЦХСРЗХ
8 ХСХЙЛЕЗХТУЛТЗЕГБЪЛНХСЙЛЕЗХТСЖТЗ
ЕГБЪЛ
9 ТУЗЙЖЗЪЗПЕЮШСЖЛХЯЛКФЗДВСТУЗЖЗ
ОЛХЗЖГОЯРЗМЫЛМПГУЫУЦХ
10 СУОЮФЛЖВХОЛДСРГЕЗУЫЛРЗОЛДСЕНОЗ
ХНЗ
11 НСЕГОЯНСРВНЦЗГЙГДГФЕСБРСЁЦФЦЗ
12 РГЦНЛДЮЕГБХЗФХЗФХЕЗРРЮПЛЛТУСХЛ
ЕСЗФХЗФХЕЗРРЮПЛ
13 ВЛФГПЫЦХЛХЯРЗОБДОБЛОБЖВПРЗЖГП
14 ЗФОЛДГУЛРДЗКФГТСЁКРГЪЛХДГУЛРТЗЖ
ГЁСЁ
15 ЛПЗБЬЛМЦЫЛЖГРЗСФХГРЗХФВДЗКОГТЫ
Л
16 КГУВЙЗРРСПЦХГРНЦЕЖЦОСРЗФПСХУВХ

3.3. Задание 2. Дешифрировать сообщение (шифр атбаш)


Таблица 2
В Шифрограмма
ар
.
1 ЭФЯШЫРХЫЪНАМФЪЪНМГНЭРХСРУГ
2 ЧЛЮДТЛЫОРНМЦПРАЭУАБМНАЧСЯЗЦМ
102
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

ЪУГСРПРЧШЪФУДФРЭ
3 ФМРТЪЖЯЪММЪЮЪЭДЫЛТЯМГПРОРЙСЪ
ПОРТРФЯЪТДХ
4 СЪЭРЭНАФРХЦЬОЪМЛЧДЭДЦЬОДЭЯБМ
5 МЯФЙРЗЪМНАЮДМГСЛШСДТСЛШСДТУБ
ЫАТ
6 СЯНЛЖЪТСРЬРЛТСДЙФРЬЫЯСЯТРОЪЮЪ
ЫЯ
7 СЪМСЛШЫДЭЪЖЯМГФРУРФРУГЗЦФСЯЫ
ЛОЯФЯ
8 КЦУРНРКНФЦХЭЧЬУАЫСЯЭЪЁЦПРЧЭРУА
ЪМРЮЙРЫЦМГНАЮЪЧСЦЙ
9 МЯФЬУЛЮРФРЧЯЫЛТЯУНАЗМРНРЭНЪТП
ЪОЪНМЯУНРРЮОЯШЯМГ
10 ЭНЪПРЮЪЫДСЯЗЦСЯБМНАНПРЮЪЫСЯЫ
НЯТЦТНРЮРХ
11 СЯЛФЯСЪПРЬОЪЖЦТЯСРЛЗЪСДЪПРНМРА
ССРРЖЦЮЯБМНА
12 ПЯОЯЫРФНВМРЦНМЦСЯЪЁЩСЪНМЯЭЖЯ
АЮЯСЯУГСРНМГБ
13 УЪФЯОНМЭРСЪЫРУШСРЮДМГЙЛШЪНЯТ
РХЮРУЪЧСЦ
14 КРОМЛСЯЗЯЁЪЭНЪЬРЛУДЮЯЪМНАМРТЛ
ФРЬРСЪЧЯТЪЗЯЪМКЪТЦЫЯ
15 НРЖЪЫЖЪТЛНПГЪЫЪНМЯУЯМОЛЫСРТЪ
САМГПРЧЛ
16 ФЯШЫДХНРРЮЁЯБЁЦХНАНРНЛЫЛЭЪОЪ
СЗМРЪЬРЛОРЭЪСГЭДЖЪ

3.3. Задание 3. Дешифрировать сообщение (квадрат Полибия 6х6)


Таблица 3
В Шифрограмма
ар
.
1 11 35 42 16 26 11 33 16 35 36 24 12 11 13 24 42
13 16 26 11
2 23 34 31 34 42 55 16 36 43 26 24 23 11 41 16 36
16 12 36 34 33 16 26 43 35 24 52 56
3 34 42 14 31 43 35 34 14 34 36 24 41 26 11 15 34
12 16 15 55 12 31 24 23 26 34
4 35 36 24 13 63 23 11 33 33 34 14 34 31 56 13 11
24 23 11 25 46 55 31 63 14 11 62 42
5 35 43 41 42 11 63 32 16 31 56 33 24 46 11 24 12
16 23 13 16 42 36 11 32 16 31 16 42
103
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

6 23 11 15 43 32 11 31 12 16 22 11 42 56 42 11 26
33 16 51 16 14 34 31 16 22 11 42 56
7 35 34 15 11 31 56 52 16 34 42 46 11 36 16 25 14
34 31 34 13 11 46 16 31 16 25
8 43 16 22 11 34 15 33 11 41 24 31 11 26 34 31 62
51 26 24
9 12 43 26 13 55 26 36 24 13 55 16 15 11 41 32 55
41 31 35 36 63 32 34 25
10 35 34 36 34 22 33 24 25 26 34 31 34 41 13 55 52
16 41 42 34 24 42
11 31 11 41 26 34 13 34 16 41 31 34 13 34 35 43 53
16 15 43 12 24 33 55
12 31 43 51 52 16 43 51 16 33 55 25 51 16 32 23 34
31 34 51 16 33 55 25
13 26 33 24 14 11 26 33 24 14 34 25 11 32 34 23 14
11 32 24 15 13 24 14 11 25
14 41 55 42 34 16 12 36 62 45 34 26 43 51 16 33 24
62 14 31 43 45 34
15 41 34 12 11 51 56 63 15 36 43 22 12 11 15 34 35
16 36 13 34 25 26 34 41 42 24
16 41 34 12 11 51 56 63 15 36 43 22 12 11 15 34 35
16 36 13 34 25 26 34 41 42 24

3.4. Задание 4. Дешифрировать сообщение (прямоугольник


Плейфейра 8х4)
Таблица 4
В Шифрограмма
ар
.
1 ЙЦЦГЕБЪЦЦКХЗЖЛХНИПОЙИДЪЦ
2 АБЛПЙХФСКЖОПЪХПЖВИПО
3 ЙРЦНЕВПМЭЩНРЕЖПУБРЦКАБАКРЙЦКФ
КГНПЦБН
4 БТЖДПИПОДНОПВОРГАКЦКДЖОЙХЗЖЛ
5 ЙННХИРДПНХРПГЪОПРБНЙГЖШЙХННДП
ЭЪЦЧЩ
6 ЪХКЦНЙХИИРУЫРЯЙК
7 УЙКЖБРНГГФВХХНТРКРВРШДГАГЖАРГБ
ФЪ
8 ТРБРУККАТЪПНЦОВХИПОЙИДФЪИЧПРЙО
ЪГБЭБН
9 БТНХАНАГБХХКНЖИВЗЖУТЫЗШИМЕЙПЕ
ПЬЛ
104
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

10 ШИЕКЩЛИЕАФБГЛЭКДИГТУЙОАННДВХ
11 БХМЙЦНХЗЩЭИПЛЫАЙФЪЕЖМПИПСФРП
ЖДМЖЖКЙН
12 ЛФАФЩЛБТЖДЕБТРБРУККА
13 ХЗЛФГЩУЪОЙФРЙМЧЩФРРАЩФЬЗПЫХБ
ЗЩ
14 ТЪПИРАВХЕГБЗГЬРПРВВХ
15 БХМЙУЪТФАМЩЭХЙЗРГИЗИПКНЙ
16 АОЕПЩДЖАТБЙЖМЖЭЛПРЦК

3.5. Задание 5. Дешифрировать сообщение (таблица Виженера)


Таблица 5
Ва Ключ Шифрограмма
р.
1 ХНШЕТЁЯМКЁЭЛТЯЕГГЭЁБЪБНИЖ
ОБИЛ СНЫУЗЫЭЩБХЪСШГОБЮС
ЬНО ЖГГТУЪЭЫЕГМВВЪЦКШПЫУАРЁЦ
ОЁГАЛЯФУТЖАЛАЁТЭАЮ
2 ТУПИ АОЯЗМТЮГЩИЭЫЬЬЭЫЗГКЕЦЧЩ
К ШДЩХЩШЪЯЮЩГЮМЫЧЁШЮМ
ШКВБХВЙЁНВДЩДЭЭХВЮСАИКЧ
ИЪДЮЩНКГЕХЭЭЛЮДШ
3 НИТК ЭЗЬЩИАЬЩУББЩЙИНТИПЮЗУТА
А АЕЕЬЭБИЕИМИКТЮСДГБЩРЁУЦА
ЩИЧКЬЪРПГЁЭСЕЯЬУЩОААААИА
ЁПЁАХКПДБЫЫБГЕЦЧСЮМ
4 ДРУЗЬ ЙШОЪИССЭСЫПААОЪБЁРБАСЬХЙ
Я ГГЮЬФФДЛЛЕМСЬЧПБПЭАОЛЕМЙ
ЙПЬДИГЬВИЁДНУЛЛЩИСБВОЩТС
ШРСЕИСДПООИГНЭСЫТЕЫОЩБ
5 ЖИЗН ЖЧРВЧЛУБЪСВЁКЭЧЭЧЪАМДКЬТЦ
Ь ЩВЖЧОЙЧКЭТКЗЖЙСЗЬЙБЕФЙБЧ
ЫЛЁЯЫЛЖАЖДЦЩЬКДГЕАРОЫЮЗ
КТРЮЮЬТЦЩДБВФВШУЕМШКЩН
ЦВЦ
6 ФРЕГ ФЧЖВТЫЛУАДДНШШЬЛГНЮКРКА
АТ ПЭВЛВЧБНФННУЦНЮЖКЕЪЖСЦМ
ЛИНПАЙННААААААЛЕЫБОЭЧКЭЭ
ЕЪЩПЬНЕПЩФ
7 ЗВЕЗД КЮЖШЙЧЛЛДГУЙЕСТБЙАБНЙЙО
Ы ЙЫМДЁОЙИГМЛБЧЙМЖФЕЦЛРЧШ
ОЙГРЙЁБЪЪЮНШБЧЙЛАЩЬМЪГГЬ
НЧШОЫЦОЦЧЛЫЪБЭШРЧБСТШБЛ
ЛАБ
105
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

8 СТРУ РЯФНСВЭПЭАЕРККЯЫЗИАЬЫИФП
НА ЧАПОЫЧВПБЯФУНЯЪОБЗКЯВСАЫ
ЮЬМЯАЕРЮПДБНБЬЫИЭОПЬЫИД
ТЯБЭМЫНУЮСХВРВАПЪЕЕЬЫК
9 СВЕЧ ААЙЙОТЮШЫОЮОЫКОРЩЬСРОР
А ЧЪДВЦЙЖЛЧЦЧЪОРГНЬЯАЪЙШЛО
РААТЭЛЫХЛМЯДЫЬЦЮТЫОЬЮЗЬ
МЧОЫЫЬЬЮТЫОААЙЖСРГТЬНУЧ
ЫМНЭРЛИТЧРЧ
10 ПОМП ЮЪЕЫЙММЬВАЛПЗЪИЮАДЬЕГХА
ЕЯ ГВЦЁХЁУЯУФДЯОЩИБЯЗВХЩЖЭ
ДЙАВШЫЛБВЯВАЙНЮРВАЙНАЦ
ШЯКАГНЕХЖЙЬЪЕМИБТЦЫДЭЙЩ
11 СВОБ ЮОЪБМУНЙГТДЩИОЪАГСУПЮБЛ
ОДА СПААЫПГЩЖУПЧЬЩЦВАМЛОЛРС
ББТВУЪЛМНОЦВСММАЛНПИЯГОЬ
НЖГБАЭОТЩЬЯЬМЫПЮХКРЛОЪГ
ДЯЪПХЧ
12 ОДИН ЬКЪЦСЦЮБЕАУФБЧЖЛЦАИЕУСЮ
ОЧ ПАОЁЯЯЧЩАШБЩУЕУЧАВЕЖБЮ
КА НЖТРОИЕВЧМКЕУЙБГМЪЛСЙЕБЦ
ЪАОБКДЫФЬЁТАИЗТГЮБЕТЧЩТЦ
ЫААШАТЬУЧЩИЯКОЭЕ
13 ЗАПРЕ ПТЯРЭИЯИГЛДЭИОЧШНЙЁАНВЙЪ
Т ЙВХВАЭЖКРЧАЪДЯЮФМПБХЮГН
НЙОВШЯТИЖЩБАОЧНРВЛЬВСГСА
ЫЁОЭЧЫЭИЕГФИТЩОЪБЪЫЭНРУ
АЧЙЯЮФКЮЖСЩ
14 КАРТ КОВМНЖЛПСУЖТФЫЕЭАААФДСА
Ы НМИДСБСЮДВЦИДРЮРЕВНФЩБЭ
ЯЮСТДЙЪЬРДДЮЧПХРВЦЗЁАВЙН
ЖДЛМЖДЛЮЪНЖБЮРУВ
15 РАЗЛ ФСДЭЭЧЕВСЧЧШИБЮКШУЮЧЯЧЬ
УКА ЩГШСРПЗИПОХВААПЗСЗСОСЖАИ
УХЮРЖМЫЁАБСКФОХТЛСЧЁЩЪЯ
БЬЁФРЖОРОВВМЩРПЗДЗЧДЙЭАЬХ
ЫБЬН
16 НАУК СОВБАЦЕШАНТУДГЫЯКЪЮЖЭАЩ
А ГЕВОЯДМЁЧЯДБНЛШЪНЫВАМЕАЬ
ЛАОГЕЪСГБРСАСЮИЕАОЯАЬБОЦК
МАПГАОЮЛБЧСЁВЫВ

106
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

3.6. Задание 6. Дешифрировать сообщение (метод перестановок)


Ключи к данному заданию приведены в табл.6, а шифрограммы - в табл.7.
Таблица 6
Вариант Матри Ключ Ключ
ца записи считывания
1 10х10 8 2 5 4 1 3 7 9 1 9 3 8 5 4 7 2 6
6 10 10
2 10х10 10 1 2 3 9 4 8 10 1 2 3 6 4 5 7
576 98
3 10х10 8 2 5 4 1 3 7 9 1 9 3 8 5 4 7 2 6
6 10 10
4 10х10 10 9 1 8 2 7 3 5 6 4 7 3 8 1 9 2
645 10
5 9х9 31249786 512794863
5
6 9х9 12387695 194287653
4
7 9х9 61524389 123987654
7
8 7х7 1237654 7162534
9 8х8 81546273 12387654
10 9х9 12398765 918273645
4
11 9х9 61524379 543678192
8
12 8х8 64213578 81546273
13 7х7 1726354 1237654
14 8х8 81237654 41237658
15 10х10 10 9 1 8 2 7 3 10 9 1 8 2 7 3 6
645 45
16 9х9 21436578 896745321
9

Таблица 7
Ва Шифрограмма
р
1 ППОЕСИЛУЧООЧИТСЗГОВ6ОЛНЛАНЧОО1Г
АЯККЕОПО7ТЛЮИОНОЕО2ОИУОЛИУСД9Е
ДЬААВТАГ4ЛАЛТТЗАСТ3ЧИСТТЕТДЛ8ВУП
ЕВЛОДЖ5
2 НСОЕХ1ИНКИМИЯ_Е_НГВПИЯ_ОР1ЕОАО_
ММТЕ9Т_РДРТЛУО8УБЕЛВИЫ_Д9_ТН_Ы_С
КК8ДАЫСААИР_7ХА_АЕТКЩА4М_АКЖЯ_Я
107
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

П5АКТД
3 ДВРВОУМКГ8ИОИБА9ЙЛГ3ОКВАВИНЖТ7Т
РДИЧ1ЕЕЕ7ЛОСОТЬИЫВ6БКОКСТЯДО4СОО
НЕЯНЧН4ЬЕЕКЯЧЕАО3АТХЙРСВЙУ5ПГТУ
Ю2ЯОО8
4 но_илиен_витряеяттинакинснлаьояоа_н_еасав_т
еиепфнн_рсииинзсяд_неыж_окОэус_языил_ови
рчдв_астюув_м_яет
5 олоосахаопвГкЭеывор_ламтйылявтуньныу___т7
__анхопдрРикктуи__февмдосмол_з_игуже__сь
6 Оо_1___моото5тптеоинс9нунчмдцн2пдпутдют6
ю_юнтеао4аеа_чнвп7мимо__и_8игитунеа3оро_о
7 лн_в_Оотеиомоддвы___ызон_смл__ьчп_жниыут
оайаонб_иткедироьда_д_летлутйючлччсбсоляи
8 _SI49EAAPE2R_SS_G53VCMLD8IE_UOA6S_II
A_1TSACTM7ATM
9 _TRTSS_AA_IUAAE_VDARRLTPEE3_IAESAD
4ERNPOCI2TOAMP_V1_MTIOEI_I_U_R
10 eeu21_L__D_r2Kiagnbth35r_rlidn3ielrdel_4_eeeae
e_4nbsoeiEt5rdism_ri6de_erL_s7e_dst
11 i_itiB_2u_t_hl_t2rrhtehrs3Fmam_nak5c_u_tgue5hF
fHr_mi4tdieluDr1erbean_n4_ecgueeb3_
12 snl_d__2dgeutW_fc_te__dditsGnnnmhs_luee__elm
eeKr_iEdnsr1shb_rnie
13 HIL2P_MO_I8UA_MNE3T_HUL_59ANSIM61_A
_HU4_EMOIN7OMU
14 раооис_дм0ееянэВе_тт_ет_тсррм_оо1ии1итем_т
__лищоенввлчен0м_2ма__
15 еыьа8_лбдыррпв9евозралеслюхш_К_омо4нярое
ненуот_ебоятов5_опстымищ_еднымлокт3вп__ю
__яе1роилпдк_с2о_яиь
16 сра_ошв17еслнвеа58итиеаыяу7сощвзс__6_оацб_
еа9дкщирв_д8хдзаооид3и__т_нн_4кЯере_ам2

3.7. Задание 7. Дешифрировать сообщение (метод гаммирования)


Таблица 8
В Гамма Шифрограмма
ар
.
1
1 5 32 7 ЦЦжЙИЙеГВЛрВЛ
2 6 12 22 5 3 ДЬУЙЬДЭУЙРЧЯТЩЬ
3 34 12 25 5 бИЬОЯжЮЩЙЧиЗЩБ
31
108
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

4 4 32 5 25 ЗоБЛМхБЩУаФТМх
5 14 2 17 25 ДЙПОуЖЙНФзЛЕСХиО
34
6 41 2 7 27 еЗБЫфъДВЦппВ
33
7 18 1 2 5 7 ЯДБЛГЙРРЕЧНУВЖЙВД
8 32 33 35 34 оузсмълуомвзжйс
9 3 2 5 35 ММЧнПИНрППАжМТАзЙМЗ
10 7 25 3 4 11 ИЧСБЮЗЭЖПШИЧПБЮЗ
11 3 18 21 7 5 ВЧСКЛЭСОШВКВУЬЯ
12
12 31 17 21 37 ЫФШщБСЪЫжЕЭФЯпЛПЯЗлП
5
13 3 17 2 34 ЛЫМойУКИсшГПРжзМЯТщ
41
14 33 17 32 35 лЯмрвмСмжамФвзднФк
42
15 23 14 32 35 ЭЮатЫЧЮефКШАгнФЩЮкнИ
22
16 21 4 32 38 ЪМшхЗЙейРФокХЧмиЩ

3.8. Задание 8. Дешифрировать сообщение (аффинные криптосистемы)


Таблица 8
Ва a b Шифрограмма
р.
1 5 3 чялзвдцхлеойжпрхлеояпйжгяпжгцлзжлж
ывгэлцмгмгежкнрхгмоэгйгрлвжоцэюжгч
гэг
2 7 4 сяѐгиъдсечднгбзгѐхиъэюѐшйягэъдшхэгл
еийягдхбниьвюхийгмьюеѐюгэѐешчляи
3 10 5 пэцтмехэгмцвцщюлмхѐэхохайциьэюцуэ
ещцуюмхэйеэюьъацажуэжощевцйетжгх
можлю
4 13 2 ыѐушбышбѐбттяѐеюйтяеспмясяшязясщб
ттбефвываехыбйвѐтбеюйбесыбттгѐылщб
т
5 16 1 шчфмкакмиошхмзбьзйыглйячцаоэяошч
фмьхчняуьашслмцаофошзаоъъуцщоиоко
ъ
6 17 3 йхьйчыгтйчгегълхыеюхщъѐйхьчжщыгш
гдъждыгьгълхыеюхщъѐ
7 19 5 щжбжеощжеобтгыртщфщурбюомбкчщт
гыртжбжеощщрбюомбфщу
109
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

8 7 5 акѐкщкпепыеэшнойдескяцжаджиэжфжт
рѐкифвыдвскамэеѐймясжикамож
9 16 10 хщтрйутфйѐйинхблбвабрьухсафйухгхюч
штгйичсбрйрлгчбауччнлацч
10 19 8 ѐзттзтмдвйлэызтьйьмѐмьашчйдоьуѐнямь
ейьмзѐюухучдфйьныызчдетнэнйѐбня
11 20 3 угшшгшцѐэйтдцдагнтсюядттѐйдлсшцжр
хащѐшѐдтсйдадлбдтсиуѐуясэ
12 5 3 якэдчьыслэлцгучывчялрлргэлыъяпоэдчь
ыздцплцожчывмвыъяыъшыврлргэл
13 25 16 гыфхйьитодъпсптьцадизчспштчгйпрйлп
вгиадишрптйдьызыяыгй
14 13 10 ымыэъыиайэыйьйжпъынъиниаисыбымч
ъйъицигьйгъыиьъы
15 19 10 фйфргюоѐушцаѐшзйфпргювушзлѐэйьно
йвюлйзоюшзоюгѐлаѐ
16 20 4 фгбщдлеицйфдлтяуцжсужаюужкеуцееш
веуткуеѐхенъдѐксжоужкеуце

3.2. Моделирование криптосистемы с помощью


программы EWB

1. Подготовка к работе

По указанной литературе и методическим указаниям изучить метод


гаммирования и порядок работы с программой моделирования
радиоэлектронных устройств Electronics Workbench (EWB). Ответить на
контрольные вопросы.

2. Контрольные вопросы

2.1. В чем состоит принципиальное различие между криптографией и


стеганографией?
2.2 В чем состоит основная идея шифрования методом гаммирования?
2.3. Какое второе название метода гаммирования?
2.4. Составьте таблицу истинности для логической функции Исключающее
ИЛИ.
2.5. Перечислите системы моделирования радиоэлектронных устройств.
2.6. Перечислите классические методы шифрования.
2.7. Какие требования предъявляются к гамме?
2.8. Перечислите способы формирования псевдослучайных чисел.
2.9. Каким образом можно произвести криптоанализ шифровки, полученной
методом гаммирования?
110
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2.10. Как преобразовать символ открытого текста в двоичное число?


2.11. Как преобразовать десятичное число в двоичное?
2.12. Как преобразовать двоичное число в десятичное?
2.13. Какие требования, предъявляются к длине гаммы?
2.14. Можно ли одну и ту же гамму использовать для шифрования разных
открытых текстов?
2.15. Известны ли Вам примеры неверного промышленного использования
метода гаммирования?
2.16. Как преобразовать двоичное число в шестнадцатеричное?

Задание 3.1. Исследование метода гаммирования

Выполнить моделирование криптосистемы, использующей для


шифрования открытого текста метод гаммирования. Исходные данные в
шестнадцатеричной СС для разных вариантов приведены в таблице.

Таблица 1
Вариант Открытый текст Гамма
1 CAFÉ 1bA6
2 AbbA 29FE
3 bAbA 3Cd4
4 dEdA 41F9
5 bEdA 579A
6 6А6А 6dbA
7 СООС 78bd
8 6ООС 8AEF
9 OdA2 914F
10 C0d3 10A5
11 6АС4 11Fd
12 EdA5 12Cd
13 AbCd 13F4
14 2008 14Ac
15 1917 15FA
16 1941 16b9
17 1945 17E7
18 1812 18db
19 3141 19EA
20 C0d4 20A3
21 C0d5 21Fd
22 C0d6 22dA
23 2009 Ab38
24 2012 10bd
25 bAC9 dAbE
26 dACA AA09
111
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

27 CACA AA48
28 CAdA AdA5
29 dAdA A137
30 AdE5 dbdA
31 EA43 EAE7
32 C0d7 23b6

Передающую и приемную стороны следует имитировать с помощью двух


арифметико-логических устройств (АЛУ) типа 74181. Результаты ручных
расчетов и моделирования поместить в таблицу, форма которой приведена
ниже. В таблице в качестве примера приведены результаты моделирования
криптосистемы для варианта 32.

Таблица 2
Вид документа 1 2 3 4
символ символ символ символ
Открытый текст C 0 d 7
(шестнадцатеричный)
Открытый текст 1100 0000 1101 0111
(двоичный)
Гамма 2 3 b 6
(шестнадцатеричная)
Гамма 0010 0011 1011 0110
(двоичная)
Криптограмма 1110 0011 0110 0001
(расчет)
Криптограмма E 3 6 1
(моделирование)

Задание 3.2. Исследование качества гаммы на криптостойкость

Повторить исследования, описанные в предыдущем задании, взяв другие


значения гаммы (одинаковые для всех вариантов). Провести анализ
полученных результатов, дать комментарии.

Таблица 3
Вид документа 1 2 3 4
символ символ символ символ
Открытый текст C 0 d 7
(шестнадцатеричный)
Открытый текст 1100 0000 1101 0111
(двоичный)
Гамма 0 0 0 F
(шестнадцатеричная)
112
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Гамма 0000 0000 0000 1111


(двоичная)
Криптограмма 1100 0000 1101 1000
(расчет)
Криптограмма C 0 d 8
(моделирование)

Методические указания

Метод гаммирования иначе называют аддитивным методом. Основная идея


данного метода шифрования заключается в том, что открытый текст
представляют в виде двоичных чисел. К этим числам на передающей стороне
прибавляют секретные двоичные числа, которые называются гаммой. В
результате получается нечитаемая криптограмма. Криптограмма поступает на
приемную сторону, где происходит вычитание гаммы из полученных чисел.
Сложение и вычитание чисел на передающей и приемной сторонах
производится с помощью логической операции Исключающее ИЛИ.
Предположим, что открытый текст Р = 1001, а гамма G = 1100. В
результате выполнения логической операции Исключающее ИЛИ получится
следующая криптограмма С:

Р 1 0 0 1
G 1 1 0 0
C 0 1 0 1

На приемной стороне будет повторно выполнена логическая операция


Исключающее ИЛИ:

C 0 1 0 1
G 1 1 0 0
Р 1 0 0 1

Из этих таблиц видно, что переданные и принятые биты одинаковые.


Принципиальная схема криптосистемы показана на рисунке 1.
Значению чисел открытого текста и гаммы задаются с помощью
Генератора Слов (Word Generator). Четыре цифровых индикатора отображают
значения передаваемого и принимаемого текстов, гаммы и криптограммы.
С помощью управляющих сигналов, подаваемых на входы
S 0 0, S1 1, S 2 1, S3 0, M 1 , оба АЛУ устанавливаются в режим выполнения
логической операции Исключающее ИЛИ.

113
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис. 1. Принципиальная схема криптосистемы

На рис. 2 показано, как на Генераторе Слов (Word Generator) установить


нужные значения открытого текста и гаммы для варианта 32.

Рис. 2. Внешний вид Генератора Слов

3.3. Моделирование криптосистем с помощью


программы Multisim

1. Подготовка к работе

По указанной литературе и Приложению к данным методическим


указаниям изучить работу пакета Electronics Wokbench (Multisim), принцип
гаммирования, ответить на контрольные вопросы.

114
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2. Контрольные вопросы

2.1. В чем состоит основная идея криптографии?


2.2. Дайте определение последовательностных цифровых устройств
2.3. Запишите закон де Моргана.
2.4. Перечислите возможности прибора Logic Converter –XLC1.
2.5. Составьте таблицу истинности логического элемента ИЛИ-НЕ
2.6. Составьте таблицу истинности логического элемента И-НЕ.
2.7. Запишите тождества алгебры логики.
2.8. Как записывается логическая функция в совершенной дизъюнктивной
нормальной форме (СДНФ)?
2.9. Как записывается логическая функция в совершенной конъюнктивной
нормальной форме (СКНФ)?
2.10. Дайте определение комбинационного цифрового устройства.
2.11. Запишите законы алгебры логики.
2.12. Опишите методику синтеза ПК с помощью диаграмм Вейча.
2.13. Как представить отрицательное число в дополнительном коде?
2.14. Чем отличаются логические и арифметические операции?
2.15. Для чего используются в АЛУ выводы M и CN?
2.16. Чем отличаются комбинационные цифровые устройства от
последовательностных цифровых устройств?
2.17. Охарактеризуйте различные версии программы Electronics Workbench.

3. Задания на выполнение лабораторной работы

3.1.1. Задание 1. Синтез преобразователя кода


Используя таблицу 3.1.1, разработать преобразователь кода (ПК), для чего
предварительно требуется составить таблицу истинности для своего варианта.
Преобразователи кодов нужно синтезировать с помощью блока Logic Converter
(логический конвертор), который входит в систему моделирования
радиоэлектронных устройств Multisim 8.2.12 Pro.

Таблица 3.1.1
Значения гаммы G
Варианты M G M G M G
M G
1 0,5,6,7 1,3,11 2,8,12,15 4,9,10,13,14
2 2,3,7,11 8,12,14,15 0,1,5,9,13 4,6,10
3 0,1,4,5 2,3,12,14,15 6,8,10 7,9,11,13
4 0,13,14,15 4,6,8,10,12 1,3,5 2,7,9,11
5 1,5,9,13 3,7,11,15 2,6,10,14 0,4,8,13
6 0,5,10,15 3,6,9,12 4,8,7,11 1,2,13,14
7 0,4,8,12 1,5,9,13 2,6,10,14 3,7,11,15
8 2,6,10,14 0,4,8,12 3,7,11,15 1,5,9,13
9 3,7,11,15 2,6,10,14 1,5,9,13 0,4,8,12
115
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

10 4,5,8,9, 2,3,12,13 0,1,6,7 10,11,14,15


11 13,15,3,7 2,6,9,12 0,4,8,11 1,5,9,10,14
12 2,3,6,7 10,11,14,15 4,5,8,9 0,1,12,13
13 2,6,8,12 3,7,11,15 0,4,10,14 1,5,9,13
14 5,7,10,13 4,6,12,15 0,2,8,11 1,3,9,14
15 0,4,9,13 1,5,8,12 3,7,10,14 2,6,11,15
16 3,7,8,12 0,4,10,14 2,6,11,15 1,5,9,13
17 0,1,2,3 4,5,6,7 8,9,10,11 12,13,14,15

Таблица 3.1.1 показывает, какую операцию должна использовать


криптосистема для указанного значения гаммы.
Например, для варианта 17, если гамма равна 0, то выполняемая операция
будет M G . Если значение гаммы равно 11, то операция на передающей
стороне будет M G .

3.1.2. Задание 2. Разработка принципиальной схемы криптографической


системы
Исследуемое устройство будет работать с использованием четырех
операций: Исключающее ИЛИ, равнозначность, сложение и вычитание. Эти
операции должны сменять друг друга при изменении значений гаммы. Для
реализации этого при составлении принципиальной схемы криптосистемы
следует использовать разработанный преобразователь кода.
Пример составления схемы приведен в методических указаниях.
Составленную принципиальную схему криптосистемы следует
использовать для моделирования еѐ работы. Для этого необходимо проверить
выполнение шестнадцати логических и арифметических операций.
Значения операндов открытого текста в зависимости от значения гаммы и
номера варианта выбрать из таблицы.
Таблица 3.1.2
Гамма (G) Открытый текст (М)

0 1 2 3 4 5 6 7
Варианты

1 1 2 3 4 5 6 7 8
2 2 3 4 5 6 7 8 9
3 3 4 5 6 7 8 9 10
4 4 5 6 7 8 9 10 11
5 5 6 7 8 9 10 11 12
6 6 7 8 9 10 11 12 13
7 7 8 9 10 11 12 13 14
8 8 9 10 11 12 13 14 15

116
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

9 9 10 11 12 13 14 15 0
10 10 11 12 13 14 15 0 1
11 11 12 13 14 15 0 1 2
12 12 13 14 15 0 1 2 3
13 13 14 15 0 1 2 3 4
14 14 15 0 1 2 3 4 5
15 15 0 1 2 3 4 5 6
16 0 1 2 3 4 5 6 7
17 3 0 1 2 6 7 4 5
Продолжение таблицы 3.1.2
Гамма Открытый текст (М)
(G)

8 9 10 11 12 13 14 15
Варианты

1 9 10 11 12 13 14 15 0
2 10 11 12 13 14 15 0 1
3 11 12 13 14 15 0 1 2
4 12 13 14 15 0 1 2 3
5 13 14 15 0 1 2 3 4
6 14 15 0 1 2 3 4 5
7 15 0 1 2 3 4 5 6
8 0 1 2 3 4 5 6 7
9 1 2 3 4 5 6 7 8
10 2 3 4 5 6 7 8 9
11 3 4 5 6 7 8 9 10
12 4 5 6 7 8 9 10 11
13 5 6 7 8 9 10 11 12
14 6 7 8 9 10 11 12 13
15 7 8 9 10 11 12 13 14
16 8 9 10 11 12 13 14 15
17 10 11 8 9 14 15 12 13

Таблицу 3.1.2 нужно понимать так. Значения гаммы G для всех вариантов
одинаковые 0…15 (верхняя строка чисел). Открытый текст М имитируется
числами (для каждого варианта своя последовательность). Например, для
варианта 17 эта последовательность такова 3- 0 - 1-…12 - 13.
Результаты моделирования следует сопоставить с результатами ручных
расчетов и занести в таблицу. Ниже приведена форма этой таблицы.
Таблица 3.1.3

117
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Значение Значение
Значение
открытого криптограммы
Значение криптограммы
№ текста (К).
гаммы (К).
п/п (М). Результаты
(G) Результаты
Вариант ручного
моделирования
17 расчета
1 0 3
2 1 0
… … …
16 15 13

4. Методические указания

Моделирование данной криптосистемы производится с помощью


программы Multisim 8.2.12 Professional. Открытый текст, гамма, криптограмма
представлены четырехразрядными двоичными операндами, а управляющие
сигналы формируются с помощью пяти битов. Структурная схема приведена
на рисунке 1.

Рис. 1. Структурная схема криптографической системы

Передающая и приемная стороны имитируются с помощью двух


четырехразрядных арифметико-логических устройств (АЛУ). На передающей
стороне вход M используется для подачи открытого текста, вход G - для подачи
гаммы. На приемной стороне вход K используется для приема криптограммы,
вход G′ – для подключения гаммы. Потоки открытого текста и гаммы
формируются с помощью шестнадцатиразрядного генератора двоичных слов.
Для контроля результатов преобразований (открытого текста на приемной и
передающей сторонах, гаммы и криптограммы) используют четыре
шестнадцатеричных индикатора.
Изменение вида выполняемой операции осуществляется с помощью
преобразователя кода (ПК 1 и ПК 2), на вход которого подается гамма (4 бита),
а выход которого подключается к управляющим входам АЛУ (5 битов).
118
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Сигналы на управляющих входах АЛУ определяют вид выполняемой операции.


Изменение гаммы приводит к изменению сигналов на выходе преобразователя
кода, а, значит, и к изменению управляющих сигналов на передающей и
приемной сторонах.
Для начала требуется произвести синтез преобразователей кода, которые
будут подключены к арифметико-логическим устройствам и определять вид
выполняемой операции. Используя таблицу 3.1.1, составим таблицу истинности
для варианта 17
Таблица 1
№ Гамма Управляю
п/п B3B2B1B0 Операц щие Мo
CN
ия сигналы d
(BCDE)
S3 S 2 S1S0
0 0 0 0 0 0 1 1 0
1 0 0 0 1 M G 0 1 1 0 1 x
2 0 0 1 0 0 1 1 0
3 0 0 1 1 0 1 1 0
4 0 1 0 0 1 0 0 1
5 0 1 0 1 M G 1 0 0 1 1 x
6 0 1 1 0 1 0 0 1
7 0 1 1 1 1 0 0 1
8 1 0 0 0 0 1 1 0
9 1 0 0 1 M G 0 1 1 0 0 0
10 1 0 1 0 0 1 1 0
11 1 0 1 1 0 1 1 0
12 1 1 0 0 1 0 0 1
13 1 1 0 1 M G 1 0 0 1 0 1
14 1 1 1 0 1 0 0 1
15 1 1 1 1 1 0 0 1

Первые два столбца таблицы будут одинаковыми для всех вариантов,


столбец «Управляющие сигналы» составить следующим образом (на примере
варианта № 17): для гаммы равной значениям «0», «1», «2», «3» выполняется
операция M G , поэтому для пунктов 0-3 ставится в соответствие данная
операция. Другие строки таблицы заполняются аналогично. Столбец
«Операция» заполняется исходя из столбца «Управляющие сигналы». Столбец
«Mod» определяет, какую операцию выполняет АЛУ: логическую (его значение
равно 1) или арифметическую(значение равно 0). Значение CN означает перенос
в разрядах: для логических операций безразлично, какое значение примет,
поэтому обозначено символом «х», для арифметического вычитания равно «0»,
для арифметического сложения – «1». Соответствие управляющих сигналов и
операций следующее:
« M G » – «0 1 1 0», « M G » – «1 0 0 1»,
« M G » – «0 1 1 0», « M G » – «1 0 0 1»

119
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Входы S3 S 2 S1S0 и Mod предназначены для формирования управляющих


сигналов, которые позволяют выбрать одну из шестнадцати возможных
операций АЛУ.
По данной таблице составляют логические выражения, используемые для
синтеза преобразователей кода. Составить логические выражения легче всего с
помощью Logic Converter (логический конвертор). Этот инструмент позволяет
создавать преобразователи кодов с числом аргументов n 8 . Для получения
математических выражений, описывающих работу ПК, достаточно в конвертор
ввести таблицу истинности преобразователя кода.
XLC1
AB

Рис. 2. Изображение логического конвектора

Для этого нужно запустить Multisim. На панели справа найти нужный блок
(он четвертый снизу), однократным щелчком мыши переместить его на рабочее
поле. Далее нужно вызвать окно свойств двойным нажатием левой кнопки
мыши и внести таблицу истинности в конвертор. Это действие следует
произвести для каждого управляющего сигнала (S) в отдельности. Анализируя
таблицу, можно заметить, что S3 S0 , S 2 S1 . Это означает, что выражения для
этих управляющих сигналов будут одинаковыми. Для сигналов Мod и CN также
нужно получить логические выражения аналогичным способом. Логические
выражения по управляющим сигналам получить последовательным нажатием
на вторую и третью кнопки в окне свойств логического конвертора в поле
«Conversions». В качестве примера получим выражение для S3 S0 для варианта
17 (рис.3).

Рис. 3. Окно свойств логического конвектора

Как видно из рис. 3, результат синтеза – В. Учитывая последовательность


ввода операндов и их соответствие операндам S, получаем выражение
S3 S 0 2.

120
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Для справки: символ А в данном окне соответствует разряду гаммы В3,


символ В – В2, С – В1, D – В0.
Аналогично получаем следующее:
S2 S1
,M 3 , CN
2 2.

Эти выражения для преобразователя кода на передаче.


Теперь аналогично выполним синтез ПК на приеме. Для этого нужно
изменить таблицу истинности (изменить управляющие сигналы S). При этом
нужно помнить, что логические выражения для приема и передачи не
изменятся, а арифметические поменяются на прямо противоположные, т.е.,
если на передаче у нас было арифметическое сложение, то на приеме будет
арифметическое вычитание, и наоборот. В итоге таблица истинности примет
следующий вид (обратить внимание, что CN также поменяло свои значения).

Таблица 3
№ Гамма Управляю
п/п Операц щие Мo
B3B2 B1B0 CN
ия сигналы d
(BCDE)
S3 S 2 S1S0
0 0 0 0 0 0 1 1 0
1 0 0 0 1 M G 0 1 1 0 1 x
2 0 0 1 0 0 1 1 0
3 0 0 1 1 0 1 1 0
4 0 1 0 0 1 0 0 1
5 0 1 0 1 M G 1 0 0 1 1 x
6 0 1 1 0 1 0 0 1
7 0 1 1 1 1 0 0 1
8 1 0 0 0 1 0 0 1
9 1 0 0 1 M G 1 0 0 1 0 1
10 1 0 1 0 1 0 0 1
11 1 0 1 1 1 0 0 1
12 1 1 0 0 0 1 1 0
13 1 1 0 1 M G 0 1 1 0 0 0
14 1 1 1 0 0 1 1 0
15 1 1 1 1 0 1 1 0

Выражения на приеме примут вид S3 S0 3 2 3 2 , S2 S1 3 2 3 2,

M 3 , CN 2.

На основе этих выражений и «собираем» ПК на передаче и приеме,


подключаемые к АЛУ. В итоге принципиальная схема примет вид (рис.4)

121
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Рис. 4. Принципиальная
схема криптосистемы

Четырехбитный открытый текст подается на вход А первого арифметико-


логического устройства (АЛУ). Гамма подается на вход В. Вид выполняемой
операции должен задаваться с помощью преобразователя кода ПК1.
Криптограмма будет формироваться на выходе F первого АЛУ. Дешифрация
криптограммы будет осуществляться на приемной стороне с помощью второго
АЛУ. Вид выполняемой операции синхронно изменяется под управлением
гаммы. Принятый открытый текст появлялся на выходе F второго АЛУ.
Исходный текст, принятый текст, гамма и криптограмма отображаются с
помощью индикаторов U3…U6. Значения гаммы и передаваемый текст
формируются с помощью генератора слов XWG1 (Word Generator).
Как и всякая имитация, рассматриваемая модель не полностью
соответствует реальной криптографической системе. Например, при
моделировании предполагается, что соединение между передающей и
приемной сторонами происходит по четырем проводам. В реальной
криптосистеме связь должна осуществляться по двухпроводной линии.
Кроме того, при моделировании считается, что операнды, циркулирующие
в криптосистеме, являются четырехразрядными целыми числами. Диапазоны
изменения чисел составляли 0 M 15 и 0 G 15 .
Кроме того, в реальной криптосистеме при формировании криптограммы
возможно использование не только целых, но и вещественных чисел.
На следующем этапе выполнения лабораторной работы следует проверить
правильность работы схемы. Для этого в окне свойств генератора слов XWG1
нужно выставить значения гаммы и открытого текста, как показано на рисунке
5, и нажатием на клавишу Step, поочередно проверить все операции. Для
удобства флажок таблицы исчисления должен стоять на «Hex», значащееся
122
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

разряды крайние справа: например «0», «6», где «0» – это значение гаммы, а
«6» – значение открытого текста. Нужно помнить – числу «10» соответствует
буква «А», «11» – «В», «12» – «C», «13» – «D», «14» – «E», «15» – «D».

Рис. 5. Окно свойств генератора слов

Как видно из рисунка 5, выполняется 3-я по счету операция, в таблице 2 –


это операция Исключающее-ИЛИ. Складываются по модулю 2 числа «2» и «1».
Выполнив эту операцию с числами в двоичном коде, получим ответ «3», что и
получили на выходе первого АЛУ (криптотекст), а на выходе второго АЛУ
получили ответ «1», что соответствует значению открытого текста на входе
первого АЛУ, следовательно, операция криптосистемой выполнена верно.
Аналогично проверяются и другие строки таблицы.
Результаты проверки следует внести в таблицу 3.1.3.

3.4. Обмен зашифрованными сообщениями


с помощью программы PGP

1. Подготовка к работе

По указанной литературе и Приложению изучить порядок работы с


программой PGP. Ответить на контрольные вопросы.

2. Контрольные вопросы

2.1. Для чего предназначена программа PGP?


2.2. Каково назначение цифровой подписи?
2.3. Как с помощью программы PGP создать ключи?
2.4. Для чего применяются открытый (публичный) и закрытый (секретный)
ключи?
2.5. Как происходит обмен открытыми ключами через специальный сервер?
2.6. Как включить свой открытый ключ в сообщение электронной почты?
2.7. Как и для чего осуществляется шифрование файлов на диске?
2.8. Как изменить свой пароль? В каких случаях это необходимо?
2.9. Назовите способы шифрования текстовых файлов с помощью PGP.
2.10. Как проверяется достоверность ключа?
2.11. Как удалить устаревшие ключи?
123
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2.12. Как дешифровать закрытый файл?


2.13. Как удалять файлы с помощью PGP?
2.14. Кто является автором программы PGP?
2.15. Какая версия PGP используется в данной работе?
2.16. Что означает термин «аутентификация»?
2.17. Что означает термин «хэш-функция»?
2.18. Что такое верификация?
2.19 Что такое сертификация?
2.20. Что означает аббревиатура PGP? Каков перевод названия программы PGP
с английского языка на русский?
2.21. Вычислите контрольную сумму для слова, заданного преподавателем.
2.22. Какой фразой начинается текст, содержащий открытый ключ?
2.23. Какой фразой заканчивается текст, содержащий открытый ключ?
2.24. Как подписать (сертифицировать) ключ?
2.25. Что обеспечивает высокую криптостойкость программы PGP?
2.26. Какова длина ключа, использованного в данной работе?
2.27. Перечислите способы обмена открытыми ключами.
2.28. Что такое идентификатор пользователя?

3. Задание на выполнение лабораторной работы

3.1. Задание 1. Создание ключей


1.1. Создайте связку ключей (в неѐ входят открытый и закрытый ключи).
Длину ключа установите 2048 бит.
1.2. Запишите в отчет первую и последнюю фразы текста, описывающего
открытый ключ (эти фразы являются отметками начала и конца открытого
ключа).
1.3. Подсчитайте число символов, содержащихся в открытом ключе.
Результаты поместите в отчет.

3.2. Задание 2. Шифрование и дешифрование текста на жестком диске


2.1. Наберите в любом редакторе текста (например, MS Word, WordPad)
свои фамилию, имя, номер группы. Сохраните файл на жестком диске в
указанной преподавателем папке, дав файлу имя «Задание 2». Зашифруйте
созданный файл своим открытым ключом.
2.2. Дешифруйте текст, зашифрованный в п. 2.1. Опишите порядок
выполнения данного задания.
2.3. Дешифруйте текст документа (doc1.doc.pgp, doc2.doc.pgp,…,
doc16.doc.pgp), порядковый номер которого соответствует номеру Вашего
варианта. Перечисленные документы находятся в папке «Задание 2.3».
В этом задании используются ключ «Students» и пароль «Персональная
безопасность».
Дешифрованный текст поместите в отчет.

124
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

3.3. Задание 3. Обмен ключами


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

3.4. Задание 4. Проверка достоверности полученных ключей


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

3.5. Задание 5. Шифрование текста и передача криптограммы


В соответствии с номером варианта выберите из таблицы 1 текст и
зашифруйте его с помощью открытого ключа Получателя. Шифрование следует
производить в текстовом редакторе с помощью опции Current Window
(Текущее окно). Криптограмму отправьте Получателю. (Способ передачи
криптограммы определяет преподаватель: через локальную сеть, через
глобальную сеть, с помощью Flash-памяти).
Таблица 1
Вариа Открытый текст
нт
1 Бородатый человек много рассказывал про
этот ключик,
но я все забыла. Помню только, что нужно
отворить им какую-то дверь и это принесет
счастье...
2 Пьеро вскочил, размахивая руками.
- Веди меня к ней... Если ты мне поможешь
отыскать
Мальвину, я тебе открою тайну золотого
ключика...
3 - Как! - закричал Буратино радостно. - Ты
знаешь тайну
золотого ключика?
- Знаю, где ключик лежит, как его достать,

125
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

знаю, что им
нужно открыть одну дверцу...
4 Черепаха позеленела от злости и сказала
мне:
- На дне пруда лежит волшебный ключик...
Я знаю одного человека, - он готов сделать
все на свете, чтобы получить этот
ключик..."
5 - Ключик на дне озера... Мы никогда не
увидим счастья...
- А это ты видел? - крикнул ему в ухо
Буратино. И, вытащив
из кармана ключик, повертел им перед
носом Пьеро. - Вот он!
6 Буратино сказал:
- Я все-таки хочу во что бы то ни стало
узнать у Карабаса
Барабаса, где эта дверца, которую
открывает золотой ключик. За дверцей
хранится что-нибудь замечательное,
удивительное... И оно должно принести нам
счастье.
7 Он только теперь понял, как дороги ему
друзья. Пусть
Мальвина занимается воспитанием, пусть
Пьеро хоть тысячу раз подряд читает
стишки, - Буратино отдал бы даже золотой
ключик, чтобы увидеть снова друзей.
8 - Эта дверца и этот золотой ключик, -
проговорил Карло, -
сделаны очень давно каким-то искусным
мастером. Посмотрим, что спрятано за
дверцей.
9 Я буду рыдать, как одинокая корова,
стонать, как больная курица, плакать, как
крокодил. Я стану на колени перед самым
маленьким лягушонком... Ключик должен
быть у меня!
10 И она не спросила, кто я такой
И с чем я стучался к ней.
Она сказала: Возьми с собой
Ключи от моих дверей.
11 Я, как настройщик, ключик подберу
К твоей душе, как к старому роялю,
126
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Чтоб подарить твоим глазам печальным


Своей любви волшебную игру.
12 Твоя душа – как семь забытых нот,
Играть по ним так трудно научить.
Но знаю я, что, может быть,
Ты просто ждешь, кто ключик подберет.
13 Все спешим мы к тому повороту,
Где пылает огонь без причин,
Так заприте ж вы Волчьи Ворота
И в ломбард заложите ключи.
14 А счетчик такси стучит
И ночь уносит меня.
От разных квартир ключи
В кармане моем звенят.
15 Молчат во всех морях все корабли,
Молчат морские станции земли,
И ты ключом, приятель, не стучи,
Ты эти три минуты помолчи.
16 Словно слезы – капли на стекле,
Ключ – тобой забытый на столе.
Пусть судьба тебя хранит
От любых обид.
Отпускаю, как ни больно мне…

3.6. Задание 6. Прием и дешифрация криптограммы


Указанным преподавателем способом получите криптограмму Вашего
Отправителя. Запишите в отчет первую и последнюю полную строчки
криптограммы. Расшифруйте криптограмму, используя свой закрытый ключ.
Открытый текст поместите в отчет.

3.7. Задание 7. Создание сообщения, заверенного цифровой подписью


Наберите в любом редакторе текста (например, MS Word, WordPad,
блокнот) свои фамилию, имя, номер группы. Используя вкладку Current
Window (Текущее окно) программы PGP, заверьте сообщение цифровой
подписью. Сохраните документ на жестком диске в указанной преподавателем
папке, дав файлу имя «Задание 7».

3.8. Задание 8. Обмен открытыми сообщениями с цифровой подписью


8.1. Отправьте открытое сообщение с Вашей цифровой подписью своему
Получателю (см. Задание 7).
8.2. С помощью опции Current Window (Текущее окно) проверьте
подлинность сообщения, полученного Вами от Отправителя.

127
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

8.3. Измените текст подписанного документа (замените, например, один


или два символа открытого сообщения). Снова проверьте документ на
подлинность.
Результаты проверок поместите в отчет (в отчете следует обязательно
привести первую строку проверенного документа).

3.9. Задание 9. Создание зашифрованных сообщений, заверенных


цифровой подписью
Создайте документ, содержащий текст, указанный в таблице 2.
Зашифруйте полученный файл и заверьте его своей цифровой подписью.

Таблица 2
Вариа Открытый текст
нт
1 Компьютерная программа делает то, что вы
приказали ей сделать, а не то, что вы хотели,
чтобы она сделала.
2 Машины должны работать. Люди должны
думать.
3 Тот, кто говорит "мы", не имеет в виду себя.
4 Хочешь избежать критики - ничего не делай,
ничего не говори и будь никем.
5 Кто ясно мыслит, ясно излагает.
6 Дважды два уже четыре, а будет ещѐ лучше.
7 Мы вечно надеемся, что всѐ как-то сложится,
потому что другие лучше, чем мы.
8 На всякую ключевую проблему найдѐтся
своя отмычка.
9 Либо вы часть решения, либо вы часть
проблемы.
10 Чем меньше вы собираетесь делать, тем
больше вы должны об этом говорить.
11 Ничего не делать - отличное занятие. Но
какая огромная конкуренция!

12 Всѐ должно быть изложено так просто, как


только возможно, но не проще.
13 Всѐ не только не так просто, но и просто не
так.
14 Если двое держатся одного мнения, за этим
128
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

часто стоит кто-то третий.


15 Слабые люди верят в удачу, сильные - в
причину и следствие.
16 Знание некоторых принципов легко
возмещает незнание некоторых фактов.

3.10. Задание 10. Обмен зашифрованными сообщениями, заверенными


цифровой подписью
10.1. Отправьте созданный Вами в предыдущем пункте файл своему
Получателю.
10.2. Примите зашифрованный файл от своего Отправителя, дешифруйте
его, проверьте цифровую подпись.
Дешифрованный текст запишите в отчет.

3.11. Задание 11. Передача и прием зашифрованных сообщений с помощью


почтовых клиентов (Outlook Express, The Bat и т.п.)
11.1. Составьте, зашифруйте и отправьте сообщение Получателю с
помощью почтового клиента. Текст сообщения выберите по своему
усмотрению.
11.2. Примите и дешифруйте сообщение, полученное с помощью
почтового клиента.
Текст полученного и отправленного сообщений поместите в отчет.
Опишите порядок выполнения задания.

3.12. Задание 12. Удаление файлов


После завершения данной лабораторной работы удалите с помощью
программы PGP файлы, находящиеся в Вашей папке. Удаление файлов
производится лишь после успешного отчета по выполненной работе и с
разрешения преподавателя. Опишите порядок удаления файлов.

4. Методические указания

Программа PGP предназначена для шифрования и дешифрования


текстовых сообщений и файлов, создания и проверки цифровой подписи
методом открытого ключа (так называемое несимметричное шифрование),
сертификации существующей цифровой подписи.
Программа PGP шифрует файлы и почтовые сообщения так, чтобы только
определѐнные (избранные, доверенные) корреспонденты могли их прочесть или
использовать. Эти корреспонденты должны владеть специальным секретным
ключом.
Для шифрования передаваемой информации используется открытый ключ
Получателя. Пользователь, принявший зашифрованное сообщение, сможет
расшифровать его, применяя свой закрытый (секретный) ключ.
Ключ – это набор символов (букв, цифр, знаков препинания и т.п.), с
помощью которого можно при приеме сообщения криптограмму превратить в
129
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

открытый текст, а при передаче сообщения наоборот: открытый текст


превратить в криптограмму.
Кроме того, секретный ключ применяется для подписи сообщения,
которое один корреспондент посылает другому. Получатель корреспонденции
использует открытый ключ Отправителя сообщения, чтобы определить,
действительно ли сообщение подписано Отправителем, и проверить
целостность поступившего сообщения.
Высокая криптостойкость программы PGP достигается за счет надежных
алгоритмов шифрования, при этом допускается использование ключа
достаточно большой длины. В настоящее время математиками не разработаны
методы взлома закрытых ключей за приемлемое для практики время.
Рассмотрим основные понятия, которые используются в этой работе.
Сообщение – данные определенного формата, предназначенные для
передачи. В этой работе под сообщением понимается текстовая информация,
набранная в каком-либо редакторе.
Электронная цифровая подпись (ЭЦП) – последовательность символов,
которая позволяет однозначно установить (идентифицировать) автора
полученного документа (владельца ЭЦП) и проверить целостность
(подлинность, адекватность) содержания полученного документа.
В отличие от обычной (рукописной) подписи электронная цифровая
подпись в каждом случае всегда разная, и ее вид (значение) зависит от
содержания подписываемого документа. Заметим, что длина ЭЦП (размер,
число бит) всегда одинаковая, независимо от длины исходного заверяемого
сообщения.
Для создания ЭЦП используется хэш-функция, которая является
односторонней функцией. Термин «односторонняя функция» означает, что
легко вычислить значение хэш-функции по известному аргументу, и очень
трудоемко найти значении аргумента при известном значении хэш-функции.
Аутентификация файла – наложение цифровой подписи с помощью
своего закрытого ключа на заверяемый файл (сообщение). Аутентификация
позволяет осуществить на приемной стороне (Получателю) проверку
(верификацию) целостности и неизменности принятого документа, а также
проверить подлинность субъекта, отправившего сообщение.
Верификация – проверка Получателем подлинности цифровой подписи
Отправителя с помощью открытого ключа Отправителя.
Сертификация ключа – наложение цифровой подписи с помощью своего
закрытого ключа на открытый ключ другого пользователя.
Чтобы сертифицировать (подписать) ключ с помощью программы PGP,
следует выделить его и выбрать пункт (опцию) Sign (Подписать) из меню Keys
(Ключи) в PGPkeys (PGP ключи). Затем можно указать степень доверия,
оказываемую данному ключу, щѐлкнув на нѐм правой кнопкой мыши и выбрав
из контекстного меню пункт Key Properties (Свойства ключа). Если указать,
что степень доверия к этому ключу является «полной» («Trusted»), другие
ключи, подписанные его владельцем, будут считаться действительными.

130
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Уникальный идентификатор (ID) – набор символов, который позволяет


различать ключи, использующие одинаковое имя Пользователя и адрес
электронной почты.
Чтобы определить уникальный идентификатор, следует выбрать нужный
ключ из списка. Для этого щелчком правой кнопки мыши нужно открыть окно
Key Properties (Свойства ключа). Первая строчка – это его идентификатор.
Например, «0x2FB51720».
Отпечаток (дайджест, на английском языке - Fingerprint) – специальный
набор символов, который позволяет проверить достоверность (подлинность)
принятого от Получателя открытого ключа. Если отпечатки открытого ключа
Получателя одинаковые и у Получателя и у Отправителя, значит, открытый
ключ действительно принадлежит Получателю. Свое название термин получил
за некоторое сходство с отпечатками пальцев, которые порой используют для
идентификации личности конкретного человека.

В следующей таблице приведен пример отпечатка некоторого открытого


ключа.

eyegla congrega snapsho booksel


ss te t ler
beami informan booksh Pegasu
ng t elf s
absurd forever kickoff torpedo
Aztec business unearth docume
man nt
bluebir bottomle fallout vagabo
d ss nd

Атакой называются действия, предпринимаемые криптоаналитиком с


целью раскрытия (взлома) секретного ключа.
Методические указания к п. 3.1.
Создание открытого и закрытого ключей производится в следующей
последовательности.
1. Щѐлкнуть значок PGP на панели задач. (Альтернативный способ: Пуск
– Программы – PGP).
2. Открыть окно PGPkeys (PGP ключи).
3. Выбрать пункт New Key (Новый ключ) из меню Keys (Ключи).
4. Щѐлкнуть кнопку Expert (Эксперт) для установки дополнительных
параметров.
5. Ввести свое имя (псевдоним) и электронный адрес. Наличие имени
пользователя поможет другим корреспондентам идентифицировать
(находить) владельца открытого ключа.
6. Выбрать алгоритм шифрования Diffie-Hellman/DSS.
7. Определить (задать) длину ключа от 1024 до 4096 битов для ключей
131
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Diffie-Hellman/DSS. Известно, что чем больше длина ключа, тем


меньше вероятность, что злоумышленник сможет его взломать
(подобрать) во время атаки.
8. Установить дату истечения срока хранения ключа. Например, срок
действия ключа установить один месяц.
9. Щѐлкнуть кнопку Далее.
10.Чтобы видеть на экране вводимый пароль, необходимо убрать флажок
(включатель) Hide Typing (Скрыть отображение пароля).
11.Ввести пароль (Passphrase). Пароль должен содержать достаточно
большое число символов. Он может включать в себя буквы, пробелы,
цифры, специальные символы и знаки пунктуации. Значение символов
пароля зависит от выбранного регистра, то есть программа PGP
различает строчные и заглавные буквы. Чем длиннее пароль, тем выше
его криптостойкость. Заметим, что программа PGP препятствует
использованию ненадежных паролей, длина которых менее 8 символов.
12.Повторить ввод Passphrase (Пароля).
13.Щѐлкнуть кнопку Далее.
14.Щѐлкнуть кнопку Готово. После этого должен появиться значок пары
ключей в окне PGPkeys (PGP ключи). Значок выглядит в виде профиля
человека.
15.Щѐлкнуть правой кнопкой мыши на заголовке ключа и выбрать Set as
Default (Установить по умолчанию).
Примечание. Чтобы просмотреть текст открытого ключа, нужно щѐлкнуть
правой кнопкой мыши на заголовке ключа, после чего выбрать опцию Copy
(Копировать). Далее выполнить команду «Вставить» в окне текстового
редактора. Подсчет числа символов в открытом ключе с помощью текстового
редактора MS Word осуществляется путем последовательного выполнения
команд: Сервис – Статистика – Символы (с пробелами).

Методические указания к п.п. 3.2, 3.9.


Шифрование, цифровая подпись файла.
1. Создать текстовый документ.
2. Сохранить текстовый документ на диске в папке, указанной
преподавателем.
3. Зашифровать (подписать) созданный текстовый документ (файл).
Для выполнения нужного действия необходимо, щелкнув по вновь
созданному файлу правой кнопкой мыши, активизировать в контекстном меню
опцию PGP. Далее выбрать необходимый пункт: – Encrypt (Зашифровать),
Sign (подписать) или Encrypt & Sign (Зашифровать и подписать).
Для шифрования файла в появившемся диалоговом окне Key Selection
Dialog (Окно выбора ключей) нужно перенести ключ Получателя из верхнего
окна в нижнее окно. При шифровании файла на жѐстком диске в качестве
ключа Получателя использовать свой открытый ключ.

132
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Верхнее окно имеет заголовок Drag users from this list to the Recipients
list (Перенесите имя пользователя из этого списка в список Получателей), а
нижнее окно - заголовок Recipients (Получатели).
Для выполнения шифрования необходимо нажать кнопку ОК.
4. Убедиться, что в соответствующей папке появился новый документ с
расширением pgp.
5. С помощью опции Wipe (Стереть) удалить документ с открытым
текстом.

Дешифрация, проверка закрытого файла.


1. Щелчком правой кнопки мыши по зашифрованному файлу вызвать
контекстное меню и последовательно пройти пункты PGP –
Decrypt&Verify (Дешифровать и проверить).
2. При дешифровании файла ввести пароль в нижнюю часть появившегося
диалогового окна PGPshell – Enter Passphrase (Оболочка PGP – Ввод
пароля).
3. Нажать кнопку ОК.

Методические указания к п. 3.3.


Включение открытого ключа в сообщение электронной почты.
Первый способ: передача ключа в виде текста в теле сообщения.
1. Запустить опцию PGPkeys (PGP ключи).
2. Выбрать ключ.
3. Выполнить опцию Copy (Копировать) в меню Edit (Редактирование).
4. Вставить в сообщение текст ключа, находящегося в буфере.
При получении открытого ключа нужно скопировать текст ключа в буфер,
затем последовательно выполнить опции PGPkeys (PGP ключи) - Paste
(Вставить) из меню Edit (Редактирование).
Второй способ: передача ключа в виде отдельного файла.
1. Выполнить команду (опцию) PGPkeys (PGP ключи).
2. Выбрать нужный ключ.
3. Щѐлкнуть по кнопке Export (Экспорт) в меню Keys (Ключи).
4. Сохранить открытый ключ в файле на диске.
Следует обратить внимание на то, что файл открытого ключа имеет
расширение .asc.
Чтобы добавить новый открытый ключ в PGPkeys (PGP ключи), нужно
щелкнуть по кнопке Import (Импорт) в меню Keys (Ключи). Затем выбрать
нужный файл с открытым ключом на диске. Добавить ключ можно также
двойным щелчком левой кнопкой мыши по ключу.
Для обмена ключами можно поместить открытые ключи на специальный
сервер. Это удобно для получения последней версии открытого ключа
Получателя, а также освобождает пользователей от проблемы хранения
большого количества открытых ключей на локальном (персональном)
компьютере.

133
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Экспортирование открытого ключа на сервер ключей.


1. Щѐлкнуть значок PGP на панели задач.
2. Открыть окно PGPkeys (PGP ключи), используя одноименную опцию.
3. Щѐлкнуть на нужном ключе правой кнопкой мыши.
4. Выполнить опцию (команду) Server (Сервер).
5. Выбрать пункт меню Send to… (Отправить)
6. Указать (выбрать) сервер, на котором будет помещѐн ключ Получателя.

Импорт открытого ключа с сервера.


1. Открыть PGPkeys (PGP ключи).
2. Открыть меню Server (Сервер).
3. Выбрать опцию Search (Поиск).
4. Ввести почтовый адрес, имя Пользователя или уникальный
идентификатор (ID) владельца открытого ключа, который нужно найти.

Методические указания к п.п. 3.4 – 3.10.


Шифрование, цифровая подпись содержимого текущего окна.
1. Щѐлкнуть значок PGP на панели задач.
2. Активизировать опцию Current Window (Текущее окно).
3. Далее выбрать соответствующую опцию: Encrypt (Зашифровать), Sign
(Подписать) или Encrypt & Sign (Зашифровать и подписать).
4. При шифровании текстового сообщения поместить имя получателя в
нижнее окно.
5. Набрать свой пароль, если осуществляется цифровая подпись.
6. Полученный текст будет размещѐн в текущем окне.

Проверка цифровой подписи и дешифрация сообщений в текущем окне.


1. Щѐлкнуть значок PGP на панели задач.
2. Выбрать Current Window (Текущее окно).
3. Выполнить команду Decrypt&Verify (Дешифровать и проверить).
4. Если сообщение зашифровано, ввести свой пароль.

Методические указания к п. 3.11.


Использование программы PGP в почтовых клиентах.
При использовании почтового клиента, поддерживающего программу PGP,
обращение к функциям PGP производится щелчком соответствующих кнопок в
инструментальной панели клиента. Например, для шифрования сообщения
следует нажать значок Encrypt PGP Message (Зашифровать сообщение PGP).
Чтобы подписать сообщение, нужно нажать значок Sign PGP Message
(Подписать сообщение PGP). При отправке сообщения нажатие кнопки PGP
инициализирует функции шифрования и (или) подписи. Затем следует послать
текст Получателю.
Во время получения электронной почты от пользователя PGP
дешифрование сообщения и проверка цифровой подписи осуществляется
щелчком кнопки Decrypt PGP Message (Дешифровать сообщение PGP).
134
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Методические указания к п. 3.12.


Использование PGP для удаления файлов.
Для удаления файла следует вызвать контекстное меню (щелчок правой
кнопкой мыши по удаляемому файлу). Затем нужно последовательно
выполнить команды PGP – Wipe (Стереть).
Порядок изменения пароля.
1. Щѐлкнуть значок PGP на панели задач.
2. В появившемся меню открыть окно PGPkeys (PGP ключи).
3. Правой кнопкой мыши щѐлкнуть выбранный ключ, открыть опцию Key
Properties (Свойства ключа).
4. Щѐлкнуть по кнопке Change Passphrase (Изменить пароль).
5. Ввести в текстовое поле новый пароль Пользователя.

3.5. Стеганографические программы


Courier и S-Tools

1. Подготовка к работе
Изучить порядок работы с программами Courier и S-Tools. Ответить на
контрольные вопросы.

2. Контрольные вопросы

2.1. В чем состоит основная идея стеганографии?


2.2. Для чего предназначена программа Courier?
2.3. Для чего предназначена программа S-Tools?
2.4. В чем принципиальное различие криптографии и стеганографии?
2.5. Что означает термин «контейнер»?
2.6. Приведите примеры контейнеров, которые могут быть использованы для
скрытой передачи информации.
2.7. Какой тип графических файлов (расширение) применим для сокрытия
текста в программе Courier?
2.8. Какие контейнеры используются в программе S-Tools?
2.9. Каковы сферы использования стеганографии?
2.10. Что означает аббревиатура LSB?
2.11. Может ли программа Courier скрыть в одном контейнере несколько
сообщений?
2.12. Как с помощью программы S-Tools скрыть файл в графическом
контейнере?
2.13. Как, используя программу S-Tools, скрыть файл в звуковом контейнере?
2.14. Как восстановить данные, скрытые программой S-Tools в графическом
файле?
135
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2.15. Как извлечь скрытые данные из звукового контейнера с помощью


программы S-Tools?
2.16. Назовите имя автора программы Courier.
2.17. Кто является автором программы S-Tools?
2.18. Как преобразовать двоичное число в шестнадцатеричное?
2.19. Как преобразовать шестнадцатеричное число в двоичное?
2.20. Как преобразовать десятичное число в двоичное число?
2.21. Как преобразовать двоичное число в десятичное число?

3. Задания на выполнение лабораторной работы

3.1. Задание 1. Изучение принципа стеганографии


В соответствии со своим номером варианта необходимо скрыть текст из
трех букв (табл.1) в указанном контейнере – последовательности двоичных
чисел (24 байта).

Контейнер для нечетных вариантов

11001010 00110100 10001111 11110011 00011110 10101100


00111011 01010101 01100111 00110011 00011101 11100010
10101011 11110110 00001101 10010001 01011010 00101110
00101010 11010001 00110111 10110010 01010101 01100011

Контейнер для четных вариантов

01111001 01110100 00100101 01110111 00010100 10100011


00101001 11010010 01001111 10110101 01001000 00111111
01000010 10110110 11011111 10110001 01011010 10001000
01101110 10010000 01110101 10010110 00010001 11101011

Таблица 1
Вари Текст Вариан Текст
ант т
1 Fox 9 Миг
2 Hug 10 Бит
3 Big 11 Сон
4 Red 12 Час
5 Dog 13 Эра
6 Cat 14 Год
7 Arm 15 Сто
8 Lip 16 Век

136
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Отчет должен содержать исходную последовательность байтов (пустой


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

3.2. Задание 2. Сокрытие текста в графическом контейнере и его


извлечение с помощью программы Courier
3.2.1. Используя программу Courier, скрыть в рисунке свою фамилию, имя
и номер группы. Полученный файл сохранить в своей папке. Рисунки-
контейнеры находятся в папке Courier_Pic_clean, причем имена (в данном
случае порядковые номера) файлов совпадают с номерами вариантов. В отчете
следует привести описание порядка выполнения данного задания.
3.2.2. Из папки Courier_Pic_secr извлечь информацию, скрытую в файле,
имя которого соответствует номеру варианта. Извлечѐнный текст поместить в
отчѐт.

3.3. Задание 3. Сокрытие (размещение, внедрение) текста в звуковом


контейнере и его извлечение (программа S-Tools)
3.3.1. В соответствии со своим вариантом скрыть заданный текст в
указанном звуковом файле (таблица 2). Звуковые файлы (не начиненные
контейнеры) следует выбрать из папки Sounds_clean (Звуки_чистые). Текст
рекомендуется набирать в текстовом редакторе Notepad (Блокнот). Пароль и
метод шифрования нужно выбрать самостоятельно. Зашифрованный файл
(начиненный контейнер) следует сохранить в собственной папке.
В отчете необходимо привести максимально допустимый объем
скрываемой информации в данном звуковом файле, описать порядок сокрытия
текстового файла в звуковом контейнере с помощью программы S-Tools, а
также указать выбранный алгоритм шифрования и пароль.
Таблица 2
№ Имя Текст
вар файла
иан
та
1 Snd1.w Нашу тайну редко выдает тот, кто ее
av знает, а чаще тот, кто ее угадывает.
2 Snd2.w Никогда не думайте ни минуты о
av людях, которых вы не любите.
3 Snd3.w Многие принимают свою память за
av ум, а свои взгляды – за факты.
4 Snd4.w Труд делает нечувствительным к
av огорчениям.
5 Snd5.w Счастье не в том, чтобы делать
av всегда, что хочешь, а в том, чтобы
всегда хотеть того, что делаешь.
137
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

6 Snd6.w Говорите правду – и вы будете


av оригинальны.
7 Snd7.w И жемчугов, и трона золотого
av Ценней разумно сказанное слово.
8 Snd8.w Ясность украшает глубокие мысли.
av
9 Snd9.w Вглядись в явление – и увидишь, что
av оно есть шелуха другого, глубже его
лежащего.
10 Snd10. Не бойтесь убивающих тело, а
wav бойтесь убивающих душу.
11 Snd11. Тот, кто требует платы за свою
wav честность, чаще всего продает свою
честь.
12 Snd12. Поверь мне – счастье только там
wav Где любят нас, где верят нам!
13 Snd13. Если это не секрет, можешь не
wav говорить.
14 Snd14. Тот, кто владеет собой, владеет
wav миром.
15 Snd15. Одно и то же слово и совет
wav На пользу мудрецу, глупцу во вред.
16 Snd16. Язык используется либо для
wav выражения мыслей, либо для
сокрытия мыслей, либо вместо
мыслей.

3.3.2. Выполнить обратное преобразование, то есть извлечь скрытый текст


из звукового файла (начиненного контейнера). Файл с начиненным
контейнером находится в папке Sounds_secr (Звуки секретные). Извлеченный
файл следует сохранить в своей папке. В отчете привести полученный текст, а
также описать порядок извлечения скрытого текста из начиненного контейнера.
Имя файла, пароль и использованный алгоритм шифрования выбираются
из таблицы 3 в соответствии с номером варианта.

Таблица 3
Ва Файл Пароль Алгоритм
р
1 1_hidden.w abc MDC
av
2 2_hidden.w sdfr DES
av
3 3_hidden.w red Triple
av DES
138
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

4 4_hidden.w mas IDEA


av
5 5_hidden.w pass DES
av
6 6_hidden.w word MDC
av
7 7_hidden.w ais Triple
av DES
8 8_hidden.w qwerty IDEA
av
9 9_hidden.w show Triple
av DES
10 10_hidden. park MDC
wav
11 11_hidden. sole DES
wav
12 12_hidden. star IDEA
wav
13 13_hidden. moon MDC
wav
14 14_hidden. ibm Triple
wav DES
15 15_hidden. intel DES
wav
16 16_hidden. rain MDC
wav

3.4. Задание 4. Сокрытие (размещение, внедрение) текста в графическом


контейнере и его извлечение (программа S-Tools)
3.4.1. В соответствии со своим вариантом скрыть заданный текст в
указанном графическом файле (таблица 4). Графические файлы (не начиненные
контейнеры) следует выбрать из папки Pictures_clean (Картинки_чистые). Текст
рекомендуется набирать в текстовом редакторе Notepad (Блокнот). Пароль и
метод шифрования нужно выбрать самостоятельно. Зашифрованный файл
(начиненный контейнер) следует сохранить в своей папке.
В отчете необходимо указать максимально допустимый объем скрываемой
информации в данном графическом файле, описать порядок сокрытия
текстового файла в графическом контейнере с помощью программы S-Tools, а
также привести выбранный алгоритм шифрования и пароль.

139
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Таблица 4
№ Имя
вар файла Текст
иан
та
1 Pic1.b Доброта – язык, на котором немые
mp могут говорить и который глухие
могут слышать.
2 Pic2.b Где мало слов, там вес они имеют.
mp
3 Pic3.b Лишить сердце желаний – все равно
mp что лишить землю атмосферы.
4 Pic4.b Искусство, в сущности, отражает
mp вовсе не жизнь, а зрителя.
5 Pic5.b Молчание иногда более
mp многозначительно и возвышенно, чем
самое благородное и самое
выразительное красноречие.
6 Pic6.b Высший поступок – поставить
mp другого впереди себя.
7 Pic7.b Дороже всех титулов – доброе сердце.
mp
8 Pic8.b Видеть и чувствовать – это быть,
mp размышлять, это жить.
9 Pic9.b Время и случай ничего не могут
mp сделать для тех, кто ничего не делает
для себя самого.
10 Pic10.b Истинная любовь тем отличается от
mp золота и глины, что она не становится
меньше, будучи разделенной.
11 Pic11.b Красота – как драгоценный камень:
mp чем она проще, тем драгоценнее.
12 Pic12.b Гениальность – это прежде всего
mp выдающаяся способность быть за все
в ответе.
13 Pic13.b Вознаграждению и наказанию
mp подвластно все в этом мире. Все,
кроме сердца.
14 Pic14.b Все приходит для того, кто умеет
mp ждать.
15 Pic15.b Человек не может быть неисправимо
mp плохим, если он хотя бы раз от души
смеялся.
16 Pic16.b Счастье не имеет сравнительной
140
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

mp степени.

3.4.2. Выполнить обратное преобразование, то есть с помощью S_Tools


извлечь скрытый текст из графического файла (начиненного контейнера). Файл
с начиненным контейнером находится в папке Pictures (Картинки).
Извлеченный файл следует сохранить в своей папке. В отчете привести
полученный текст, а также описать порядок извлечения скрытого текста из
начиненного контейнера.
Имя файла, пароль и использованный алгоритм шифрования выбираются
из таблицы 5.

Таблица 5
Файл Пароль Алгоритм
1 1_hiddpic.b Exit MDC
mp
2 2_hiddpic.b Freedo DES
mp m
3 3_hiddpic.b Soul Triple
mp DES
4 4_hiddpic.b Fantasy IDEA
mp
5 5_hiddpic.b Joke DES
mp
6 6_hiddpic.b Alone MDC
mp
7 7_hiddpic.b Though Triple
mp ts DES
8 8_hiddpic.b Wars IDEA
mp
9 9_hiddpic.b Desire Triple
mp DES
10 10_hiddpic. Ocean MDC
bmp
11 11_hiddpic. Every DES
bmp
12 12_hiddpic. Good IDEA
bmp
13 13_hiddpic. Things MDC
bmp
14 14_hiddpic. Mistake Triple
bmp DES
15 15_hiddpic. Mine DES
bmp
141
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

16 16_hiddpic. Head MDC


bmp

3.5. Задание 5. Изучение алгоритма шифрования, использованного


в программе Courier

В графическом редакторе Paint создать рисунок (прямоугольник или


квадрат) с заданными атрибутами и указанным цветом заливки бумаги (см.
табл. 6). Для прямоугольника вначале указана его ширина, а затем – высота.
Например, размер 10x4 означает, что прямоугольник имеет размер: 10 точек
(пикселей) по ширине и 4 точки по высоте.
Записать в рисунок (поместить в контейнер, в графический файл) с
помощью программы Courier заданный текст (табл. 6).
В отчѐте представить битовые карты рисунка без текста и с текстом.
Битовые карты следует получить с помощью программы HEdit32.
С помощью этих битовых карт объяснить принципы стеганографии. В
отчете нужно указать адреса размещения каждого бита каждой буквы.

Таблица 6

Текс
вариан Рисунок
т
та
Белый прямоугольник 10x4
1 haL
пикселей
Чѐрный прямоугольник 10x4
2 WAu
пикселей
3 Белый квадрат 10x10 пикселей AiS
Чѐрный квадрат 10x10
4 dWq
пикселей
Белый прямоугольник 10x4
5 Asd
пикселей
Чѐрный прямоугольник 10x4
6 MiL
пикселей
7 Белый квадрат 10x10 пикселей WtS
Чѐрный квадрат 10x10
8 CiA
пикселей
Белый прямоугольник 10x4
9 Saw
пикселей
Чѐрный прямоугольник 10x4
10 LmA
пикселей
11 Белый квадрат 10x10 пикселей EnL
Чѐрный квадрат 10x10
12 CaF
пикселей
13 Белый прямоугольник 10x4 TaK
142
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

пикселей
Чѐрный прямоугольник 10x4
14 fML
пикселей
15 Белый квадрат 10x10 пикселей Net
Чѐрный квадрат 10x10
16 mLi
пикселей

4. Методические указания

Методические указания к п. 3.1.


В соответствии с принципами стеганографии скрываемую информацию
представляют в двоичной системе счисления, разбивают на биты, которыми
заменяют младшие биты файла-контейнера.

Рассмотрим пример.
Дана исходная последовательность чисел, состоящая из восьми байтов
(контейнер):
01011000
01010100
01011011
01110111
01010101
10011000
10100111
01101110

В заданном контейнере необходимо скрыть русскую заглавную букву «К».


В соответствии с кодовой таблицей CP-1251 (см. Приложение) двоичный
код русской буквы К будет записан как 202D = 11001010B.
Будем поочередно выделять по одному биту из двоичного кода буквы,
начиная с самого младшего бита, и заменять этими битами младшие биты в
байтах контейнера (исходной последовательности).

Бит 1 (0B), записанный в первый байт 01011000B, преобразует его в байт


01011000B (исходный байт в данном случае остался неизменным).
Бит 2 (1B), записанный во второй байт 01010100B, преобразует его в байт
01010101B.
Бит 3 (0B), записанный в третий байт 01011011B, преобразует его в байт
01011010B.
Бит 4 (1B), записанный в четвертый байт 01110111B, преобразует его в
байт 01110111B (исходный байт остался без изменения).
Бит 5 (0B), записанный в пятый байт 01010101B, преобразует его в байт
01010100B.

143
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Бит 6 (0B), записанный в шестой байт 10011000B, преобразует его в байт


10011000B (изменений не произошло).
Бит 7 (1B), записанный в седьмой байт 10100111B, преобразует его в байт
10100111B (исходный байт остался без изменений).
Бит 8 (1B), записанный в восьмой байт 01101110B, преобразует его в байт
01101111B.
Таким образом, каждый исходный и полученный байты одинаковые или
отличаются друг от друга не более чем на одну единицу в младшем (правом)
разряде.

Результаты выполненных преобразований приведены в таблице.

Контейнер Результат
шифрования
(сокрытия)
01011000 01011000
01010100 01010101
01011011 01011010
01110111 01110111
01010101 01010100
10011000 10011000
10100111 10100111
01101110 01101111

В таблице полужирным шрифтом выделена скрываемая информация


(русская буква К).

Методические указания к п.3.2.


Чтобы скрыть сообщение при помощи программы Courier, нужно
выполнить следующие действия.
1. Щѐлкнуть по кнопке Open a New Bitmap (Открыть новый точечный
рисунок), выбрать графический файл, который будет использован в качестве
контейнера. Исходное изображение появится слева в окне программы Courier.
2. Далее щѐлкнуть по кнопке Hide New Message (Скрыть новое
сообщение). В первой строке появившегося окна указано максимальное
количество символов, которые можно скрыть в данном изображении (это
зависит от размера графического файла-контейнера). Набрать текстовую
информацию. Полученное в результате шифрования изображение будет
показано с правой стороны окна программы Courier.
3. Щѐлкнуть по кнопке Save Bitmap (Сохранить точечный рисунок).

Извлечение скрытого сообщения.


1. Как и для сокрытия сообщения, щѐлкнуть по кнопке Open a New Bitmap
(Открыть новый точечный рисунок), выбрать необходимый начиненный файл.
144
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2. Щѐлкнуть по кнопке Extract Message (Извлечь сообщение).

Методические указания к п.п. 3.3, 3.4.


Для сокрытия данных в звуковом или графическом контейнере с помощью
программы S-Tools необходимо выполнить следующее.
1. «Перетащить» мышью звуковой или графический файл в открытое окно
программы S-Tools. Для просмотра файловой системы можно использовать,
например, Проводник операционной системы Windows.
2. Далее «перетащить» скрываемый файл в окно файла-контейнера.
3. Если размер контейнера достаточен для сокрытия данных, появится
новое окно. В окне следует ввести пароль (Passphrase), подтвердить его (Verify
Passphrase), а также выбрать один из предложенных алгоритмов шифрования.
Необходимо обратить особое внимание на то, что в пароле нельзя
вместо строчных букв вводить заглавные буквы (и наоборот).
При использовании некоторых графических контейнеров может появиться
меню с переключателем пунктов Convert to a 24-bit image (Конвертировать в 24-
битное изображение) и Attempt colour reduction (Попытаться сократить цвета).
4. Наполненный контейнер появится в новом окне Hidden data (Скрытые
данные). Для сохранения результатов шифрования щелчком правой кнопки
мыши выбрать опцию Save (Сохранить), указать имя полученного файла (и
расширение), его местоположение.
Для извлечения скрытых данных из файла-контейнера необходимо
выполнить следующие действия.
1. «Перетащить» звуковой или графический файл в окно программы S-
Tools.
2. Щелкнув правой кнопкой мыши в области окна открытого файла,
выбрать опцию Reveal (Показать).
3. Дважды набрать пароль в пунктах Passphrase (Пароль) и Verify
Passphrase (Подтвердить пароль). Указать алгоритм шифрования,
использованный при сокрытии данных.
4. Если пароль и алгоритм введены правильно, появится окно Revealed
Archive (Показанный архив), в котором находится скрытый файл. Щелчком
правой кнопкой мыши по скрытому файлу выбрать опцию Save as…
(Сохранить как…) и указать место на диске, в котором его требуется сохранить.
При использовании для просмотра текстового файла блокнота
целесообразно файл сохранять с расширением txt, например, Doc10.txt.
Методические указания к п. 3.5.
С помощью графического редактора Paint создать изображение
прямоугольника с размером и цветом в соответствии с таблицей 6. При этом в
Paint следует использовать опции Рисунок – Атрибуты… Переключатель
Единицы измерения установить в положение точки. Размеры фигур
умышленно выбраны малыми для того, чтобы просматриваемый объем файла
был небольшим.
Порядок выбора атрибутов иллюстрирует следующий рисунок. Слева
вверху виден белый прямоугольник в увеличенном масштабе.
145
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Созданный рисунок сохранить в своей папке. Новому файлу


целесообразно дать имя, которое характеризует его содержимое, например,
Белый_10_4. С помощью программы Courier в созданный рисунок занести
скрываемый текст из табл. 6. Порядок выполнения этой операции был изучен
при выполнении Задания 2. Начиненный файл нужно сохранить в своей папке с
любым именем, например, Белый_10_4_SeL.
С помощью программы HEdit32 изучить содержимое пустого и
наполненного контейнера, то есть двух ранее созданных графических файлов.
Для примера ниже показано содержимое файла для черного
прямоугольника размером 10х4 пикселя. Первые строки (54 байт) содержат
служебную информацию (заголовок). Так как прямоугольник черный, то байты,
отображающие цвет прямоугольника, содержат нули (00).
В левом столбце указаны восьмиразрядные шестнадцатеричные числа –
адреса ячеек памяти. Правее приведено содержимое ячеек памяти в
шестнадцатеричной системе счисления
Нужно обратить внимание на следующую деталь. При статическом
распределение оперативной памяти (которое уже не используется в
современных ЭВМ) адреса байтов будут совпадать с адресами ячеек памяти
ОЗУ. При динамическом распределении памяти физические адреса
определяются операционной системой в зависимости от наличия свободного
места в ОЗУ.
В дальнейшем при описании принципа стеганографии будем использовать
термин «ячейка памяти», понимая под этим адрес байта в исходном файле, не
забывая, что при динамическом распределении памяти физический адрес в ОЗУ
будет иным.

146
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

На следующем рисунке показана память контейнера, в который записана


буква Z.
.

В первых строчках файла содержится служебная информация (ячейки


0…2FH). Ниже приведен фрагмент памяти, где выделены ячейки памяти, в
которых размещена скрываемая в контейнере буква Z.

0030: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0050: 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00
0060: 00 00 00 00 00 00 00 02 00 00 02 02 02 01 00 00

Дадим пояснение к полученному результату.


Код буквы Z в кодировке CP-1251 равен 90D = 01011010B.
Буква Z будет представлена (скрыта) в программе Courier
последовательностью четырех байтов: 10B = 02H, 10B = 02H, 01B = 01H, 01B =
01H. Этот результат получен следующим образом: взяты по 2 бита из

147
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

двоичного кода буквы, начиная с младших (правых) разрядов, и заменены ими


2 младших бита в соответствующих байтах изображения (файла-контейнера).

Процесс разбиения кода буквы Z на пары битов и порядок их размещения


в памяти иллюстрирует следующая таблица:

Двоичная СС 01 01 10 10
Шестнадцатеричная 01 01 02 02
СС
Адреса 3B 6D