Или, например, два человека договорились, что один другому пришлёт по электронной почте анекдот. Если это будет анекдот про папу римского, то такое письмо обозначает, что отправитель нашёл на дне океана затопленный испанский галеон с кучей золота на борту. А анекдот про раввина из Праги будет свидетельствовать, что поиски не привели к успеху. И подобных примеров можно привести нескончаемое количество.
Таким образом, опять видна необходимость тайной договорённости о системе кодирования ключевых понятий. Сначала нужно составить словарь в двух экземплярах, а затем по открытым каналам уже можно пересылать информацию, закодированную при помощи этого словаря.
Что обычно кодируют этим методом? Ответ простой: ключевые понятия, которые используются теми, кто занимается секретной перепиской. Это могут быть имена людей, названия населённых пунктов и мест, а также определённые действия, информацию о которых необходимо скрыть. Так что на этой неделе план работ должен быть следующим:
1. Составить словарь кодовых обозначений и передать его юному криптографу при помощи секретного канала.
2. Написать письмо, в котором все термины, встречающиеся в словаре, заменены на коды.
Опять же, словарь желательно составить до начала обучения, и передать его ребёнку тоже необходимо заранее. Иначе секретность канала его передачи окажется под сомнением, поскольку любое лицо, передавшее словарь (если это, конечно, не сам читатель), сможет его скомпрометировать.
Неделя 10. Симпатические чернила
На этой неделе мы займёмся очень интересным шпионским делом, которое наверняка привлечёт внимание юного криптографа. Это ещё один метод стеганографии, то есть сокрытия самого факта передачи информации. Речь пойдёт о так называемых симпатических чернилах, то есть таких, которые не видны невооружённым глазом, а проявляются только при определённых условиях. Такими условиями могут выступать нагрев, освещение специальным светом или использование химического проявителя. Можно сказать, что это наиболее широко используемый метод стеганографии — на листе бумаги симпатическими чернилами пишется секретный текст, а поверх него при помощи обычных чернил пишут ничего не значащее сообщение для отвода глаз.
В качестве симпатических чернил можно использовать различных вещества. Самое банальное — это обычное молоко. Если написать текст молоком, то, когда оно высохнет, видно его не будет. Проявить скрытый текст можно только нагрев лист. При нагреве написанные молоком буквы станут коричневыми. Тем же самым свойством обладают следующие вещества: яблочный сок, сок лука, сок брюквы, квасцы и даже свежая светлая моча (некоторые арестанты пользуются этим способом за неимением иных).
Также можно использовать слюну — для неё проявителем служит очень слабый водный раствор чернил. Другие вещества, которые могут использоваться в качестве симпатических чернил, — крахмал (проявлять надо при помощи йодной настойки) и аспирин (проявляется солями железа). А интересней всего использовать раствор стирального порошка с оптическим отбеливателем, поскольку эти симпатические чернила проявляются при помощи ультрафиолетового света.
Вот краткая таблица-памятка, в которой симпатические чернила расположены в порядке доступности как самих чернил, так и проявителя для них. Самый простой проявитель — нагрев, а наиболее доступные для нагрева симпатические чернила — молоко. Все остальные пары в этой таблице расположены сходным образом:
Таким образом, на этой неделе план обучения ребёнка следующий:
1. Выбрать симпатические чернила таким образом, чтобы у ребёнка заведомо была возможность их проявить. Лучше всего использовать молоко.
2. Написать скрытый текст выбранными симпатическими чернилами и дождаться, когда он полностью высохнет. Лучше использовать большие, размашистые буквы, чтобы при проявке они не сливались ни друг с другом, ни с символами открытого текста.
3. Поверх текста, написанного симпатическими чернилами, написать произвольный текст на отвлеченную тему. В нём желательно как-нибудь намекнуть на то, какие симпатические чернила были использованы.
Так что на этой неделе юный криптограф научится очень интересному способу сокрытия информации, который наверняка ему понравится. По возвращении домой ему можно будет рассказать про другие варианты симпатических чернил и научить самостоятельно их готовить и проявлять.
Неделя 11. Каскадное шифрование
К одиннадцатой неделе ваш ребёнок, занимающийся криптографией, уже должен знать достаточное количество методов сокрытия информации, а также уметь использовать их для расшифровывания. Кроме того, он должен знать и уметь применять на практике изученные методы дешифровки. Мы воспользуемся этим для закрепления полученных навыков перед тем, как перейти к изучению абсолютно невзламываемого шифра.
На этой неделе мы изучим так называемое каскадное шифрование, когда для сокрытия информации используется несколько разных методов шифрования и стеганографии. Это как заворачивание предмета в несколько разных обёрток или сборка матрешки. Или как луковая шелуха — снимаешь один слой, а под ним другой. В общем, каскадное шифрование — это когда к тексту последовательно применяется несколько способов шифрования и сокрытия информации. Сначала один, потом — к полученной шифрограмме — второй, потом третий и т. д.
В чём идея? Дело в том, что информация имеет свойство устаревать. Особенно это касается оперативной информации. Например, некто переслал шифрованную команду начать атаку на окружённую крепость завтра утром. Пусть противник перехватит шифрограмму, но если он расшифрует её только к полудню завтрашнего дня, эта информация ему никак не поможет, так как атака к тому времени уже начнётся. Поэтому криптоаналитик должен действовать быстро. Но вычислительные мощности, какими бы ни были они серьёзными, всегда ограниченны, а потому тот, кто шифрует информацию, может затруднить её вскрытие на некоторое время, пока информация имеет какую-то ценность. Это, собственно, одно из предназначений каскадного шифрования.
Для каскадного шифрования можно использовать несколько достаточно простых шифров. Каждый из которых взломать, может быть, и легко — но, взломав первый, криптоаналитик наткнётся на второй. При этом надо будет ещё понять, что первый шифр взломан, а полученный на выходе хаотичный набор символов — это уже второй «слой» шифрования. После этого криптоаналитик потратит время на взлом второго шифра, а там обнаружится третий. И когда криптоаналитик, вытирая пот с поседевшей головы, найдёт открытый текст, будет уже поздно и полученная информация будет неактуальной.
Таким образом, на этой неделе необходимо выполнить следующий план работ:
1. Необходимо выбрать не менее трёх способов сокрытия информации, которые были изучены ранее. Желательно выбирать такие, в которых ребёнок «плавает», чтобы он мог дополнительно потренироваться. Но первый метод шифрования лучше выбрать как раз такой, с которым юный криптограф знаком хорошо.
2. После этого придумать текст, который будет скрыт. Соответственно, к этому тексту надо будет применить все выбранные методы шифрования и сокрытия информации.
3. Затем внести полученную шифрограмму в текст письма ребёнку.
4. В случае затруднений, ребенку надо будет помочь. Это упражнение в целом довольно-таки непростое, поэтому к дополнительной работе с ребёнком надо готовиться сразу.
Например: следует придумать сообщение длиной не менее 250 символов, после чего применить к нему шифр многоалфавитной замены с ключом длиной в 5 символов. Полученную шифрограмму закодировать методом Френсиса Бэкона (применять операцию XOR в этом случае смысла нет, так как замена, применённая к замене, даёт ту же замену, сила шифра не меняется абсолютно). Сам код Бэкона нанести на буквы открытого текста при помощи симпатических чернил (можно, к примеру, закрашивать ту букву, которая соответствует двоичной цифре 1). В итоге отправляемое письмо не будет нести никаких следов скрытой информации. Проявив симпатические чернила, ребенок получит последовательность двоичных цифр. Её надо раскодировать, но результатом окажется шифрограмма, которую снова придётся взламывать.
Таким образом, эта неделя будет для ребёнка своеобразным экзаменом. Ему потребуется применить все накопленные знания, чтобы взломать новое послание. Так что рекомендую подготовить для него какой-нибудь сюрприз и подарок.
Неделя 12. Одноразовый блокнот
Наконец, мы подошли к самой волнующей теме, которой я и хотел бы закончить эту книгу. На последней неделе занятий я познакомлю вас с абсолютно невзламываемым способом шифрования. Тексты, зашифрованные им, невозможно взломать, и это доказано математически. Способ называется «одноразовый блокнот».
Представьте себе шифрограмму, в которой текст зашифрован при помощи банальной многоалфавитной замены (напомню, что мы проходили этот метод на второй неделе и затем вновь вернулись к нему на четвёртой, когда изучали операцию XOR). Ничего сложного, правда? Но что, если длина ключа равна длине скрываемого текста, а сам ключ представляет собой абсолютно случайный набор символов? Как такое можно взломать?
Действительно, если взять абсолютно случайную последовательность символов в качестве ключа, при этом длина ключа будет равна длине шифруемого текста, то после применения операции XOR к двум последовательностям получится такой же абсолютно случайный набор символов, в котором нет никаких закономерностей. Давайте попробуем провести небольшой эксперимент.
Пусть необходимо скрыть слово «КИБЕРНЕТИКА», а в качестве ключа будем использовать последовательность «ЫУДЛДЫЯУПЛИ». Результат применения операции XOR к этим двум строкам такой: «ЦЭЖЙУСШЖШЖЗ». Как может попытаться взломать эту шифрограмму криптоаналитик? Поскольку символов здесь всего 11, он может попытаться перебрать все возможные варианты ключей (хотя это очень много даже для современных вычислительных устройств и полный перебор займёт много времени: 32