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