Изменить размер шрифта - +

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

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

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

В этом виде шифртекст будет затем передан с помощью кода Морзе; получателю, чтобы восстановить первоначальный текст, потребуется выполнить действия, обратные зашифровыванию. Шифртекст состоит всего лишь из шести букв (т. е. А, D, F, G, V, X), так как этими буквами обозначаются строки и столбцы исходной сетки 6 x 6. Люди часто удивляются, почему были выбраны именно эти буквы, а не, скажем, А, В, С, D, Е и F. Все дело в том, что если буквы А, D, F, G, V и X представить в виде точек и тире кода Морзе, то они будут существенно отличаться одна от другой; тем самым выбор этих букв минимизирует опасность появления ошибок во время передачи.

 

 

Приложение G

 

Слабости повторного использования одноразового шифрблокнота

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

Мы, вероятно, будем правы, если предположим, что в первом шифртексте где-то есть слово the, и поэтому криптоанализ начинается с допущения, что все сообщение целиком состоит из последовательности слов the. Далее мы полагаем, что искомый одноразовый шифрблокнот преобразует всю эту последовательность слов the в первый шифртекст. Это станет нашим исходным предположением об одноразовом шифрблокноте. Но как же мы сможем узнать, какие части этого одноразового шифрблокнота правильны?

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

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

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

Быстрый переход