На верную дорогу я вышел случайно; принципиально же это в корне неверно и могло увести меня неведомо куда.
Я сосчитал число знаков в строке - их было тридцать два - и решил сжать матрицу, объединив знаки по два. То есть разбил текст на кодовые слова с длиной два. Но в двоичном коде двумя знаками можно записать лишь четыре цифры - 0(00), 1(01), 2(10) и 3(11).
Таким образом я перевел получившийся текст в четвертичную систему; теперь он выглядел так:
1122312132311113
2332231233232312
3111323122233233
1323123231233112
1231111313132332
3313233132122231
3112231222112131
3133222231323212
3321113123213233
1123132332211112
1222332311113212
3231112231121231
1131111233233323
2313133133231132
3111113233233311
1223332222332123
2131123323323233
1222332232331313
З213221222232223
2322223321332321
3233312323132333
3332321122313111
221
Матрица осталась прямоугольной, но она была вытянута уже по вертикали. И вот какая штука: во всей матрице не было ни единого пуля. Я счел это добрым знаком, потому что из полной неразберихи начала проглядывать какая-то система...
Навязчивая идея о квадратной матрице преследовала меня. Недолго думая, я разделил криптограмму на две неравные части: вверху остался квадрат из 256 (16х16) знаков, а внизу - прямоугольная таблица с корявым хвостом.
Уже час я находился на борту "Стратопорта", а решение задачи даже не забрезжило. Но с мертвой точки дело сдвинулось: неверной дорожкой я как-то приближался к цели. Только минут через сорок меня осенило: нижняя часть может оказаться ключом к верхней. А вдруг передо мною редкий код с переменной длиной кодового слова? Тогда указание на то, как варьировать длину, надо искать в самой криптограмме.
Предположим, что длина меняется от 1 до 3 и нижняя часть матрицы - это запись длин, а четвертичный код выбран для того, чтобы затруднить работу дешифровщика: в этой криптограмме и основной текст, и ключ записаны всего тремя цифрами, и не так-то просто распознать, что есть что. К тому же кодовый текст выглядит абсолютно бессмысленным, и отличить префиксы кодовых слов, отделить слова друг от друга на первый взгляд невозможно.
Я попробовал прочитать квадратную матрицу с помощью ключа; его образ наполнился у меня буквальным содержанием - хвостик превратился в "бородку". В ключе первая цифра была 1 - значит, первое кодовое слово состоит из одной цифры - единицы. Вторая цифра ключа - двойка, поэтому второе слово матрицы содержит два знака, то есть 12. И так далее.
В конце концов из квадратной матрицы получилось.
1 12 23 121 323 111
13 23 32 23 123 323
23 1 23 111 32 3 122
2 3 32 331 323 12
323 123 31 121 23
111 131 3 13 23 32
331 323 31 32 122 23
131 122 3 122 2 112
131 31 3 322 22 31 3
23 21 23 32 111 31
23 21 323 31 123 13
23 З2 21 111 212 22
3 323 111 13 212 32
3 111 22 311 212 311
1 31 111 23 323 3
323 23 131 331 332
311 323 111 11 323
32 3 3 31 12 323 2
323 1 3 2 23 12 3
И теперь у меня не осталось никаких сомнений: передо мной типичная! простейшая! примитивнейшая! подстановочная криптограмма. Классика литературы: "Золотой жук" Эдгара По. Такой орешек мой компьютер расколет мгновенно. Я ввел программу частотного анализа и откинулся на спинку кресла. Сейчас я увижу текст.
И текст появился. Передо мной была абракадабра, начинавшаяся строчкой prefabyemenaepebmow...
Через несколько минут, проклиная себя за нечеткое знание американских и британских военных аббревиатур, я разбил текст на слова: Prefab Yemen AE PEB mow...
15
И вот я снова разглядываю цифровые символы, но состояние мое уже совсем не похоже на то, с которым я принимался за расшифровку. Лоб в испарине. Пульс около ста сорока. В жилах гуляет адреналиновый шторм.
Времени у меня почти нет. Через полчаса дежурный стюард пригласит пассажиров на борт челнока, идущего в Пассау. Если я не расшифрую текст, то расстанусь с Олавом, так ничего и не доказав, а потом - ищи ветра в поле. Даже если на земле мои коллеги разберутся с кодом, Ольсен к тому времени сотрет запись в памяти компьютера и все мы останемся с носом. Олава тогда ни в чем не обвинишь, он выскользнет чистым.
Единицы, двойки, тройки мельтешили у меня в глазах, голову переполнял цифровой рой, и я в страхе думал, что еще немного - и вообще перестану что-либо соображать.
Может быть, компьютер перемудрил с частотным анализом? Нет, даже на глаз видно, что кодовое слово "23" встречается чаще других, это наверняка гласная, скорее всего "е". Но именно при этом допущении комп выдал две разноречивые версии! Значит, все-таки не "е"?
Ох, придется брать в руки фломастер и блокнот и решать задачу кустарным способом. Как то делал Уильям Легран из рассказа По.
Ничего другого в голову не приходило. Ощущая себя полным кретином, я принялся составлять частотную таблицу: "23" встречается в тексте 15 раз, "323" - 13 раз, "З" - 13 раз, "32" - 9 раз, "31" - 8 раз. И так далее.
Предположим, что "23" - не "е", а, скажем, "а"...
Что из этого следует, мне не дали сообразить.
16
Прозвучал тихий зуммер, и передо мной зажегся телевизионный экран. Появилось лицо дежурного стюарда.
- Господин Щукин?
Я кивнул.
- Прошу извинить, что нарушил ваш покой, - с искренним смущением произнес стюард. - Однако дама, просившая не называть ее имени, приглашает вас переменить место и подсесть к ней. Это в нашем крыле, но в правом салоне. Место 17-F. Еще раз прошу меня простить, но дама очень настаивала.
Занятно. После гибели Мерты у меня на всем "Стратопорте" нет ни одной знакомой женщины. Дело, кажется, идет к развязке. Почему бы и не согласиться? Жаль, шифровка не разгадана. И подстраховать меня некому. Что ж, будем полагаться на собственные силы. Тем более есть такой постулат Первый закон велосипедиста: "Куда бы вы ни ехали, все равно это будет в гору и против ветра". Впрочем, есть и утешительная аксиома, которая называется законом Паула: "Свалиться с пола невозможно".
Я поблагодарил стюарда и попросил передать даме, что присоединюсь к ней через несколько минут. Затем отодвинул шторку, вышел в проход и бросил мимолетный взгляд в сторону Ольсена. Олав был на месте. Сколько можно сидеть сиднем - уж не манекен ли там вместо живого человека? Впрочем, проверять этот домысел я не стал. Если нам и предстоит встретиться на ближней дистанции, то не по моей инициативе.
- Тысячу раз прошу прощения, вы не поможете мне? - услышал я тихий голос.
Как не вовремя! Ко мне обращался пожилой человек, сидевший в соседнем ряду. Седые волосы, простодушное лицо, расслабленная, безмятежная поза... Нет, не противник.
- Слушаю вас.
- У меня что-то не ладится с электроникой. Вызов стюарда не работает, экран не зажигается, в наушниках шипит и трещит.
Ах, пожилой джентльмен, какой же вы растяпа. И обратились совсем не к тому человеку. Как бы вам ото не вышло боком.
- Попробуйте пульт соседнего кресла, оно же все равно пустует, - с легкой укоризной сказал я. - Или нажмите кнопки того места, что у окна. Вряд ли все три пульта отказали. Хоть один из них должен работать.
- Большое спасибо, - ответил мужчина, широко улыбаясь.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Я сосчитал число знаков в строке - их было тридцать два - и решил сжать матрицу, объединив знаки по два. То есть разбил текст на кодовые слова с длиной два. Но в двоичном коде двумя знаками можно записать лишь четыре цифры - 0(00), 1(01), 2(10) и 3(11).
Таким образом я перевел получившийся текст в четвертичную систему; теперь он выглядел так:
1122312132311113
2332231233232312
3111323122233233
1323123231233112
1231111313132332
3313233132122231
3112231222112131
3133222231323212
3321113123213233
1123132332211112
1222332311113212
3231112231121231
1131111233233323
2313133133231132
3111113233233311
1223332222332123
2131123323323233
1222332232331313
З213221222232223
2322223321332321
3233312323132333
3332321122313111
221
Матрица осталась прямоугольной, но она была вытянута уже по вертикали. И вот какая штука: во всей матрице не было ни единого пуля. Я счел это добрым знаком, потому что из полной неразберихи начала проглядывать какая-то система...
Навязчивая идея о квадратной матрице преследовала меня. Недолго думая, я разделил криптограмму на две неравные части: вверху остался квадрат из 256 (16х16) знаков, а внизу - прямоугольная таблица с корявым хвостом.
Уже час я находился на борту "Стратопорта", а решение задачи даже не забрезжило. Но с мертвой точки дело сдвинулось: неверной дорожкой я как-то приближался к цели. Только минут через сорок меня осенило: нижняя часть может оказаться ключом к верхней. А вдруг передо мною редкий код с переменной длиной кодового слова? Тогда указание на то, как варьировать длину, надо искать в самой криптограмме.
Предположим, что длина меняется от 1 до 3 и нижняя часть матрицы - это запись длин, а четвертичный код выбран для того, чтобы затруднить работу дешифровщика: в этой криптограмме и основной текст, и ключ записаны всего тремя цифрами, и не так-то просто распознать, что есть что. К тому же кодовый текст выглядит абсолютно бессмысленным, и отличить префиксы кодовых слов, отделить слова друг от друга на первый взгляд невозможно.
Я попробовал прочитать квадратную матрицу с помощью ключа; его образ наполнился у меня буквальным содержанием - хвостик превратился в "бородку". В ключе первая цифра была 1 - значит, первое кодовое слово состоит из одной цифры - единицы. Вторая цифра ключа - двойка, поэтому второе слово матрицы содержит два знака, то есть 12. И так далее.
В конце концов из квадратной матрицы получилось.
1 12 23 121 323 111
13 23 32 23 123 323
23 1 23 111 32 3 122
2 3 32 331 323 12
323 123 31 121 23
111 131 3 13 23 32
331 323 31 32 122 23
131 122 3 122 2 112
131 31 3 322 22 31 3
23 21 23 32 111 31
23 21 323 31 123 13
23 З2 21 111 212 22
3 323 111 13 212 32
3 111 22 311 212 311
1 31 111 23 323 3
323 23 131 331 332
311 323 111 11 323
32 3 3 31 12 323 2
323 1 3 2 23 12 3
И теперь у меня не осталось никаких сомнений: передо мной типичная! простейшая! примитивнейшая! подстановочная криптограмма. Классика литературы: "Золотой жук" Эдгара По. Такой орешек мой компьютер расколет мгновенно. Я ввел программу частотного анализа и откинулся на спинку кресла. Сейчас я увижу текст.
И текст появился. Передо мной была абракадабра, начинавшаяся строчкой prefabyemenaepebmow...
Через несколько минут, проклиная себя за нечеткое знание американских и британских военных аббревиатур, я разбил текст на слова: Prefab Yemen AE PEB mow...
15
И вот я снова разглядываю цифровые символы, но состояние мое уже совсем не похоже на то, с которым я принимался за расшифровку. Лоб в испарине. Пульс около ста сорока. В жилах гуляет адреналиновый шторм.
Времени у меня почти нет. Через полчаса дежурный стюард пригласит пассажиров на борт челнока, идущего в Пассау. Если я не расшифрую текст, то расстанусь с Олавом, так ничего и не доказав, а потом - ищи ветра в поле. Даже если на земле мои коллеги разберутся с кодом, Ольсен к тому времени сотрет запись в памяти компьютера и все мы останемся с носом. Олава тогда ни в чем не обвинишь, он выскользнет чистым.
Единицы, двойки, тройки мельтешили у меня в глазах, голову переполнял цифровой рой, и я в страхе думал, что еще немного - и вообще перестану что-либо соображать.
Может быть, компьютер перемудрил с частотным анализом? Нет, даже на глаз видно, что кодовое слово "23" встречается чаще других, это наверняка гласная, скорее всего "е". Но именно при этом допущении комп выдал две разноречивые версии! Значит, все-таки не "е"?
Ох, придется брать в руки фломастер и блокнот и решать задачу кустарным способом. Как то делал Уильям Легран из рассказа По.
Ничего другого в голову не приходило. Ощущая себя полным кретином, я принялся составлять частотную таблицу: "23" встречается в тексте 15 раз, "323" - 13 раз, "З" - 13 раз, "32" - 9 раз, "31" - 8 раз. И так далее.
Предположим, что "23" - не "е", а, скажем, "а"...
Что из этого следует, мне не дали сообразить.
16
Прозвучал тихий зуммер, и передо мной зажегся телевизионный экран. Появилось лицо дежурного стюарда.
- Господин Щукин?
Я кивнул.
- Прошу извинить, что нарушил ваш покой, - с искренним смущением произнес стюард. - Однако дама, просившая не называть ее имени, приглашает вас переменить место и подсесть к ней. Это в нашем крыле, но в правом салоне. Место 17-F. Еще раз прошу меня простить, но дама очень настаивала.
Занятно. После гибели Мерты у меня на всем "Стратопорте" нет ни одной знакомой женщины. Дело, кажется, идет к развязке. Почему бы и не согласиться? Жаль, шифровка не разгадана. И подстраховать меня некому. Что ж, будем полагаться на собственные силы. Тем более есть такой постулат Первый закон велосипедиста: "Куда бы вы ни ехали, все равно это будет в гору и против ветра". Впрочем, есть и утешительная аксиома, которая называется законом Паула: "Свалиться с пола невозможно".
Я поблагодарил стюарда и попросил передать даме, что присоединюсь к ней через несколько минут. Затем отодвинул шторку, вышел в проход и бросил мимолетный взгляд в сторону Ольсена. Олав был на месте. Сколько можно сидеть сиднем - уж не манекен ли там вместо живого человека? Впрочем, проверять этот домысел я не стал. Если нам и предстоит встретиться на ближней дистанции, то не по моей инициативе.
- Тысячу раз прошу прощения, вы не поможете мне? - услышал я тихий голос.
Как не вовремя! Ко мне обращался пожилой человек, сидевший в соседнем ряду. Седые волосы, простодушное лицо, расслабленная, безмятежная поза... Нет, не противник.
- Слушаю вас.
- У меня что-то не ладится с электроникой. Вызов стюарда не работает, экран не зажигается, в наушниках шипит и трещит.
Ах, пожилой джентльмен, какой же вы растяпа. И обратились совсем не к тому человеку. Как бы вам ото не вышло боком.
- Попробуйте пульт соседнего кресла, оно же все равно пустует, - с легкой укоризной сказал я. - Или нажмите кнопки того места, что у окна. Вряд ли все три пульта отказали. Хоть один из них должен работать.
- Большое спасибо, - ответил мужчина, широко улыбаясь.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15