Математика и криптография — страница 16 из 23

Если у читателя несколько детей близкого возраста, с которыми можно устроить такие «шпионские игры», то эта книга также подойдёт. Можно устроить эту игру с каждым ребёнком отдельно, но это, скорее всего, вызовет непонимание у детей. Можно устроить соревнования, но тут также есть свои риски. Лучше всего, на мой взгляд, как-то объединить усилия детей, чтобы они одновременно решали задачи и отгадывали загадки. Надеюсь, что мои методические рекомендации помогут в этом.

В Интернете я планирую размещать дополнительные материалы для обучения ребёнка основам криптографии. Эти материалы помогут как с методологической точки зрения, так и для создания различных криптографических ресурсов: ключей, одноразовых блокнотов, шифров и кодов. Также я намереваюсь публиковать программы для использования и дальнейшей самостоятельной доработки, чтобы они были инструментами — как в деле обучения криптографии, так и в самих вопросах шифрования и дешифровки. В любом случае заинтересованный читатель всегда может написать мне на адрес электронной почты: roman.dushkin@gmail.com, и мы сможем обсудить практически каждый вопрос, касающийся этой книги.

В добрый путь!

Методические рекомендации

Прежде чем вы начнете со своим ребёнком игру, которая научит его основам криптографии, я хотел бы дать некоторые методические рекомендации. Они основаны на моём личном опыте, а потому их стоит воспринимать только лишь в качестве советов, но никак не догм. У меня нет педагогического образования, все мои наработки основаны только на опыте занятий со старшим сыном. Поэтому всякий читающий должен критически относиться к написанному и применять этот текст к своим конкретным условиям.

Обучение основам криптографии по этой книге рассчитано на 12 недель. Этот срок выбран как примерная длительность летних каникул. Соответственно, читателю, принявшему решение провести со своим ребёнком лето в изучении секретов криптографии, стоит заранее ознакомиться с этой книгой, чтобы быть готовым ко всем занятиям, а также примерно спланировать эту деятельность. Отдать же ребенку его книгу («Книга для детей») желательно уже на первой неделе занятий.

В детской книге, конечно же, написано, что ребёнок должен всё держать в тайне, в том числе и саму книгу. Однако я рекомендую взрослому также ознакомиться с ней заранее. Тем, у кого нет навыков криптографии и криптоанализа, она позволит понять, чем же вы будете заниматься с ребёнком всё лето. В любом случае это будет небезынтересно. И кроме того, советую тем из читателей, у кого нет знаний об этой науке, прочитать дополнительную литературу. Список рекомендуемых книг приведён в конце этого труда.

Основная идея обучения при помощи этих книг, заключается в отправке друг другу писем. Возможно, ребёнку будет сложно или неинтересно писать ответы, но взрослый должен каждую неделю посылать одно письмо, в котором раскрывается одна из тем. Так что в этой книге рассказывается, как готовить еженедельные послания, как зашифровывать или скрывать сообщения тем методом, которому посвящена неделя. А вот в книге для ребёнка объясняется, что это за письмо, какой метод шифрования был применён и как его можно взломать.

Вот основные рекомендации, как сделать процесс обучения интересным для ребёнка:

1. Писать письма лучше всего вручную, а не печатать на принтере. Если ребёнок читает ещё с трудом, то желательно использовать печатные буквы (да и вообще всегда лучше их использовать). Для писем подойдёт обычная писчая бумага формата А4. Лучше не использовать разлинованные листы. Если писать на пустом листе тяжело, то можно использовать разлинованную подложку. Это позволит сделать письмо опрятным (само собой разумеется, что помарок и исправлений лучше не допускать).

2. Конверты тоже лучше использовать самодельные или даже складывать письма «треугольниками», как во время Великой Отечественной войны.

3. Рекомендую придумать для этих писем какую-нибудь необычную особенность. К примеру, мы со старшим сыном переписывались, скрепляя письма настоящей сургучной печатью. Да, в специальном магазине был куплен сургуч и печать для него. Мы сворачивали письма в треугольный конверт (при этом добавляли дополнительный лист с распечатанной сеткой, чтобы невозможно было разглядеть написанное на просвет), треугольник оборачивали лентой и запечатывали сургучом и печатью. Это было не только аутентично, но и достаточно эстетично.

4. Необходимо продумать канал передачи писем. Если ребёнок живёт, к примеру, на даче с бабушкой и дедушкой, а еженедельно к нему кто-нибудь ездит, то письма можно передавать с этим посыльным. Если вы живёте вместе с ребёнком, то можно устроить специальный почтовый ящик, ключ от которого будет только у ребёнка, а взрослый сможет опускать письмо через прорезь. Это придаст дополнительной таинственности — ребенок сможет забирать адресованные ему письма тогда, когда никто за ним не наблюдает.

5. Было бы неплохо время от времени спрашивать ребёнка о его успехах в криптографической теории и практике. Если у него появляются сложности, то с ребёнком надо дополнительно проработать тему и вопросы, которые вызвали эти затруднения. Это необходимо делать крайне осторожно и скрупулёзно, поскольку знания, предлагаемые в этой книге, действительно непросты, и при попытках взять их с наскока можно понизить ребёнку мотивацию.

6. Кроме того, для занятий на восьмой неделе ребёнку необходимо дать какую-либо книгу, в которой не жалко будет зачёркивать буквы. Другой экземпляр этой книги надо оставить у себя. Лучше всего заранее ознакомиться с материалами восьмой недели, чтобы подготовиться основательно.

7. Для занятий на девятой неделе необходимо составить словарь кодовых понятий и также передать один экземпляр ребёнку (в принципе, это можно сделать и во время занятий, но лучше составить заранее). Опять же советую ознакомиться с описанием задачи девятой недели прямо сейчас.

8. Наконец, для занятий на последней, двенадцатой неделе потребуется одноразовый блокнот, который надо составить, распечатать в двух экземплярах и один отдать юному криптографу. Прочитайте описание двенадцатой недели заранее.

Вот так, к примеру, выглядело треугольное письмо, которое я каждую неделю отправлял старшему сыну на дачу.

Надеюсь, что методические рекомендации помогут вам провести незабываемые часы и дни досуга одновременно с обучением непростой и крайне интересной теме.

Неделя 1. Простой шифр подстановки

На первой неделе юный криптограф будет изучать основополагающие понятия науки о шифрах. Для этого проще всего использовать шифр простой подстановки. Другими словами, в таком шифре все буквы заменяются на какие-либо другие символы (возможно даже, на те же самые буквы, только в измененном порядке). Соответственно, шифрограмма выглядит как тот же самый текст, только в нём все буквы заменены на другие символы. Технически это вовсе не шифр, но для тех, кто незнаком с криптографией, даже такое будет разгадать не очень просто.

Вот, что потребуется для организации занятия:

1. Какое-либо сообщение длиной не менее 500 символов (не считая пробелов).

2. Шифр простой подстановки. Для этого необходимо сделать таблицу шириной в 33 столбца и высотой в две строки. В верхней строке пишутся все буквы русского алфавита, в нижней строке ставятся символы, которые эти буквы заменяют. Это ключ.

3. Текст из пункта 1, преобразованный в шифрограмму с использованием ключа из пункта 2. Чтобы преобразовать его, нужно заменить буквы текста на соответствующие значки ключа.

4. Письмо для ребёнка, в тексте которого приводится шифрограмма. В самом письме может быть указано всё что угодно. Например, можно написать про текущие дела, про погоду или планы на грядущие выходные, а где-нибудь в середине текста надо вставить шифрограмму.

Ребёнок, получив письмо, должен будет шифрограмму разгадать. Для того чтобы понять, что ребёнок справился с заданием, в самой шифрограмме нужно будет написать какое-то конкретное задание, которое ребёнок должен будет выполнить.

Давайте посмотрим, как это можно сделать. Пусть для шифрования заготовлен следующий текст:

ПРИВЕТ. Я РАД, ЧТО ТЫ СРАЗУ ЖЕ ДЕЛАЕШЬ УСПЕХИ В КРИПТОАНАЛИЗЕ И УЖЕ МОЖЕШЬ РАЗГАДЫВАТЬ ТАКИЕ ЗАДАЧИ, КАК ВЗЛОМ ШИФРА ПРОСТОЙ ПОДСТАНОВКИ. КАК ВИДИШЬ, ЭТО СОВСЕМ НЕСЛОЖНО, НАДО ТОЛЬКО ДОСТАТОЧНО ТЕРПЕНИЯ И УСИДЧИВОСТИ. И ТЕПЕРЬ ТЫ ПОНИМАЕШЬ, ЧТО ТАКИМ СПОСОБОМ ШИФРОВАНИЯ ПОЛЬЗОВАТЬСЯ ДЛЯ СОКРЫТИЯ СВОИХ СЕКРЕТОВ НЕЛЬЗЯ НИ В КОЕМ СЛУЧАЕ. ЛЮБОЙ ЧЕЛОВЕК, КТО МАЛО-МАЛЬСКИ ЗНАКОМ С МЕТОДОМ ДЕШИФРОВКИ ПО ЧАСТОТАМ, ВЗЛОМАЕТ ТАКОЙ ШИФР В ДВА СЧЁТА. ПРОДОЛЖАЙ ЗАНИМАТЬСЯ, И МЫ ИЗУЧИМ ЕЩЁ МНОГО ИНТЕРЕСНОГО. ПОКА.

Примечание: как видите, тут использованы только заглавные буквы. Обычно при шифровании и дешифровке используют только заглавные (или только строчные) буквы, поскольку для передачи смысла нет никакой разницы в том, заглавная буква в тексте или строчная. Если пытаться их различать в шифре, то это увеличит объёмы необходимых вычислений, но никак не увеличит сложность самого шифра.

Теперь сделаем какой-нибудь простой шифр подстановки с заковыристыми символами. Например, пусть код будет такой:

И теперь совсем несложно зашифровать текст:

πριϐετ. ϒ ραδ, ψτω τϚ σραζυ ξε δελαεθϜ υσπεχι ϐ κριπτωαναλιζε ι υξε μωξεθϜ ραζγαδϚϐατϜ τακιε ζαδαψι, κακ ϐζλωμ θιφρα πρωστωϊ πωδστανωϐκι. κακ ϐιδιθϜ, Ϡτω σωϐσεμ νεσλωξνω, ναδω τωλϜκω δωστατωψνω τερπενιϒ ι υσιδψιϐωστι. ι τεπερϜ τϚ πωνιμαεθϜ, ψτω τακιμ σπωσωβωμ θιφρωϐανιϒ πωλϜζωϐατϜσϒ δλϒ σωκρϚτιϒ σϐωιχ σεκρετωϐ νελϜζϒ νι ϐ κωεμ σλυψαε. λϞβωϊ ψελωϐεκ, κτω μαλω-μαλϜσκι ζνακωμ σ μετωδωμ δεθιφρωϐκι πω ψαστωταμ, ϐζλωμαετ τακωϊ θιφρ ϐ δϐα σψητα. πρωδωλξαϊ ζανιματϜσϒ, ι μϚ ιζυψιμ εϕη μνωγω ιντερεσνωγω. πωκα.

Честно говоря, конкретно в этом шифре фантазии немного. В качестве шифровальных символов использованы строчные знаки греческого алфавита, а для специфических русских букв, у которых нет соответствия в греческом языке, взяты редкие значки из древнегреческого языка или его диалектов. Тот, кто знает греческий алфавит, сможет прочитать эту шифрограмму и без ключа. Но пока в качестве примера подойдёт и такой вариант. Осталось посоветовать, что для первого занятия надо бы придумать что-то своё и интересное.