Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Криптография.doc
Скачиваний:
20
Добавлен:
23.03.2015
Размер:
129.02 Кб
Скачать

Расшифровку следует начинать с нахождения длины ключевого слова (ключа).

Для пояснения идеи определения длины ключа вернемся к упражнению 2.

Обратите внимание, что в криптограмме 1-я, 5-я, 9-я и т.д. буквы исходного текста шифровались при помощи одного и того же смешанного алфавита « Л » (отмечены красным цветом и подчеркнуты).

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

Аналогично если взять каждую четвертую букву шифрованного текста, начиная со 2-й, 3-й или 4-й позиции, то снова получим распределение частот как для букв русского алфавита.

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

г де fi — количество появлений i-й буквы, а N — общее число рас­сматриваемых букв.

Если все буквы рассматриваемого подмноже­ства текста зашифрованы при помощи одного алфавита, то этот индекс совпадения должен иметь значение больше 0.045 и, возможно, меньше 0.065 (теоретическое значение равно 0.055).

Таким образом, рекомендуется следующий алгоритм определения длины ключа.

Шаг 1. Для i от 1 до 20 предположить, что длина ключевого слова равна i, и выполнить шаги 2, 3. Верхняя граница выбрана = 20 лишь в учебных целях (реальный ключ может быть значительно длиннее).

Шаг 2. Для j от 1 до i выполнить шаг 3. На этом шаге должны быть вычислены i различных значений ИС.

Шаг 3. Построить распределение числа появления букв в каждой i-й позиции, начиная с j -й позиции т.е. в позицнях

j, i + j, 2i + j, ...

и вычислить ИС для полученного распределения.

Внимание! В качестве N при вычислениях нужно использовать число букв в данном подмножестве текста, а не длину всего текста.

Если все вычисленные при этом значения ИС больше 0.045, то, вероятно, i кратно длине ключа. Если только один из ИС меньше 0.045, то i также может быть кратно длине ключа.

Проверить длину ключевого слова можно и другим способом.

Для этого следует найти два места в криптограмме, где две одинаковых буквы идут в том же порядке, например ЦМ в позициях 19,20 и 54,55.

Такое повторение могло произойти по двум при­чинам:

  • в соответствующих местах исходного текста были разные сочетания букв, которым отвечали разные части ключа, и они случайно отобразились в одинаковые сочетания букв;

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

Во втором случае расстояние между началами повторяющихся сочетаний букв должно быть кратно длине ключевого слова.

Однако невозможно определить, по какой из двух причин произошло повторение данного сочетания букв, т.к. случайное повторение 2-х букв в криптограмме довольно частое явление.

Но если в криптограмме повторяются сочетания из 3-х или более букв, то вероятность того, что это повторение произошло слу­чайно, а не в результате повторения ключа, очень мала (для со­четаний из 4-х и более букв она практически нулевая).

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

Число, которое делит нацело 90% или более из этих расстояний, — наиболее вероятное значение длины ключа.

Проверка указанным способом в совокупности с вычислением значений ИС однозначно определяет длину ключа.

ПРАКТИЧЕСКАЯ ЧАСТЬ