Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Коды и шифры.DOC
Скачиваний:
62
Добавлен:
18.08.2019
Размер:
2.07 Mб
Скачать

Индикаторы

Об индикаторах уже говорилось в главе 3. Они играют довольно важную роль и заслуживают подробного описания, так как необходимость использования индикатора может оказаться ахиллесовой пятой любой системы шифрования. При использовании книжного шифра отправитель должен сообщить получателю, с какой страницы и строки ключевой книги он начал шифрование. Если, например, он начинает работу со строки 15 на странице 216, то он может предварить сообщение числом 15216. Однако такой способ слишком очевиден, и поэтому отправитель наверняка постарается замаскировать эти цифры. Для этого существуют несколько приемов, таких, например, как:

  1. перестановка цифр по заранее оговоренному правилу; например, 15216 превратится, скажем, в

65121;

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

64598;

  1. преобразование цифр индикатора в буквы и сокрытие получившейся пятизначной группы в заранее оговоренном месте шифрованного текста сообщения; тогда 15216 превращается в

BFCBG;

  1. любая комбинация перечисленных способов.

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

Катастрофические ошибки при использовании книжного шифра

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

Пример 7.5 (шпион делает ошибку и тем самым выдает себя)

Два сообщения посланы одним и тем же лицом с одинаковыми индикаторами с интервалом в несколько часов; в нашем распоряжении имеются следующие шифрованные тексты:

ZECBH MOPJO IIUXJ ELFDR WRSJX CQ.

ZECSS HLIEL RVBCM CUAKA OLPBP PPP

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

Начало решения

Поскольку первые три буквы шифрованного текста в обоих случаях одинаковы, мы предполагаем, что в первом сообщении пропущена именно четвертая буква книжной гаммы. Если перебрать все 26 вариантов этой буквы во втором шифрованном сообщении, то мы получим 26 вариантов четвертой буквы этого текста. Для каждого из вариантов с помощью первого шифрованного текста можно вычислить пятую букву книжной гаммы. Зная пятую букву книжной гаммы, теперь можно восстановить пятую букву текста второго сообщения, что, в свою очередь, позволит нам по первому сообщению вычислить шестую букву книжной гаммы, и так далее. Таким образом, мы сможем восстановить и книжную гамму, и текст сообщения, начиная с четвертой буквы и до самого конца. Разумеется, придется перебрать все 26 вариантов четвертой буквы гаммы. Но по мере восстановления текстов книжной гаммы и сообщения мы быстро установим, какой вариант является правильным. Для экономии времени и места мы просто посмотрим, что получается, когда выбран верный вариант четвертого знака гаммы (буква F). Обозначим шифрованные тексты через CT1 и CT2. Текст CT2 является правильным текстом, а текст CT1 содержит ошибку. Буквы открытого текста можно вычислять непосредственно, как показано ниже, а можно использовать таблицу 7.3.

По CT2: (буква шифрованного текста) - (знак гаммы) на 4-ом месте = буква открытого текста на 4-ом месте, то есть S-F=N.

По CT1: (буква шифрованного текста) - (буква открытого текста) на 4‑ом месте = знак гаммы на 5-ом месте, то есть B-N=O.

По CT2: (буква шифрованного текста) - (знак гаммы) на 5-ом месте = буква открытого текста на 5-ом месте, то есть S-O=E.

По CT1: (буква шифрованного текста) - (буква открытого текста) на 5‑ом месте = знак гаммы на 6-ом месте, то есть H-E=D.

По CT2: (буква шифрованного текста) - (знак гаммы) на 6-ом месте = буква открытого текста на 6-ом месте, то есть H-D=E.

По CT1: (буква шифрованного текста) - (буква открытого текста) на 6‑ом месте = знак гаммы на 7-ом месте, то есть M-E=I.

По CT2: (буква шифрованного текста) - (знак гаммы) на 7-ом месте = буква открытого текста на 7-ом месте, то есть L-I=D.

По CT1: (буква шифрованного текста) - (буква открытого текста) на 7‑ом месте = знак гаммы на 8-ом месте, то есть O-D=L.

По CT2: (буква шифрованного текста) - (знак гаммы) на 8-ом месте = буква открытого текста на 8-ом месте, то есть I-L=X.

Таким образом, получаем часть текста гаммы и сообщения:

Гамма: ...F O D I L

Сообщение: ...N E E D X

Это выглядит вполне правдоподобно.

Задача 7.3.

Доведите до конца начатое выше решение задачи.