...И мир загадочный за занавесом цифр. Цифровая связь - Попов Георгий Леонтьевич. Страница 8
А вот такая фраза:
аеефикцыге рмчии,
на первый взгляд кажется еще более бессмысленной, чем "Джабберуокки". Однако она как раз содержит в себе вполне определенную информацию. В этой записи мы зашифровали название первой части нашей книги "Магические цифры" путем перестановки в нем букв.
Правило перестановки может быть, конечно, любым. Однако, чтобы прочесть исходный текст, нужно сделать правило легко запоминаемым. Мы осуществили перестановку следующим образом. Сначала записали шифруемый текст в квадратную таблицу под ключевым словом "шифр":
Затем пронумеровали столбцы в соответствии с очередностью появления букв слова "шифр" в алфавите (например, буква "и" идет по алфавиту раньше буквы "р" и остальных букв слова "шифр", поэтому второму столбцу присвоен номер 1, четвертому — номер 2 и т. д.). И наконец, переписали буквы всех столбцов в соответствии с присвоенными номерами,т. е. сначала буквы столбца под номером 1, затем под номером 2 и т. д. Читатели из интереса могут придумать какой-нибудь другой способ шифровки.
Способы буквенного шифрования текстов (или еще говорят "кодирования") известны очень давно. Так, знаменитый в истории римский диктатор Гай Юлий Цезарь для тайной переписки со своими сторонниками среди римских политиков применял такой способ кодирования: сдвигал весь алфавит на определенное число букв влево или вправо. Если каждую букву текста "Магические цифры" заменить предшествующей буквой алфавита (при этом букве "а" предшествует буква "я"), то получится фраза
лявзцдризд хзупъ,
зашифрованная кодом Цезаря.
Однако чаще всего буквенные тексты шифруют с помощью цифр, т. е. цифровым кодом, что, возможно, связано со стремлением сделать сообщение недоступным для тех, кому оно не предназначено. Вот пример цифрового кодирования текста.
Попробуйте расшифровать следующую запись:
301 033 020 016 052 402 163 502 230 403.
Вы, наверное, уже догадались, что приведенным набором цифр представлена все та же фраза "Магические цифры". Цифровой ее код получен так. Буквы русского алфавита были расположены в прямоугольной таблице 4x8 произвольным образом:
Затем каждая буква была заменена двумя цифрами: соответствующими номерами строки и столбца. Группирование же цифр по три в шифрованной записи было сделано лишь для того, чтобы сбить с толку дешифровальщика, т. е. вас, читатель.
На первый раз, думаем, это удалось.
В приведенном примере алфавит из 32 символов (букв) был заменен алфавитом из десяти символов (цифр). Такое положение справедливо и в общем случае: любой алфавит, состоящий из конечного числа каких-либо символов, можно заменить алфавитом из других символов, причем новых символов может быть существенно меньше.
По-видимому, одним из первых, кто понял это, был Фрэнсис Бэкон — лорд-канцлер Англии, барон Веруламский и виконт Сент-Обланский.Ф. Бэкон являлся не только высшим должностным лицом в английском государстве XVII в. Потомкам он больше известен как родоначальник английского материализма, оказавший огромное влияние на развитие науки и философии. Его перу принадлежат бессмертные страницы философских трудов "Новый органон" и "О принципах и началах", в которых звучит гимн всепобеждающей мощи разума, но одновременно описываются "враги" разума — "идолы" (или "призраки рода", "пещеры", "рынка", "театра"), приводящие его к заблуждению.
Но вернемся к проблеме шифрования. Так вот, лорд и философ Ф. Бэкон был первым, кто понял, что для кодирования любых текстов достаточно… двух символов. Все гениальное просто, нужно только догадаться. Бэкон занимался проблемами криптографии (тайнописи) и использовал в своих шифрах двоичный код. В коде Ф. Бэкона каждая буква заменялась кодовым словом, составленным комбинацией из пяти символов 0 и L: например, буква "р" заменялась словом 0L0L0, буква "т" — словом LL00L. Этот код уместно называть 5-разрядным двоичным кодом, а комбинацию символов 0 и L типа LL00L — 5-разрядным кодовым словом.
Нам неизвестна таблица кодов Бэкона, но мы можем сами, раз принцип известен, придумать какой-либо двоичный код.
Давайте в последней таблице, с помощью которой кодировали фразу "Магические цифры" (см. с. 31), десятичные номера строк и столбцов запишем в двоичной системе счисления:
Будем, как и раньше, заменять буквы номерами строк и столбцов, на пересечении которых они стоят, но номерами, представленными двоичными числами. Тогда буквенный текст "Магические цифры" в 5-разрядном двоичном коде примет следующий вид:
Еще раз обращаем ваше внимание на то, что буквы в таблице размещены произвольно, порядок нумерации строк и столбцов также может быть каким угодно. Поэтому можно придумать множество кодов, отображающих буквы выбранного алфавита 5-разрядной комбинацией цифр 0 и 1. Такую комбинацию будем называть, как и в коде Бэкона, двоичным кодовым словом. К примеру, букве "м" соответствует двоичное кодовое слово 11000.
Важно другое. Если двоичное кодовое слово состоит из пяти разрядов (т. е. содержит пять бит), то всевозможных комбинаций цифр 0 и 1 в таком слове будет 25 = 32. Значит, 5-разрядными двоичными словами можно закодировать алфавит, число букв (или других знаков) которого не превышает 32. Если же исходный алфавит содержит большее число знаков, двоичные слова должны содержать большее число разрядов (бит). Так, словами из шести бит удается заменить 26 = 64 буквы и знака; словами, содержащими семь бит, — 2 7 = 128 букв и знаков; словами из восьми бит — 28 = 256 букв и знаков и т. д.
В десятом томе "Всеобщей истории" древнегреческого историка Полибия (ок. 201–120 гг. до н. э.) описан способ передачи сообщений на расстояние с помощью факелов (факельный телеграф[1]), изобретенный александрийскими учеными Клеоксеном и Демоклитом. Попробуем, не вникая в суть описанного Полибием изобретения, сами построить факельную систему передачи сообщений.
Имеющиеся в нашем распоряжении световые сигналы не отличаются разнообразием: горящий факел может быть поднят для передачи сообщения вверх или опущен вниз и спрятан за укрытие. Таким образом, налицо всего два состояния — 1, когда горящий факел поднят для передачи сообщения, и 0, когда он опущен. В греческом алфавите 24 буквы. Чтобы представить эти буквы двоичным кодом, потребуется пять разрядов (бит), так как 24 = 16, а 25 =32. А это значит, что для технической реализации системы передачи сообщений нам понадобятся пять факелов. Составим кодовую таблицу:
Чтобы яснее различать, когда факелы подняты, а когда убраны, спроектируем стену с зубцами, между которыми имеется пять промежутков (проемов). В промежутки будут вставляться горящие факелы в соответствии с двоичным кодом.
Допустим, нам надо передать слово ОМЕГА (так называется буква Q греческого алфавита). Каждой последовательно "зажигаемой" букве будет соответствовать определенная 5-разрядная двоичная комбинация: