Послания, не предназначенные для чужих глаз, часто шифруются. Еще Цезарь (100-44 гг. до н. э.) посылал своим полководцам сообщения, которые не могли прочитать враги. Предположительно, римские полководцы и государственные деятели заменяли каждую букву текста другой, стоявшей в алфавите через две буквы от нее. Так, вместо А писалось D, вместо Н — К. Каждая буква заменялась другой, которая в данном примере находится под ней.
Теперь мы можем расшифровать вопрос «ZHU NDQQ GDV OHVHQ?» — «Кто может это прочитать?» (По-русски это может выглядеть примерно так: НХС ПУЙЗХ АХС ТУСЪ-ЛХГХЯ? Попробуйте расшифровать, используя русский алфавит. Прим.ред.)
Такой код несложно взломать, особенно если сообщение длинное, поскольку буквы алфавита встречаются в словах с разной частотой. Например, в обычном немецком тексте примерно пятую часть всех букв составляет Е. Вторая по частоте буква — N. С помощью компьютера достаточно длинное сообщение расшифровывается за считанные секунды: та буква, которая встречается чаще всего, наверняка Е, следующая по частоте — N и т. д.
А может ли существовать такой шифр, который невозможно взломать ни сейчас, ни через 10 или 1000 лет, ни с помощью современных компьютеров и более совершенных средств в будущем? Да, может, и это не особенно сложно.
Если заменять буквы кода Цезаря не всегда на одно и то же количество букв, но каждый раз на другое, то такой код уже не взломать. Например, сдвинем первую букву на 3 позиции, вторую — на 5, а третью — на 9, и вместо слова «ZHU» («КТО») получим «NYX». Новость, зашифрованную подобным образом, сможет прочесть только тот, кто знает, на сколько букв сдвинут текст. Поскольку те буквы, которые чаще всего встречаются в тексте, зашифрованы каждый раз по-разному, нежеланному читателю частота появления определенных букв не поможет расшифровать сообщение.
Но у этого метода есть существенный недостаток: у отправителя и получателя сообщения должны быть одинаковые списки с цифрами, указывающими, сколько букв каждый раз сдвигается. И этот список должен быть столь же длинным, как и зашифрованный текст.
Сегодня шифруют сообщения не только секретные службы и военные. Шифры вошли в гражданскую жизнь, используются при получении денег в банкоматах и покупках через Интернет, когда информация о кредитной карте покупателя передается в шифрованной форме, чтобы никто не мог считать ее. Математики за прошедшие годы разработали для этого целый ряд методов. Часто используется метод под названием DES — data encryption standard (в пер. с англ. — стандарт кодировки данных). DES кодирует сообщение с помощью тайного 56-разрядного двоичного числа. Считается, что подобрать это число невозможно, поскольку существует много биллиардов вариантов. И все же математики разработали вариант компьютерной программы, которая основана уже на 112-разрядных двоичных числах.