ПЕРЕВОДИТЬ ИЛИ РАСШИФРОВЫВАТЬ?
Перевод текста, написанного на языке, который использует неизвестный набор символов, можно рассматривать как общую проблему расшифровки.
Перевод — это неизвестный текст, уже переведенный на наш язык, а алгоритм шифрования — это грамматические правила и синтаксис оригинального языка. Методы, используемые для обеих задач, — перевода и расшифровки — имеют много общего.
В обоих случаях должно быть выполнено одно условие: отправитель и получатель по крайней мере должны владеть общим языком. Вот почему перевод текстов, написанных на утерянных языках, таких как египетская иероглифика или линейное письмо Б, был невозможен, пока не были найдены соответствия с известным языком. В обоих случаях это оказался древнегреческий язык. На рисунке выше изображена найденная на Крите табличка с надписью линейным письмом Б.
* * *
Различие, которое мы установили между правилом шифрования (применяемым методом) и ключом шифрования (изменяемой инструкцией, специфичной для каждого сообщения или группы сообщений), чрезвычайно полезно, потому что потенциальному шпиону необходимо знать и то, и другое, чтобы расшифровать сообщение. Например, шпиону может быть известно правило шифрования, а именно, что каждая буква заменяется другой, сдвинутой в алфавите на х позиций. Тем не менее, если он не знает, чему равен х, ему придется перебрать все возможные комбинации: по одной для каждой буквы алфавита. В данном примере шифр очень прост, и перебрать все комбинации не составит большого труда. Такой способ расшифровки называется методом перебора всех возможных вариантов. Однако в случае более сложных правил этот метод расшифровки, или криптоанализа, практически неприменим, во всяком случае, вручную. Более того, перехват и расшифровка сообщения, как правило, ограничены по времени. Информацию нужно получить и понять до того, как она станет бесполезной или известной другим.
* * *
СКОЛЬКО ТРЕБУЕТСЯ КЛЮЧЕЙ?
Какое минимальное количество ключей необходимо в системе с двумя пользователями? Три? Четыре? Для тайного общения двух пользователей друг с другом требуется только один код или ключ. Для трех пользователей необходимы три ключа: один для связи между А и В, другой — для пары А и С, а третий — для В и С. Далее, четырем пользователям потребуется уже шесть ключей.
Таким образом, в общем случае п пользователей должны иметь столько ключей, сколько всего комбинаций пар из п пользователей, а именно:
(n/2) = n∙(n-1)/2
Так, относительно небольшая система из 10000 взаимосвязанных пользователей потребует 49995000 ключей. Для населения земного шара из шести миллиардов людей потребуется головокружительное количество: 17999999997000000000.
* * *