Раскрытие шифра вертикальной перестановки, страница 3

Раскрытие шифра вертикальной перестановки основано на сочетаемости букв открытого текста. Для начала определим длину ключа, то есть количество столбцов в таблице перестановки. Для этого подсчитаем количество знаков текста, разложим это число на множители и выберем одну или несколько наиболее удачных пар (пары подбираются так, чтобы число строк и столбцов было примерно одинаково, например если длина текста 48 знаков, то длина ключа будет равна 6 или 8, длины ключей 2,4,12,24 применять нецелесообразно). После этого выписываем текст по столбцам в соответствии с выбранными длинами ключей, учитывая, что для каждого языка имеется определенное соотношение между количеством гласных и согласных в тексте (для русского языка, например, гласных 44%, а согласных 56%) и это соотношение не изменяется после перестановки. Производится анализ каждой строки и выбирается та длина ключа при которой соотношение гласных и согласных в каждой строке наиболее близко к известному.

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

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

1.  Определение длины ключа.

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

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

Приведем пример раскрытия шифра вертикальной перестановки. Пусть дан шифртекст:

ЖЬЮИАСЗФОАННАОМВООИМЩРПКНИСФЛТМИЦЮИРЩРОЕИВОТИШКЕТАЬТЕИОНПРЬА

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

Определим длину ключа. Длина текста 60 знаков. Подходящие длины ключа 5, 6, 10, 12. Проверим каждый вариант. Напомним, что соотношение между гласными и согласными в строке 44% и 56% соответственно. (1)

1 2 3 4 5       Гласные Согласные

Ж А Н Щ Т                           1                      4 Х

Ь О И Р А                              3                      2

Ю М С О Ь                            1                      4 Х

И В Ф Е Т                             2                      3

А О Л И Е                             4                      1 Х

С О Т В И                             2                      3

З И М О О                 3                      2

Ф М И Т Н                            1                      4 Х

О Щ Ц И П                           2                      3

А Р Ю Ш Р                2                      3

Н П И К Ь                             1                      4 Х

Н К Р Е А                  2                      3

Мы видим, что соотношение (1) явно не выполняется для строк 1, 3, 5, 8, 11 (эти строки помечены знаком Х). Длина ключа 5 нам не подходит.

1 2 3 4 5 6     Гласные Согласные

Ж Н Щ М И Ь                       1                      5 Х

Ь Н Р И В Т               1                      5 Х

Ю А П Ц О Е                        4                      2

И О К Ю Т И            4                      2