Страница 18 из 29
– Да, вся эта линия – случайный набор. Он здесь не к месту, и это не просто шум, потому что остальные части картинки не повреждены – вот только эта линия чуть изломана. А шумы распределились бы по картинке случайно.
– Так посмотри, что это, – сказала Карлотта. – Гений у нас ты, а я всего лишь монахиня.
Вскоре Боб выделил линию в отдельный файл и стал изучать информацию в виде двоичного кода. При попытках рассмотреть этот код как текст в однобайтовой или двухбайтовой кодировке смысла не получалось, но его и не могло быть – иначе письмо никогда бы не попало в Сеть. Значит, если это действительно письмо, оно должно быть как-то зашифровано.
Несколько часов Боб писал и пробовал различные программы расшифровки. Он пробовал математические структуры и графические интерпретации, но понимал, что на самом деле здесь не может быть подобных сложностей, потому что автор письма не мог пользоваться компьютером. Это должно быть что-то относительно простое, что будет видно при поверхностном исследовании.
И потому Боб вернулся к попытке интерпретировать двоичный код как текст. Скоро он нашел схему, которая выглядела перспективной. Двухбайтный текстовый код, но сдвинутый на одну позицию вправо, кроме случаев, когда сдвиг вправо давал осмысленные символы – в этом случае сдвиг был двойной. При этом настоящий символ не мог появиться ни в одной программе просмотра файла.
Одна строка, обработанная подобным методом, состояла только из текстовых символов, которые вряд ли могли бы появиться случайно. Но вторая строка содержала мусор, с виду совершенно бессмысленный.
Тогда Боб сдвинул ее влево, и она тоже оказалась заполненной текстовыми символами.
– Врубился, – объявил Боб. – И это в самом деле письмо.
– И что в нем сказано?
– Понятия не имею.
Карлотта заглянула ему через плечо:
– Это даже не язык. Символы не разбиты на слова.
– Это нарочно, – объяснил Боб. – Если разделить на слова, это бы выглядело как осмысленное сообщение и вызывало бы желание расшифровать. Самый простой способ для любителя расшифровать язык – проверить длину слов и частоту появления определенных групп символов. В общем языке надо было бы искать буквы «а», слова «the» и «and» – такого рода вещи.
– А ты даже не знаешь, на каком это языке написано.
– Нет, но, скорее всего, на общем – его посылают человеку, у которого заведомо нет ключа. Значит, сообщение должно поддаваться расшифровке, а это подразумевает общий язык.
– Тогда шифр должен быть и трудным и легким одновременно?
– Да. Легким для меня, трудным для других.
– Ладно, перестань. С чего ты взял, что оно адресовано тебе?
– Эндер. Дракон. Я был в армии Дракона, как почти все они. Они знают, что там собраны все они, кроме меня. А я единственный человек, с которым, как им ясно, они могут связаться, не зацепив никого лишнего.
– У вас что, был какой-то свой шифр?
– На самом деле нет, но у нас есть общий опыт – сленг Боевой школы, какие-то рассказы, – в общем, скоро будет ясно. Я его должен расколоть, потому что узнаю слово, которое никто другой не мог бы узнать.
– Это если письмо от них.
– От них, – отмахнулся Боб. – Они понимают, что я сделал бы. Нашел бы это слово. Подпись разошлась повсюду, и код сейчас в миллионах компьютеров, но никто не знает, что это код, потому что люди видят смысл и не ищут более глубокого. Это не письмо, а фишка – для всех, кроме меня.
– Ты убедил меня – почти.
– Я его расколю раньше, чем спать лягу.
– Ты еще слишком мал, чтобы пить столько кофе. Аневризму себе заработаешь.
И сестра Карлотта вернулась к своей почте.
Поскольку буквы не делились на слова, Бобу пришлось искать какую-то другую систему, чтобы выделить смысл. Не было сочетаний двух или трех букв, которые не вели бы в явный тупик, но это Боба не удивило. Если бы он составлял такое сообщение, он бы опустил все артикли, союзы, предлоги и местоимения, которые только мог бы. И даже не в этом дело, почти все слова наверняка были бы нарочно написаны с ошибками, чтобы не было повторений. Но некоторые слова будут написаны верно, и это те, которые незнакомы людям, чьи корни не лежат в субкультуре Боевой школы.
Было всего два места, где повторялся один и тот же символ – по одному в каждой строке. Вполне возможно, что здесь следующее слово начиналось с той буквы, на которой заканчивалось предыдущее, но Боб в этом сомневался. В таком сообщении ничего не было бы случайным. И Боб написал программку, которая подставила различные буквы в повторяющиеся сочетания, начиная с «аа», и стал выбирать из них те, что казались ему осмысленными. Начал он с пары одинаковых букв во второй строке, потому что они тоже были окружены одинаковыми буквами – по системе 1221.
Легко было отбросить полную бессмыслицу, вроде «xddx», или «pffp», но пришлось покопаться в вариантах «abba», «adda», «deed» и «effe» и посмотреть, что происходит с письмом при такой подстановке. Некоторые варианты казались осмысленными, и Боб оставил их для дальнейшего изучения.
– А почему оно теперь по-гречески? – спросила Карлотта. Она снова заглядывала ему через плечо. Боб не слышал, как она подошла.
– Я все исходное сообщение перевел в греческие буквы, чтобы не отвлекаться на поиски смысла в еще не раскодированных буквах. А те, с которыми я работаю, – латинские.
Программа показала сочетание «iggi».
– Piggies, – предположила Карлотта.
– Может быть, но для меня это ничего не значит. – Боб полазил по словарю в поисках этого сочетания букв, но все было так же бессмысленно, как и «piggies».
– А это должно быть слово? – спросила Карлотта.
– Ну если это число, то здесь тупик, – ответил Боб.
– Нет, в том смысле, может ли это быть имя?
Боб сообразил тут же:
– Какой же я дурак!
Он вставил буквы «w» и «n» в начале перед и после «iggi» и сделал эту подстановку во всем тексте, велев программе показать дефисы вместо нераскодированных букв. Строки стали такими:
-n-g-n-n-n-i-n-g
-n-n-wiggin-
– Не похоже это на общий, – сказала Карлотта. – Букв «i» должно быть больше.
– Я полагаю, что было опущено как можно больше букв, особенно гласных, чтобы трудно было узнать общий язык.
– А как ты узнаешь, что ты его расшифровал?
– Когда в нем появится смысл.
– Спать пора. Но я знаю, что ты не ляжешь, пока не расшифруешь.
Он едва заметил, как она отошла. Теперь Боб взялся за другую сдвоенную букву. На этот раз работа оказалась сложнее, потому что буквы перед и после пары были разные, значит, надо было пробовать больше комбинаций, а возможность исключить буквы «g», «i», «n» и «w» не сильно ускорила процесс.
И опять Боб стал пробовать различные подстановки, но ничего не вызывало ассоциаций, пока не попалось слово «jees». Так товарищи Эндера по последней битве называли свою группу – jeesh. А что? Это слово вполне могло быть паролем.
h-n-jeesh-g-en-s-ns-n-si-n-s-g
-n-n-wiggin-
Если эти двадцать семь букв угаданы правильно, остается всего тридцать. Боб протер глаза, вздохнул и стал работать.
Запах апельсинов разбудил его в полдень. Сестра Карлотта чистила апельсин «мексемерика».
– Люди их едят на улице и сплевывают мякоть на тротуар – ее не разжевать так, чтобы можно было проглотить. Но сок лучше, чем из любого другого апельсина.
Боб вылез из кровати и взял предложенную дольку. Карлотта была права. Она протянула ему миску – сплевывать мякоть.
– Отличный завтрак, – сказал Боб.
– Ланч, – поправила сестра Карлотта. Она держала в руке бумагу. – Я так понимаю, это и есть решение?
Там была распечатка, которую Боб сделал перед тем, как идти спать.