Код Цезаря. Научно-популярный журнал для юношества «Страна знаний» №1, 2018

Засекречивание передаваемых сообщений имеет прямое отношение ко многим видам человеческой деятельности, как в военной, так и в экономической области. По всей видимости, первым к засекречиванию передаваемой информации в древние века прибегнул Гай Юлий Цезарь (100–44 г. до н.э.).

Остановимся на этом более подробно. В 49 году до н.э. Цезарь после одержанных им побед в Галлии начал борьбу за единовластие в Римской империи. Подойдя к реке Рубикон на севере Италии, Цезарь переправил через неё один легион, произнеся согласно легенде знаменитую фразу: «Iasta est alea», в переводе на русский язык означающую: «Жребий брошен».

Со своими сторонниками в Риме Цезарь общался депешами, передаваемыми с гонцами. Чтобы в случае поимки гонцов его противники не смогли бы прочитать эти депеши и тем самым раскрыть планы по завоеванию власти, Цезарь их засекречивал с помощью специального придуманного им способа, позже названного кодом Цезаря.

Обратимся в этой связи к латинскому алфавиту, записав его 26 букв в одной строке, а ниже расположим те же буквы, но сместив их на три клеточки (табл.1).

Таблица 1

a b c d e f g h i j k l m n o p q r s t u v w x y z
d e f g h i j k l m n o p q r s t u v w x y z a b c
Гай Юлий Цезарь
Римский император
Гай Юлий Цезарь
(100 – 44 г. до н.э)

Каждую букву из первой строчки в приведённой выше фразе, произнесённой Цезарем, заменим расположенной под ней буквой из второй строчки. В результате получим:

Истинная фраза: i a s t a   e s t   a l e a    (жребий брошен),

Фраза после кодирования согласно табл. 1:   l d v w d   h v w   d o h d.

Вот такие засекреченные фразы, которые невозможно было понять, не зная способа кодирования, и передавал Цезарь, тем самым лишив своих противников возможности раскрыть истинный смысл своих намерений.

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

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

Правда, количество этих радиостанций было невелико, и находились они в распоряжении только верхнего звена военного командования. Были такие радиостанции и у командующего 2-й русской армии генерала А.В. Самсонова, и у командующего 1-й русской армии генерала П.К. Ренненкампфа.

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

Вот что по этому поводу пишет писатель А.И. Солженицын в книге «Красное колесо». Узел 1: Август четырнадцатого, т. 1. – М.: Воениздат, 1993 (стр. 230): «…с указанием точного расположения русских корпусов, их задач и намерений и степени их тёмного незнания о противнике, а утром 12-го [ августа 1914 г.] и полную радиограмму дислокации Второй армии! И уже ясно стало, что Первая не помешает [немцам] бить Вторую…Во всей военной истории – бывала ли такая открытая карта? Такая ясность о противнике? Сложная война в озерной стране, загороженной лесами двадцатиметровых сосен, стала для германцев проста, как занятия на учебном полигоне».

Противник, перехватив все незашифрованные радиотелеграммы и узнав из их содержания о местоположении русских армий, не дал им соединиться и, окружив армию генерала Самсонова, полностью её разгромил. Так радиоперехват, один из первых в военной истории, явился причиной разгрома крупного войскового соединения и трагического начала войны для России.

Блетчли-Парк
В период Второй мировой войны
в Блетчли-Парке располагалось главное
шифровальное подразделение
Великобритании

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

В 1940 г. англичане создали специальную службу, поместив её под Лондоном в Блечли-парке. К работе были привлечены выдающиеся английские математики, перед которыми была поставлена задача по, согласно установившейся терминологии, «раскалыванию» немецких кодов и шифров, поступавших от британских служб радиоперехвата.

Уже к маю 1940 года математикам с помощью впервые созданной и весьма мощной (по тем временам) электронно-вычислительной машины удалось разгадать систему шифров, формируемых с помощью «Энигмы». С тех пор значительная часть секретной информации немцев, которую удавалось перехватить с помощью радиосредств, прочитывалась англичанами.

Частью добытой таким способом информации англичане делились со своими союзниками.

Блетчли-Парк
Эксперты за работой в Блетчли-Парке,
где был расшифрован код «Энигмы»

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

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

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

Что такое информация. В обыденном смысле мы обычно понимаем под информацией совокупность передаваемых или хранящихся сведений об окружающем нас мире и происходящих в нём явлениях и событиях.

Информация может быть представлена в различных формах, например, в виде: устной речи, передаваемой от одного человека слушателям; печатного текста книги, журнала или газеты; фотографии или художественной картины; кинофильма или телевизионного изображения, объединяемых общим понятием ‹‹видеоинформация››; совокупности электронных данных, хранящихся на магнитных носителях (в частности, дискетах) или компакт-дисках, используемых в компьютерах.

Последний вид информации получил название электронной. Её роль в повседневной жизни человека и во всех сферах его деятельности – производственной, торговой, финансовой, военной и других – с каждым годом всё более возрастает, что позволяет утверждать, что ХХI век будет столетием информационных технологий. Наглядным тому подтверждением служит глобальная мировая сеть Internet (Интернет), объединившая громадное множество компьютеров и позволяющая обмениваться электронной информацией миллионам людей.

Теория информации используется в самых разнообразных сферах науки и техники. Поэтому понятие ‹‹информация›› требует более точного определения, основанного на количественных критериях.

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

Например, к диспетчеру на аэродроме поступают данные о высоте, направлении и скорости полета, расходе топлива и другие сведения с самолетов, находящихся в его зоне контроля.

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

В этой связи рассмотрим простой случай. Положим в ящик стола восемь шаров, на которых нанесём цифры 1,2,3,4,5,6,7,8. Вероятность того, что мы вынем из ящика шар с той или иной цифрой, очевидно, равна 1/8. Такая вероятность, определяемая до проведения опыта, называется априорной.

Обозначим её как р1. Вынув из ящика шар и взглянув на его номер, мы перейдём к апостериорной вероятности, которая в рассматриваемом случае равна 1. Обозначим её как р2.

Отношение вероятности р2 (после опыта) к вероятности р1 (до опыта) и может явиться количественным носителем информации. Однако, поскольку значение этого отношения может быть очень большим, то информация оценивается как логарифм данной величины: I=logа 2/ р1).

Из сказанного следует, что понятие «информация» связано с получением новых сведений. Если заранее, с вероятностью 100% известно содержание принятого сообщения (р12=1), то никакой новой информации получено не будет и, следовательно, значение I=0. Так, например, сообщение о событии, прослушанное нами по второму каналу телевидения, о котором мы уже узнали из передачи по первому каналу, не принесло нам новой информации и, следовательно, в данном случае значение I=0.

В качестве основания логарифма «а» может использоваться любое число. Однако в большинстве случаев в технических приложениях теории информации принимают а=2, поскольку передача сообщений в технике связи и компьютерах базируется на двоичной системе счисления.

При равной вероятности всех передаваемых М сообщений или событий, происходящих с физическим или иным объектом, и представлении априорной информации в виде р1=1/М=1/2n, получим из последнего выражения при а=2 и р2=1:

I=log2M=log2(2n)=n

(1)

Таким образом, при основании логарифма а=2 величина I равна числу двоичных единиц, называемых битами. (Слово бит происходит от английских слов ‹‹binary digit›› – двоичная цифра).

В рассмотренном выше примере с восемью шарами (М=8) значение n=log2(8)=log2(23)= 3 и, следовательно, I=3 битам. Очевидно, при 16 шарах значение n=I=4 битам; при 32 шарах значение n=I=5 битам и т.д.

Рассмотрим теперь случай буквенно-цифрового текста, содержащего К знаков – букв, цифр и иных значков, общее число которых равно М. Будем считать появление в тексте любой буквы или цифры равновероятным, т.е. примем априорную вероятность р1=1/М.

Следовательно, при записи данного текста, записанного с помощью двоичного кода, получим для общего количества информации :                                                     

A=Klog2M=Kn

(2)

Например, при К=1000, М=64 и n=log2М= log2(26)= 6 , количество информации, содержащейся в данном тексте, согласно (2) составит

А=К·n=1000·6=6000 бит.

Заметим, что фактически с учётом разной вероятности появления в тексте той или иной буквы или цифры количество информации будет несколько отличаться от данного значения.

Восемь бит называется байтом. Более крупными единицами измерения информации являются: килобит (Кбит), мегабит (Мбит), гигабит (Гбит) или килобайт (Кбайт), мегабайт (Мбайт), гигабайт (Гбайт), соответственно равные:

1Кбайт=210байт=1024байт;
1Мбайт=220 байт=1024Кбайт;
1Гбайт= 230 байт=1024Мбайт.

Количество бит или байт, передаваемых в секунду, есть скорость передачи сообщения, которая определяется, как бит/с или байт/с. При повышенной скорости передачи она измеряется как Кбит/с, Мбит/с, Гбит/с или Кбайт/с, Мбайт/с, Гбайт/с.

Теперь разберёмся в двух других понятиях: кодирование и шифрование информации, применяемые при засекречивании передаваемого сообщения.

Кодированием называется правило, согласно которому одни символы сообщения заменяются другими. Например, каждой букве алфавита в первом случае ставится в соответствие определенное число; во втором – точки и тире, как в коде Морзе; в третьем – одни буквы заменятся другими путём их смещения на определенное число, как в рассмотренном выше коде Цезаря. Шифрование обеспечивает засекречивание кодированного сообщения согласно определенному алгоритму и «ключу».

Рассмотрим более подробно процедуры кодирования и шифрования.

Кодирование передаваемых сообщений. Итак, согласно приведенным примерам, кодом называется правило однозначного преобразования элементарных символов алфавита «А» в символы алфавита «В». Процесс такого преобразования называется кодированием, а обратный ему процесс, связанный с переходом от алфавита "В" к "А", – декодированием.

Вспомним сведения из математики, касающиеся системы счисления. Обычно мы пользуемся десятичной системой, в которой число представляется в виде суммы степеней числа 10, называемым основанием:

(3)

(3)

где K0 , K1 , K2 , K3…. Kр – цифры, могущие принимать одно из десяти значений – от 0 до 9.

Каждое из слагаемых ряда (3) называется разрядом. Поэтому число N10 может быть одно-, двух-, трех- и т.д. разрядным. Например, число 371 является трёхразрядным, а 69025 – пятиразрядным. Цифра каждого последующего разряда в десять раз больше аналогичной цифры предыдущего разряда.

В двоичной системе за основание числа принимается цифра 2 и в каждом разряде могут быть только цифры 0 или 1. Каждый следующий разряд может быть только в два раза больше предыдущего. Таким образом, число в двоичной системе представляется в виде суммы степеней числа 2:

(4)

(4)

где М0, М1, М2, М3…. Мq – цифры, которые могут принимать одно из двух значений – 0 или 1.

Например, в двоичной системе число 6=1٠22 +1٠21 +0٠20, записываемое как 110 , является трёхразрядным, а число 11=1٠23 +0٠22 +1٠21+1٠20, записываемое как 1011 , является четырёхразрядным.

Выбор двоичной системы счисления обусловлен тем, что при её использовании операции с числами в электронных устройствах, имеющих только два состояния: «включено» и «выключено» (или «цепь замкнута» и «цепь разомкнута»), значительно упрощаются. Одному из таких состояний соответствует цифра ‹‹1››, другому – ‹‹0››.

Код характеризуется тремя основными параметрами: основанием m, значностью n и максимальным количеством составных сигналов или кодовых комбинаций N. Каждому символу алфавита "А" соответствует определенная кодовая комбинация алфавита "В".

Основанием кода m называется число различных элементарных символов, образующих составной сигнал. Элементарные символы могут отличаться между собой полярностью, длительностью, амплитудой, частотой заполнения. При m=2 код называется двоичным или бинарным, при m=3 – троичным, при m=4 –четверичным и т.д. В большинстве радиоэлектронных систем используется двоичный код, при котором одним из элементарных символов является ‹‹1››, другим – ‹‹0››, или ‹‹1›› и ‹‹-1››.

Значностью кода n называется число элементарных символов, образующих составной сигнал или кодовую комбинацию. Составные сигналы могут быть одинаковой или разной значности. В первом случае код называется равномерным, во втором – неравномерным. Примером равномерного кода является код Бодо (n =5), неравномерного – код Морзе.

При основании m и значности n максимальное число составных сигналов или кодовых комбинаций:

N=mn

(5)

Код, содержащий все комбинации, определяемые согласно (5), называется полным, в противном случае – неполным. При двоичном полном коде:

N=2n

(6)

где значность n= log2N есть число разрядов или бит в одной кодовой комбинации.

Так, при n=2 получим четыре кодовые комбинации: 00   01   10   11; при n= 3 – восемь кодовых комбинаций: 000 001 010 011 100 101 110 111.

Рассмотрим, как можно преобразовать текстовое сообщение на русском языке с помощью двоичного равномерного кода. Каждой букве русского алфавита присвоим числа сначала в десятичной, а затем двоичной системе. Примем значность, или число разрядов n=6 , что согласно (6) при m=2 даёт N=26=64 комбинации, т.е. с запасом обеспечивает кодирование в двоичной системе 32 букв русского алфавита и двух дополнительных знаков согласно табл. 2.

В силу равномерности кода каждому символу будет соответствовать одинаковое число бит, равное числу разрядов n=6.

Например, фраза ‹‹Проверка связи›› при кодировании согласно табл. 2 примет вид:

010000   010001 001111 000011 000110 010001 001011 000001 100001 010010 000011 100000 001000 001001.

Таблица 2

БукваЧисло в десятичной системеЧисло в двоичной системе
А 01 000001
Б 02 000010
В 03 000011
Г 04 000100
Д 05 000101
Е 06 000110
Ж 07 000111
З 08 001000
И 09 001001
Й 10 001010
К 11 001011
Л 12 001100
М 13 001101
Н 14 001110
О 15 001111
П 16 010000
Р 17 010001
С 18 010010
Т 19 010011
У 20 010100
Ф 21 010101
Х 22 010110
Ц 23 010111
Ч 24 011000
Ш 25 011001
Щ 26 011010
Ъ 27 011011
Ы 28 011100
Ь 29 011101
Э 30 011110
Ю 31 011111
Я 32 100000
пробел 33 100001
точка 34 100010

Шифрование передаваемых сообщений. Закрытость или секретность передаваемого сообщения обязательна в военном деле, при передаче дипломатических депеш, шпионской и иной конфиденциальной информации.

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

Шифрованием называется такое преобразование сообщения согласно определённому правилу, при котором понять его истинный смысл можно только с помощью специального «ключа».

В целом операцию шифрования на передающем конце линии связи можно выразить так:

В=Ф (С, К),

где В – зашифрованное сообщение, С – передаваемое сообщение, К – ключ.

На приёмном конце линии связи следует произвести дешифрование принятого сообщения В, что можно выразить следующим образом:

С=Ψ (В, К).

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

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

Если год или даже несколько лет, то шифрование можно считать вполне успешным, поскольку за это время переданная информация, как правило, устареет и её раскрытие не сможет принести вреда корреспондентам, пользующимся данным шифром.

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

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

Задание. Произведите кодирование какой-либо фразы на английском языке с помощью кода Цезаря согласно табл. 1, а затем – русской фразы согласно табл. 2.

В.И. Каганов, доктор технических наук, профессор МИРЭА