Но машина вполне работала. Марк повернул диски так, чтобы буквы «ММД» встали друг напротив друга в один столбик. После этого он переключил тумблер около буквы «У». Как и полагается, лампочка зажглась около буквы «Я». Это было волшебно. В качестве рабочего образца его машина, конечно же, выглядела лучше моей. У меня всё нужно было делать вручную, а у него по проводке бежал электрический ток и автоматически зажигал лампочки. Конечно же, было и широкое пространство для дальнейшего развития.
Я спросил:
– Марк, скажи. Почему ты в качестве ключа выбрал буквы «ММД»?
– Это мои инициалы.
Да уж. Об этом можно было догадаться. Я с негодованием воскликнул:
– Как ты не понимаешь, что нельзя выбирать такие ключи?! Его же легко проверить. Очень просто начать проверять с самых банальных трёхбуквенных сочетаний.
Марк оторопело смотрел на меня. Потом он попытался оправдаться:
– Ну я же просто проверить, всё ли я правильно сделал.
Ладно. Надо что-то придумать. Поскольку теперь и у него, и у меня были шифровальные машины, мы могли обмениваться тайными сообщениями, и вряд ли кто-либо смог бы их разгадать. Но как быть с ключами? Нельзя же придумывать каждый раз ключ и сначала посылать его. Это всё равно, что оставить ключ от замка прямо около замка.
Как обычно, идея пришла сама собой. Я взял лист большой бумаги, линейку и карандаш и начал чертить большую таблицу. Я расчертил двенадцать строк и каждую обозначил первыми тремя буквами месяца: «ЯНВ», «ФЕВ» и т. д. до «ДЕК». Потом я начертил тридцать один столбец и пронумеровал их от 1 до 31. Затем зачеркнул ячейки, соответствовавшие несуществующим дням в году, вроде 30 февраля или 31 июня.
Когда я дочертил эту таблицу, у меня получилось по одной ячейке на каждый день года. Я передал расчерченный лист, карандаш и линейку Марку и попросил расчертить для себя такую же таблицу. Пока он этим занимался, я стал думать, как заполнить ячейки таблицы. По пришедшей мне в голову идее в каждой ячейке надо написать три буквы, причём обязательно выбранных случайным образом. Эти три буквы и будут ключом для шифровальной машины. А выбор ключа будет производиться по дню года. Идея мне нравилась.
Сначала я решил выписывать по три символа из какого-либо текста из газеты. Но, подумав, понял, что это плохой, негодный способ. Я представил себя на месте того, кто хочет взломать мой секрет. Я бы собирал шифровки, пытался обнаружить ключи. При помощи какого-либо метода мне время от времени удавалось бы находить ключ от очередного сообщения (например, перебором или случайно). Дальше можно было расставлять обнаруженные ключи по дням года, и где-нибудь они сложились бы в слово или фразу. Это позволило бы продолжить слово или же найти начало фразы, тем самым обнаружив новые ключи. Новые ключи, вернее, гипотезы о новых ключах, можно было проверить на зашифрованных сообщениях – если расшифровка удалась бы, то ключ правильный.
По той же причине я отверг и другой метод, который пришёл мне в голову. Я хотел было взять три спички и бросать их на газету. В качестве ключей использовались бы те буквы, на которые указывали концы спичек. Это был бы достаточно простой способ выбора букв, но я отверг его, поскольку решил, что символы будут выбираться не случайно. Ведь в газете напечатаны буквы в полном соответствии с частотами их проявления в текстах, а это значит, что буква «О» будет появляться чаще всего, а буквы «Ф» и «Ъ» – реже всего. Конечно же, это позволило бы проще разгадать шифровки, выстраивая гипотезы о ключах на основании частот букв в русском языке и потом проверяя ключи на шифровках.
Все эти мысли пронеслись у меня в голове вихрем. Я подумал, что не зря я столько времени провёл, расшифровывая папины старые послания, ведь именно эта работа позволила мне сейчас так просто отвергнуть некоторые методы выбора символов для ключей. Ведь наличие всяких закономерностей, которые мне удавалось находить, и позволяло мне расшифровывать тексты. Чем меньше закономерностей использовать, тем труднее будет тому, кто захочет взломать мои секреты. Поэтому лучше всего использовать самые случайные последовательности. Но как их получить?
Как раз Марк закончил рисовать свою таблицу. Он спросил меня:
– Зачем нам нужна такая мощная таблица?
– Всё просто. Видишь, тут по одной ячейке на каждый день года. В каждую ячейку мы напишем ключ для этого дня, и этот ключ будем использовать для шифровки сообщений в этот день. Теперь осталось придумать, как выбрать такие ключи. Они должны быть полностью случайны.
– Почему? Давай сделаем ещё проще. Пусть ключ при помощи какой-нибудь мудрёной формулы создаётся из даты.
– Да ты что! Это будет фиаско. Как только кто-нибудь распознает формулу для создания ключа, мы сразу же потеряем всю секретность.
Марк задумался, а я продолжил: