Pull to refresh

Криптоанализ шифра Виженера

Reading time4 min
Views19K
Прежде всего предположим, что противник уверен в том, что шифрованный текст был получен либо с помощью моноалфавитной подстановки, либо с помо¬щью шифра Виженера. Чтобы выяснить, какой именно из этих двух методов был использован, можно провести простой тест. Если использовалась моноалфа¬витная подстановка, статистические показатели шифрованного текста не будут отличаться от соответствующих показателей языка, на котором написан откры¬тый текст. Если для анализа имеется лишь одно сообщение, точного совпадения статистиче¬ских показателей можно и не получить. Но если статистика достаточно точно повторяет статистику обычного открытого текста, можно предположить, что использовалась моноалфавитная подстановка.

Если же, наоборот, все указывает на то, что был применен шифр Виженера, то, как мы увидим несколько позже, успех дальнейшего анализа текста зависит от того, удастся ли определить длину ключевого слова. Решение этой задачи ос¬новано на следующей особенности данного шифра: если начальные символы двух одинаковых последовательностей открытого текста находятся друг от друга на расстоянии, кратном длине ключа, эти последовательности будут представлены одинаковыми последовательностями и в шифрованном тексте. Например, пусть в открытом тексте имеются две одинаковые последовательности символов (слово или их сочетание), тогда если они будут зашифрованы при с использованием одного и того же фрагмента ключа, мы получим одинаковые последовательности символов шифротекста. Аналитик, имеющий в своем распоряжении только шифрованный текст, обнаружит повторяющуюся последовательность символов со смещением в К (кратное длине ключа) символов.

Дальнейший анализ базируется на другой особенности данного шифра. Если ключевое слово имеет длину N, то шифр, по сути, состоит из N моноалфавитных подстановочных шифров. Например, при использовании ключевого слова deceptive буквы, находящиеся на 1-й, 10-й, 19-й и т.д. позициях, шифруются одним и тем же моноалфавитным шифром. Это дает возможность использования известных характеристик частотных распределений букв открытого текста для взлома каждого моноалфавитного шифра по отдельности.

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

ключ: deceptivewearediscoveredsav
открытый текст: wearediscoveredsaveyourself
шифрованный текст: ZICVTWQNGKZEIIGASXSTSLVVWLA

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

Лучшей защитой от подобных методов криптоанализа является выбор ключевого слова, по длине равного длине открытого текста, но отличающегося от открытого текста по статистическим показателям. Такая система была предложена инженером компании AT&T Гилбертом Вернамом (Gilbert Vernam) в 1918 г. Его система оперирует не буквами, а двоичными числами. Кратко ее можно выразить формулой:

image

Таким образом, шифрованный текст генерируется путем побитового выполне¬ния операции XOR для открытого текста и ключа. Благодаря свойствам этой операции для расшифровки достаточно выполнить подобную операцию:

image

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

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

Сложность практического применения этого метода заключается в том, что и отправитель, и получатель должны располагать одним и тем же случайным ключом и иметь возможность защитить его от посторонних. Поэтому, несмотря на все преимущества шифра Вернама перед другими шифрами, на практике к нему прибегают редко.
Tags:
Hubs:
+4
Comments3

Articles