Математики, шпионы и хакеры. Кодирование и криптография - [2]

Шрифт
Интервал


Коды, шифры и ключи

Криптографы используют термин «кодирование» в несколько другом смысле, чем мы. Для них кодирование — это процесс преобразования текста путем замены одних слов другими. С другой стороны, шифрование, или шифр, означает замену букв либо отдельных символов. С течением времени второй способ стал настолько распространенным, что превратился в синоним «кодированного письма». Однако если мы будем следовать более научной интерпретации, правильным термином для второго метода будет шифрование (или дешифрование в случае обратного процесса) сообщения.

Давайте представим, что мы посылаем защищенное сообщение «АТАКА». Мы могли бы сделать это двумя основными способами: заменить слово (кодирование) либо заменить некоторые или все буквы, составляющие это слово (шифрование).

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

* * *

ДВОИЧНЫЙ КОД

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

Соответственно, десятичное число 9780 в двоичном коде будет выражено как 10011000110100.



ПЕРЕВОДИТЬ ИЛИ РАСШИФРОВЫВАТЬ?

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

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

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



* * *

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

* * *

СКОЛЬКО ТРЕБУЕТСЯ КЛЮЧЕЙ?

Какое минимальное количество ключей необходимо в системе с двумя пользователями? Три? Четыре? Для тайного общения двух пользователей друг с другом требуется только один код или ключ. Для трех пользователей необходимы три ключа: один для связи между А и В, другой — для пары А и С, а третий — для В и С. Далее, четырем пользователям потребуется уже шесть ключей.

Таким образом, в общем случае п пользователей должны иметь столько ключей, сколько всего комбинаций пар из п пользователей, а именно:

(n/2) = n∙(n-1)/2

Так, относительно небольшая система из 10000 взаимосвязанных пользователей потребует 49995000 ключей. Для населения земного шара из шести миллиардов людей потребуется головокружительное количество: 17999999997000000000.

* * *

Общее правило шифрования называется алгоритмом шифрования, в то время как определенный параметр, используемый для шифрования или кодирования сообщений, называется ключом. (В примере шифрования со словом «АТАКА» на странице 10 ключ равен 2. Каждая буква оригинального сообщения заменяется другой, сдвинутой на две позиции вправо по алфавиту). Очевидно, что для каждого алгоритма шифрования существует большое количество ключей, поэтому знание алгоритма чаще всего бесполезно, если мы не знаем ключ, используемый для шифрования. Так как ключи обычно легче менять и передавать, для обеспечения безопасности системы шифрования логичнее будет постараться сохранить их в тайне. Этот принцип был сформулирован в конце XIX в. нидерландским лингвистом Огюстом Керкгоффсом фон Ниувенгофом и обычно называется принципом Керкгоффса.


Еще от автора Жуан Гомес
Когда прямые искривляются. Неевклидовы геометрии

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


Рекомендуем почитать
Математический аппарат инженера

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


Снова кубик Рубика

Из журнала "Юный техник" №2, 1983 г.


Математика для гиков

Возможно, вам казалось, что вы далеки от математики, а все, что вы вынесли из школы – это «Пифагоровы штаны во все стороны равны». Если вы всегда думали, что математика вам не понадобится, то пора в этом разубедится. В книге «Математика «для гиков» Рафаэля Розена вы не только узнаете много нового, но и на практике разберете, что математикой полон каждый наш день – круглые крышки люков круглы не просто так, капуста Романеско, которая так привлекает наш взгляд, даже ваши шнурки, у которых много общего с вашей ДНК или даже ваша зависть в социальных сетях имеет под собой математические корни.После прочтения вы сможете использовать в разговоре такие термины как классификация Дьюи, Числа Фибоначчи, равновесие Нэша, парадокс Монти Холла, теория хаоса, подготовитесь к тексту Тьюринга, узнаете, как фильм получает Оскар, и что это за эффект бразильского ореха.


Симпсоны и их математические секреты

Саймон Сингх рассказывает о самых интересных эпизодах мультсериала, в которых фигурируют важнейшие математические идеи – от числа π и бесконечности до происхождения чисел и самых сложных проблем, над которыми работают современные математики.Книга будет интересна поклонникам сериала «Симпсоны» и всем, кто увлекается математикой.На русском языке публикуется впервые.


Жар холодных числ и пафос бесстрастной логики

Цель книги доктора философских наук Б. В. Бирюкова и кандидата философских наук В. Н. Тростникова - создать общую картину подготовки и развития логико-математических аспектов кибернетики. Авторы рассказывают о длительном развитии науки логики, возникшей еще в Древней Греции, прослеживают непрерывающуюся нить преемственности, тянущуюся от Аристотеля к "чуду XX века" - быстродействующим кибернетическим устройствам.


Странности цифр и чисел

Тим Глинн-Джонс — автор этой необычной книги — знает о цифрах все. Вы убедитесь в этом, прочитав его занимательные истории «от нуля до бесконечности». С их помощью вы перестанете опасаться числа 13, разберетесь, какую страшную тайну хранит в себе число 666, узнаете, чем отличается американский миллиард от европейского и почему такие понятия как Время, Вселенная и Смерть, можно определить только через бесконечность.