"Виталий Бабенко. Встреча (Сборник "Поселок на краю Галактики")" - читать интересную книгу автора

Попадет ли мой сигнал в точку? Как бы то ни было, теперь дело чести
расшифровать матрицу самому.
Я выключил комп, спрятал его в карман и огляделся. Вроде бы все
спокойно. И все же какую-то ошибку я допустил. Скорее всего, еще в
челноке, когда изучал матрицу. Чей-то непраздный взгляд мог упасть на
индикатор моего компьютера, ведь на пассажирских местах в челноках нет
шторок. Впрочем, кто-то мог засечь меня и позже, уже в шлюзе, или раньше,
когда я целился из ридара, сгорбившись в тесной будке. Но кто? Ведь на
крыше галифаксского аэровокзала, кроме нас с Олавом, не было никого...



14

Перейдя в "Стратопорт", я прошел на свое место 9-В, задернул шторку и
сразу занялся компьютером. Вид матрицы на индикаторе нагонял тоску. Передо
мной был код, который никак нельзя назвать однозначно декодируемым. Я
понятия не имел, каким образом разбить эту последовательность кодовых
символов на кодовые слова, да еще так, чтобы разбиение оказалось
единственно верным. Но отступать некуда.
Для начала я прогнал матрицу через те криптоаналитические программы,
которые мог припомнить: подстановочная программа, перестановочная
программа, шифр Цезаря, шифр Тритемиуса...
Маловато. Конечно, у моего компа огромные возможности, но я-то почти
полный профан в криптоанализе. Напрягшись, припомнил правила кодирования
по Хеммингу, но и тут незадача: откуда мне знать длину кодового слова в
той шифровке, что скучно светилась на индикаторе. Я поиграл немного с
компом, перебрав длины 3, 4, 5, 6, 7, 8, и понял, что зашел в тупик.
Надо мной замаячил призрак Клода Шеннона, отца теории информации. Он
давным-давно показал, как можно построить криптограмму, которая не
поддается расшифровке, если, конечно, не известен способ ее составления. И
все же я продолжал игру. Наверное, во всей последующей истории главную
роль сыграло именно то, что я - полный профан в криптоанализе. Ну и еще
уязвленное самолюбие: я не мог себе простить, что я не знаю, с какого
конца подобраться к криптограмме. И решил брать ее в лоб. А мой
дилетантизм побудил меня задуматься над формой матрицы.
До сих пор я свято полагал, что матрица кода должна быть строго
квадратной, - не иначе как отголоски почти забытого университетского курса
матричной алгебры. Действительно, квадратную матрицу удобно
транспонировать, или если хотите проще, то симметрично преобразовать
относительно диагонали. Но кто сказал, что в моем случае вообще требуется
транспонирование?
Коль скоро передо мной прямоугольная матрица, размышлял я, да еще с
хвостиком, это непорядок. Ее надо преобразовать так, чтобы остался
квадрат, а хвостик исчез. На верную дорогу я вышел случайно; принципиально
же это в корне неверно и могло увести меня неведомо куда.
Я сосчитал число знаков в строке - их было тридцать два - и решил сжать
матрицу, объединив знаки по два. То есть разбил текст на кодовые слова с
длиной два. Но в двоичном коде двумя знаками можно записать лишь четыре
цифры - 0(00), 1(01), 2(10) и 3(11).