Роман Душкин - Математика и криптография : тайны шифров и логическое мышление
- Название:Математика и криптография : тайны шифров и логическое мышление
- Автор:
- Жанр:
- Издательство:АСТ
- Год:2018
- ISBN:978-5-17-096808-4
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Роман Душкин - Математика и криптография : тайны шифров и логическое мышление краткое содержание
У тебя есть уникальная возможность познакомиться с реальным миром тайных агентов и спецслужб, ведь все методы шифрования, описанные в книге, используются до сих пор! А вдруг ты сможешь создать свой уникальный метод шифровки?
Математика и криптография : тайны шифров и логическое мышление - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Как происходит использование этой операции в шифровании? Пусть x — бит открытого текста, а y — бит ключа. Тогда z = ( x ⊕ y ) — это бит шифрограммы. Как же теперь расшифровать шифрограмму и получить обратно открытый текст? Абсолютно также: x = ( z ⊕ y ), то есть повторно применить ключ к шифрограмме. Это крайне удобно, поскольку для шифрования и расшифровывания нужна одна и та же операция.
Теперь давайте вспомним способ кодирования, который мы ввели на прошлой неделе. Каждая буква открытого текста была представлена пятью символами 0 и 1, то есть пятью битами. Что интересно, операцию «Исключающее ИЛИ» можно производить побитно, её можно даже применять «в столбик»:

Другими словами, побитное применение операции обозначает, что мы можем применять её к каждому биту, не обращая внимания на остальные, и результат всё равно будет правильным. Здесь нет переносов между разрядами, как при умножении или сложении. Каждая битовая позиция отвечает сама за себя.
Это даёт очень простой способ шифрования текста. Если при помощи двоичного кода перевести открытое сообщение в последовательность нулей и единиц, а потом побитно применить операцию «Исключающее ИЛИ» к этому длинному числу вместе с циклическим ключом, то получится ещё одно длинное двоичное число. Это число можно всё так же перевести назад в буквы, и это получится не что иное, как многоалфавитная замена. Впрочем, ключ можно сделать произвольной длины, в том числе и не кратной числу 5, тогда количество алфавитов в многоалфавитной замене сильно увеличится. Сейчас мы узнали ещё один, причём довольно простой, метод делать то, что мы уже умеем. При этом уже нет никакого резона заниматься арифметикой вычетов или использовать огромную таблицу.
Например, пусть надо закодировать фразу «ЖДИ СИГНАЛ ВО ВТОРНИК» при помощи ключа «ОГОНЬ». В этом случае надо взять и выписать одно под другим два больших числа, а потом применить к ним операцию «Исключающее ИЛИ»:



В итоге получается такая шифрограмма: «ЗАЕНИЕ АОЦОЖ НЧЫКЮ СГ». Её и можно скрывать в тексте при помощи метода стеганографии, описанном для занятий на прошлой неделе.
Однако для занятий с ребёнком на этой неделе я рекомендую использовать ключ длиной в 1 символ. Суть в том, что сейчас юному криптографу важнее научиться использовать операцию «Исключающее ИЛИ», чем заниматься расшифровыванием шифрограммы, закодированной при помощи многоалфавитной подстановки (это всё-таки довольно сложно делать вручную; и мы этим уже занимались на второй неделе).
Итак, что нужно сделать:
1. Придумать сообщение длиной не более 100 символов, которое подвергнется зашифровыванию и сокрытию.
2. Выбрать число от 1 до 31. Это будет ключ.
3. Перевести придуманное сообщение в двоичный код и применить к нему ключ.
4. Написать письмо и в одном из абзацев спрятать стеганограмму методом, изученным на прошлой неделе.
5. В самом тексте письма в открытом виде в каком-либо отвлечённом контексте упомянуть выбранное в качестве ключа число. Поскольку в этом упражнении ключом служит одна буква, то упомянуть можно её номер, но не в явном виде, а как-нибудь хитро (указание на дату рождения, номер дома бабушки или ещё что-то подобное; название гексаграммы из Книги Перемен, наконец).
Надо отметить, что так же, как и на второй неделе, когда мы изучали арифметику вычетов, можно заранее составить таблицу 32 × 32, в которой выписать все комбинации букв. Пользоваться ей ещё проще, чем предыдущей таблицей, поскольку она симметрична относительно главной диагонали. Кроме того, кодирование и декодирование производятся одним и тем же способом, а не разными, как в арифметике вычетов. Ведь для сложения обратным является вычитание, в то время как для операции «Исключающее ИЛИ» обратной является она же.
Неделя 5. Тарабарская грамота
Теперь познакомимся ещё с одним видом стеганографии, который в определённых случаях может оказаться настолько сложным для взлома, что иной криптоаналитик за голову схватится, но всё равно взломать не сможет. Этот способ очень сложен, поскольку информация прячется в тексте, который должен быть вполне обычным, чтобы не вызвать подозрений своей необычностью у криптоаналитика.
Представьте, что у переписывающихся лиц есть два канала передачи информации. Первый канал «абсолютно» закрыт (слово «абсолютно» взято в кавычки, потому что настоящую закрытость реализовать практически невозможно). К примеру, один из каналов — личное общение двух лиц тет-а-тет в закрытом помещении, проверенном на отсутствие прослушивающих устройств. Следовательно, эти лица могут обменяться какой-то информацией. Само собой разумеется, что при помощи такого канала лучше всего обмениваться ключами, то есть информацией о том, как расшифровывать сообщения, посылаемые по другому каналу.
Другой канал — «открытый», поскольку в нём существует риск перехвата сообщения. Отправка писем (как обычных, так и незашифрованных электронных), телефонные переговоры, печатание объявлений в газетах — это всё примеры открытых каналов. Злоумышленник может получить доступ к передаваемой информации. Передавать секретную информацию в незашифрованном виде по открытому каналу нельзя, и именно поэтому необходим закрытый канал, чтобы договориться о способе шифрования. Потом уже, если способ шифрования достаточно сложен для взлома, можно обмениваться информацией по открытому каналу: технически это намного проще, но злоумышленник уже не сможет так просто получить секретную информацию.
Например, если мы договоримся, что в некотором тексте надо читать только каждую пятую букву, то это будет довольно серьёзный способ сокрытия. Не каждый начинающий криптоаналитик догадается, что надо сделать, чтобы найти секретное сообщение, особенно если оно короткое. В особенности, если текст, в котором считаются буквы, представляет собой связное и адекватное повествование. Если же текст неадекватен (похож, к примеру, на бессвязные творения поэтов-авангардистов), то криптоаналитик с опытом поймёт подвох и сможет, проведя статистический анализ по разным критериям, в конце концов взломать секретное сообщение. Если же сообщение представляет собой случайный набор символов (поле букв), то оно тем более будет взломано, причём намного быстрее.
Читать дальшеИнтервал:
Закладка: