Криптографические приключения. Таинственные шифры и математические задачи - Роман Душкин
Шрифт:
Интервал:
Он набросал в жидкость весь нарезанный тростник, и мы ушли. Только папа время от времени подходил к примусу и добавлял воды, чтобы не выкипело.
Через несколько часов мы вернулись. Запаха уже почти не чувствовалось, а в кастрюле была какая-то кашица. В доме папа сварил крахмал и теперь вылил его в кастрюлю. Эту смесь он хорошенько перемешал палочкой, а потом вылил всё в сито. Отцеженную смесь он откинул на заготовленную заранее плотную ткань и распределил ее по половине поверхности ткани. Оставшейся половиной он накрыл будущую бумагу, и положил всё это между двумя досками, а потом на верхнюю доску положил большой камень — гнёт. Всё это мы оставили на ночь.
Остаток дня прошёл за разговорами.
* * *
На следующий день дядя Руслан и дядя Игорь забрали папин металлоискатель и уехали в леса. Отец остался с нами: он показывал тёте Наде, где что находится, чтобы ей было удобнее хозяйничать. Мы с Катей развлекали маленьких сестёр.
Днем мы достали из-под гнёта доски, между которыми была спрессована бумага из тростника. Я осторожно раскрыл ткань, и перед нашими взглядами оказался тонкий желтоватый листок бумаги, похожей на папиросную, с отчётливым рисунком тростниковых волокон и метёлок. Это было удивительно и волшебно. Катя попросила листок себе, а поскольку она была художницей, я отдал его без всяких вопросов. Я знал, что, если потребуется, мы с папой сделаем себе ещё.
Папа спокойно сидел на скамейке под липой. Я подошел к нему и сказал:
— Мне кажется, ты обленился.
— Почему это?
— Ты давно уже не учил нас ничему новому о шифровании. Мог бы уже что-нибудь придумать…
— Мне казалось, что вы устали стрелять из лазера.
— А кроме лазера разве больше ничего нет?
— Дай мне поразмыслить.
— Вот я и говорю, что обленился. Мог бы уже и поразмыслить.
Наконец папа решился. Мы позвали Катю и расположились на своём обычном месте — на полянке около входа в штаб. Валя и Вика были со своей мамой, так что мы вполне могли позаниматься. Отец сказал:
— Что ж, рассмотрим ещё один вопрос. Он будет касаться асимметричного шифрования. Вы можете предположить, что это такое?
Я задумался. Если он сказал про асимметричное шифрование, то, наверное, есть симметричное. И раз про асимметричное шифрование отец хочет нам рассказать только сейчас, то, наверное, это что-то сложное и необычное. Стало быть, то, что мы знали раньше — одноалфавитная и многоалфавитная замена, матрицы перестановки, редкая книга, одноразовый блокнот — всё это, получается, симметричное шифрование? Что бы это значило?
Мне пришла идея, и я осторожно ее высказал:
— Может быть, симметричное шифрование — это когда обе стороны переписки имеют один и тот же ключ?
— Верно! А асимметричное?
Тут уже в разговор вступила Катя:
— Ну, видимо, когда ключи у сторон разные?
— Да. Но как такое возможно?
Мы переглянулись и пожали плечами. Наверняка это опять было связано с какой-нибудь сложной математикой, про которую нам в школе ещё не рассказывали — примерно так, как это было с протоколом Диффи — Хеллмана.
Папа не стал ждать наших ответов и продолжил:
— Представьте, что было бы, если бы мы могли зашифровывать текст одним ключом, а расшифровывать его надо было бы другим. Как можно воспользоваться такой технологией? Не забудьте о проблеме распространения ключей.
Я уже знал ответ:
— Такой проблемы не было бы. Мы могли бы разместить ключ для шифрования хотя бы на доске объявлений, к которой есть доступ у любого. И любой человек смог бы этим ключом зашифровать текст, но никто, даже он сам, уже не мог бы его расшифровать. Но имея тайный ключ для расшифровки, мы могли бы расшифровывать сообщения, отправляемые нам.
Отец ответил:
— Всё верно. Ключ для всех называется «открытым», и при помощи него можно только зашифровывать. Расшифровать текст уже не получится. Ключ для расшифровки называется «закрытым», и он должен храниться в секрете. Это можно пояснить при помощи замка и ключа.
Папа быстро нарисовал картинку, на которой были шкафчик, амбарный замок и ключ от него.
— Вот шкафчик открыт. В него любой может положить письмо и закрыть замком, просто защёлкнув его. Всё, теперь шкафчик открыть нельзя. Замок — это открытый ключ. Он используется для шифрования, то есть сокрытия информации. Теперь, чтобы открыть замок, нужен ключик, то есть закрытый ключ. Он есть только у владельца шкафчика. Всё просто.
Он посмотрел на нас и спросил, всё ли понятно. Мы в ответ синхронно кивнули. Тогда он продолжил:
— Давайте подумаем, что может служить таким замком и ключиком в криптографии. Помните, что вся современная криптография основана на математике. Давайте найдём что-то математическое, что позволяет просто запирать замочек, но не позволяет отпирать. Подумайте, дайте поработать своей интуиции…
Но у нас с Катей ничего не получалось. Мы сделали пару предположений, но папа все их отверг. Тогда он продолжил сам:
— Возьмём простые числа. Помните, что это такое? Простым называется число, у которого нет целых делителей, кроме единицы и его самого. Ряд простых чисел начинается так: 2, 3, 5, 7, 11, 13 и так далее. Пока не доказано, что ряд простых чисел бесконечен, но и не опровергнуто. При этом нет формулы, при помощи которой можно было бы получить простое число по его номеру. Другими словами, ряд целых чисел необходимо вычислить и запомнить. Третья проблема — нет и эффективного алгоритма для построения ряда простых чисел. Есть, например, алгоритм под названием «решето Эратосфена». Надо взять бесконечный ряд натуральных чисел, начинающийся с 2, и вычёркнуть все числа, которые делятся на 2. Потом вычеркнуть все числа, которые делятся на 3, потом на 5, потом на 7 и так далее до бесконечности. Как вы понимаете, для бесконечности этот алгоритм не вполне эффективен. Но если нужно найти все простые числа, не превышающие заданного, то этот алгоритм работает довольно быстро. Особенно если использовать эффективные критерии делимости.
Мы с Катей переглянулись, так как было всё ещё неясно, при чем тут принципы асимметричного шифрования. Я сказал:
— Всё это хорошо и понятно. Расскажи нам про асимметричное шифрование.
Отец тяжело вздохнул и начал с другой стороны:
— Ну ладно. Давайте так. Возьмём два очень больших простых числа. Пусть в каждом из них будет по тысяче цифр. Перемножить эти два числа проще простого, так? Но просто ли по произведению найти эти два числа?
Эта задача была мне известна, поэтому я сказал:
— Нет, это очень сложная задача. Теперь я понял — ты говоришь про разложение числа на простые множители. В общем виде эта задача не имеет эффективного решения.
Катя с подозрением посмотрела на меня, а отец продолжил:
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!