Как разгадать двоичный код

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

– А Б В Г Д Е Ж З И К Л М Н О П Р

0 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16

С Т У Ф Х Ц Ч Ш Щ Ы Ь Ъ Э Ю Я

17
18 19 20 21 22 23 24 25 26 27 28 29 30 31.

Запишем
номер каждой из букв в двоичной системе.
Так как 25
= 32, то каждый из этих номеров представляется
в ней не более чем пятью знаками. Будем
писать каждый из этих номеров с помощью
именно пяти знаков, добавляя, если нужно,
соответствующее число нулей впереди
первой значащей цифры. Получаем:

– ~ 0 0 0 0 0

А ~ 0 0 0 0 1

Б ~ 0 0 0 1 0

Я
~ 1 1 1 1 1.

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

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

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

Двоичная система – хранительница тайн

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

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

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

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

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

Рис. 2

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

0 + 0 = 0, 1 + 0 = 0 + 1 = 1,
1 + 1 = 0,

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

Весь процесс может
быть описан следующей схемой:

текст + гамма = шифрованный текст;

шифрованный текст + гамма = текст + гамма + гамма = текст.

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

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

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

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

Как разгадать двоичный код — Видео