Криптография > Элементы криптоанализа > Взлом многоалфавитных шифров > Предположение 2
 
 

Предположение 2

У выделенных слов шифровки одинаковое окончание ее, и, весьма вероятно, что период ключа делит 9 - длину второго слова вместе с пробелом. Будем считать, что в этом случае одинаковые окончания слов (Одинаковые окончания часто появляются из-за согласования слов в предложениях на русском языке. Это хорошо видно в поговорках: одИН в поле не воИН, наняЛСЯ - продаЛСЯ.) текста попали на одинаковые участки ключа и дали одинаковые символы шифровки. На первый взгляд может показаться, что это слишком маловероятно, чтобы встречаться в практике. Однако таких находок, помогающих расшифровке, всегда бывает предостаточно в сообщениях большой длины и, порой, приходится жалеть скорее об их обилии, чем отсутствии. Если нет никаких идей о длине ключа, не беда - ее можно подобрать вслепую. Итак, есть два выбора для периода ключа: 3 и 9. Попробуем период длины 3:
ключ            ?1??1??1??1??1??1??
вариант 0 Ф ЖИ ЬИ СС ХИ ФИ СС
вариант 1 УОЕЗРЫЗНРР ФЗКУЗТРР
вариант 2 Т ДЖ ЪЖ ПП УЖ ТЖ ПП
вариант 3 С ГЕ ЩЕ ОО ТЕ СЕ ОО
вариант 4 Р БД ШД НН СД РД НН
вариант 5 П БГ ЧГ ММ РГ ПГ ММ
вариант 6 О АВ ЦБ ЛЛ ПВ ОВ ЛЛ
вариант 7 Н Б ХБ КК ОБ НБ КК
вариант 8 М ЯА ФА ЙЙ НА МА ЙЙ
вариант 9 Л Ю У ИИ МЛ ИИ
сообщение ?о??р??н?? ??к??т??

Таблица существенно поредела, но остается все-таки сложной для непосредственного прочтения (Криптоаналитики вряд ли сочтут прямое чтение ее сложным, так как достаточно перебрать лишь 100 вариантов для двух оставшихся цифр ключа вручную за несколько минут.). Поэтому попробуем подобрать символ ключа, стоящий в первой позиции, перебрав 10 вариантов. Так как ключ длиной 3 циклически повторяется, то этот же символ стоит в 4, 7, 10, 13, 16 и 19 позициях ключа. Вероятность варианта для первой цифры ключа равна произведению вероятностей биграмм, состоящих из символа по этому варианту расшифровки и следующего за ним, уже известного символа. Если Li - буква текста, стоящая на месте i, то вероятность одного из 10 вариантов:

 р (L1L2) p(L4L5) р(L7L8) p(L10L11) p(L13L14) p(L16L17)

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

р(0)=р(ФО)р(ИР)р(ИН)р(С )р(ИК)р(ИТ)=43
р(1)=р(УО)р(ЗР)р(ЗН)р(Р )р(ЗК)р(ЗТ)=23
р(2)=р(ТО)р(ЖР)р(ЖН)р(П )р(ЖК)р(ЖТ)=27
р(3)=р(СО)р(ЕР)р(ЕН)р(О )р(ЕК)р(ЕТ)=50

В результате для первой цифры ключа получается наиболее вероятным 3 вариант расшифровки. Это дает следующую таблицу:

ключ            31?31?31?31?31?31?3
вариант 0 Ж Ь С Х Ф С
вариант 1 ОЕ РЫ HP Ф КУ ТР
вариант 2 Д Ъ П У Т П
вариант 3 С ГЕ ЩЕ ОО ТЕ С ОО
вариант 4 в т н с р н
вариант 5 Б Ч М Р П М
вариант 6 А Ц Л П О Л
вариант 7 Х К О Н К
вариант 8 Я Ф Й Н М Й
вариант 9 Ю У И М Л И
сообщение СО?ЕР?ЕН?0 ?ЕК?РТ?0
Теперь сообщение читается совсем просто. Достаточно выбрать одну из 10 строк с вариантом для 3 цифры ключа. В результате получим ключ и текст сообщения:
сообщение: СОВЕРШЕННО СЕКРЕТНО
ключ: 3143143143143143143

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