Это была первая ссора в моей жизни, которую я выиграла, не сказав ни слова. Молча посмотрев на меня какое-то время, Орест снова сел. Он устало передернул плечами и почесал за воротником. На нем, как всегда, была рубашка, но поверх – коричневый вязаный джемпер. Весь в катышках.
– Страница восемьдесят семь, – тихо проговорил он.
Я открыла нужную страницу – на ней оказалась таблица с огромным количеством букв.
Орест снова принялся записывать.
– Я сделал краткую выжимку, – сказал он.
Записная книжка Ореста раскрылась, кажется, сама собой. Она была расчерчена как тетрадка по математике – Орест уже успел исписать несколько страниц.
О шифре Виженера
Создатель: Блез де Виженер, 60-е годы XVI века.
Расшифровка: Чарльз Беббидж взломал шифр в 1854 году, но никому не рассказал как! Несколько лет спустя, в 1862 году, шифр разгадал Фридрих Вильгельм Касиски[5].
Стало быть, понадобилось более 300 лет, прежде чем кто-то смог понять этот шифр!
Метод решения: анализ частоты повторения букв в тексте. Лучше всего проводить на мощном компьютере!
Шифр Виженера на самом деле аналогичен шифру Цезаря. Он строится на том, что два алфавита перемещаются друг относительно друга. Получается нагляднее, если выписать буквы двух алфавитов на два круга – один побольше, другой поменьше, – и скрепить их в центре, чтобы можно было поворачивать их друг относительно друга.
Внешний круг используется, чтобы писать обычный, или открытый текст, как это называется в криптографии – науке о шифровании. Открытый текст напишем маленькими буквами, чтобы не запутаться.
Внутренний круг используют, чтобы писать зашифрованный текст. Зашифрованный текст пишем БОЛЬШИМИ буквами.
Вот такая вертушка называется шифровальным кругом.
Чтобы создать свой код, надо использовать ключ. Ключ – это правило, которое определяет, на какие буквы зашифрованного текста заменяются буквы открытого.
Если мы делаем шифр Цезаря, то ключом у нас будет одна буква.
Например: если мы выбираем ключ «Д», то нам надо настроить шифровальный круг на ключ «Д».
Мы поворачиваем круг так, чтобы буква «Д» во внутреннем круге оказалась напротив ключа во внешнем круге (то есть напротив буквы «А» во внешнем круге).
Теперь можно приступать к шифрованию. Попробуем зашифровать слово «секрет».
Слово, которое нужно зашифровать, мы будем называть открытым текстом. Его всегда записывают маленькими буквами, и оно связано с маленькими буквами на внешнем круге.
Шифрованный текст всегда записывают БОЛЬШИМИ буквами – их мы получаем за счет БОЛЬШИХ букв во внутреннем круге.
Запишем всё это в виде таблицы, где наверху будет ключ, под ним – открытый текст, а внизу – место для букв зашифрованного текста.
Буква шифра – это БОЛЬШАЯ буква на внутреннем круге, которая стоит напротив маленькой буквы внешнего круга.
Для букв в слове «секрет» у нас получится следующее.
Готово!
Теперь осталось только послать зашифрованное послание «ХЙОФЙЦ» нашим тайным друзьям. Они знают, что ключ – «Д», и подставят свое кодовое колесо, соединив букву «Д» и знак ключа, как сделали мы, когда шифровали. Затем они заменят большие буквы шифра на внутреннем круге маленькими буквами во внешнем круге и получат открытый текст.
Всё просто!
Но, к сожалению, такой шифр легко расшифровать. Если кто-то найдет наше закодированное послание, он может попробовать все буквы алфавита на кодовом круге и обнаружить наш ключ.
Мы должны усложнить задачу.
Шифр Виженера сложнее – там ключом является не буква, а целое слово.
Например, ключ – слово ЛОМ.
Тогда первая буква открытого текста шифруется при помощи первой буквы ключа, вторая – при помощи второй и так далее.
Если будем шифровать слово «секрет», получится вот так.
А теперь шифруем!
Первая буква открытого текста – «с». Ее мы шифруем при помощи буквы «Л» в ключе.
Поворачиваем шифровальный круг, чтобы ключ (там, где маленькая буква «а») оказался напротив буквы «Л».
Находим во внешнем большом круге букву «с». Напротив нее стоит первая буква зашифрованного сообщения – «Ь».
Вот так.
Теперь переходим ко второй букве открытого текста – это буква «е». Если следовать ключу, ее следует кодировать при помощи буквы «О».
Поворачиваем шифровальный круг так, чтобы напротив ключа (первой буквы «а») в малом круге стояла буква «О».
Затем ищем в большом круге букву «е».
Напротив нее в малом круге находим букву «У».
(Смотри таблицу ниже.)
Чтобы зашифровать третью букву открытого текста, мы выставляем ключ напротив буквы «М».
Буква «к» в открытом тексте оказывается напротив буквы «Ц».
Когда мы доходим до четвертой буквы открытого текста «р», нам надо снова использовать первую букву ключа, то есть «Л».
Для буквы «р» в большом круге мы получим «Ы» в малом.
Для пятой буквы снова ставим ключ «О».
Для буквы «е» в большом круге получаем «У» в малом.
Для шестой буквы открытого текста – «т» – мы ставим ключ «М».
Для «т» в большом круге получаем «Ю».
Готово!
Теперь у нас получилось зашифрованное сообщение, которое очень трудно расшифровать.
(Если не знать ключа.)
Окей. Я врубилась, что этот самый шифр Виженера куда сложнее, чем шифр Цезаря, где буквы заменяются по одному принципу. Здесь при помощи кодового слова, или ключа, это происходит по-разному. Но, елки-палки, как тогда разгадать шифр? Если не знать ключа?
Если верить книжке, лучший способ – использовать мощный компьютер. Я задумалась, можно ли заменить мощный компьютер темноволосым мальчиком, синей ручкой и библиотечным ПК. Вероятно – если в запасе у тебя около трехсот лет…
Я взглянула через плечо, чтобы посмотреть на мониторе, что там делает Орест.
Судя по всему, он обнаружил в интернете программу дешифровки. Но, похоже, даже с ней дело шло неважно. Загрузить в нее шифр и получить расшифрованный текст не вышло – это решение не сработало.
– Послушай, – обратилась я к Оресту. Он поднял на меня глаза. – Ты подумал о том, что текст, возможно, не на шведском?
Орест посмотрел на зашифрованный текст, потом снова на экран. Не говоря ни слова, он запустил новый поиск и заменил шведский текст английским. Вместо запроса «расшифровать шифр Виженера» он ввел в командную строку «Vigenere + code + break». Ему тут же выпало несколько ссылок.
– Возможно, это и не по-английски, – продолжила я. – Это может быть любой язык. Французский. Или латынь. Или… да всё что угодно!
Орест не ответил. Он молча вбивал длинный зашифрованный текст в окошко на мониторе.
Орест не сдавался, однако лично мне ситуация всё больше казалась безнадежной. Я посмотрела за окно, на серую асфальтированную парковку. Начинало темнеть. Я подумала о незнакомце в меховой шапке, вручившем мне письмо. Кто он такой? Откуда появился? Где он сейчас?
Так я и сидела рядом с Орестом, уставившись в одну точку, пока не заметила маму в спортивном костюме, подбегающую к парковке. Я скомкала свой лист, запихнула в карман, а «Искусство предвидеть будущее», прежде чем выбежать ей навстречу, засунула на самое дно рюкзака. И, только уже сидя в машине, подумала, что надо было спросить Ореста, не подвезти ли его до дома.
В тот вечер папа рано ушел спать. Мы с мамой сидели вместе на диване и смотрели американский сериал, который она любит. Он о парнях, которые занимаются научными исследованиями в области математики, физики и всё такое. Они постоянно в прострации – буквально пообедать сами не могут… А еще у них есть соседка – крутая девушка, которая пытается им помочь. У мамы на работе полно таких рассеянных ученых, так что она всегда смеется до слез! Но сама она такая же, моя мамочка.
Мы просидели допоздна, так что я была очень уставшая, когда добралась до кровати. Но заснуть мне всё равно не удалось. Я снова начала думать о шифрах, ключах и обо всём таком. И об Оресте, который пошел в библиотеку, ничего мне не сказав.
Почему он не позвал меня с собой? Сначала пришла мысль, что, может, это со мной что-то не так – к примеру, от меня плохо пахнет, или я слишком навязчива, или еще что-то? Но потом я подумала: ведь это не я хожу в школу в рубашке и с портфелем. И, пожалуй, меня устроит, что я не стала любимицей Ореста.
Он-то наверняка до сих пор сидит и ломает голову над шифром. Наверное, всю ночь бьется, только вот безуспешно. Кстати, откуда он узнал, что тут использован именно шифр Виженера? «Книга шифров» очень толстая, в ней наверняка сотни других шифров.
Я подумала о том, что этот Аксель написал в конце письма. «Лишь тот, кто сам умен, отыщет след». Выходит, мы недостаточно хорошо соображаем – Орест и я?
«То, что привыкли мы видеть вокруг, новой картиной сменяется вдруг», – написал Аксель. И потом: «Это ключ». Ключ! Вот он! Сердце у меня отчаянно забилось.
Я включила ночник, направив его на стену, чтобы свет не был виден под дверью. Затем тихонько встала и притащила к кровати рюкзак, лист бумаги и ручку. Забравшись обратно под одеяло, я расправила свою копию письма. «Одна попытка, – подумала я. – Попробую разочек, потом буду спать…»
Для начала я начертила шифровальный круг – как тот, что показал мне Орест.
Я переписала первую строчку текста, а затем написала наверху кодовое слово.
Кодовое слово: ЛЕРУМ. Это здесь. Название места, где мы живем. Именно здесь Аксель писал свое письмо. Я помнила – даже не заглядывая в листок, – что первая страница была подписана: «Лерум, 3 декабря 1892 года».
Первые двадцать семь букв получились вот так.
Для первой буквы зашифрованного текста я повернула колесо так, чтобы ключ встал против «Л», для второй – поставила против ключа «Е»…
Кончик ручки дрожал, когда я помечала пробелы между словами.
То, что привыкли мы видеть вокруг.
Стоит ли говорить, что в ту ночь я так и не смогла заснуть?