Квантовая криптография на игральных картах

TJournal

Читатель TJ объясняет сложный метод шифрования на одном из самых понятных примеров — колоде карт.

Поделиться

В избранное

В избранном

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

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

Сыграем в квантовый пасьянс

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

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

Неопределённость — фундаментальная особенность квантовых карт. В тот момент, когда мы переворачиваем неизвестную квантовую карту, мы должны сказать, по какому признаку мы читаем (измеряем) карту: по масти или по достоинству. Причём если у карты была определённая масть, мы можем сколько угодно измерять её по масти, и всегда будем получать тот же самый результат.

Но стоит нам прочитать её по достоинству, её старая масть «слетает» и становится неопределённой. При этом достоинство карты может оказаться равным 6 или Т с вероятностями 50%. Таким образом, квантовые карты, в отличие от классических, могут менять свои признаки в течение игры.

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

Например, мы мерим по масти одну карту из запутанной пары и получаем пику. В этом случае мы, не переворачивая вторую карту по масти (но не по достоинству), со 100% уверенностью можем сказать, что там черва. И то же самое с достоинствами. Нечто похожее может происходить и с классическими картами — например, в случае, если вы играете с крупье, который раздаёт вам пару карт, отбирая их по принципу разных мастей. Вскрыв одну карту, вы точно узнаете, какая масть и другой.

Генерация ключа

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

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

Если Борис не угадал, кон заканчивается, и карты раздаются заново. Если же Борис мерил так же, как и Анна, то оба записывают себе значение Бориса, закодированное в двоичной системе. При этом 6 и пика кодируются как 0, а Т и червы — как 1. После записи начинается новый кон.

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

Рисунок ниже иллюстрирует этот алгоритм на примере девяти конов игры. Каждый столбец из карт соответствует одному кону.

Прослушивание

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

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

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

Заключение

Данная игра носит название протокола BB84 по первым буквам фамилий и году опубликования. На сегодняшний день существует множество других протоколов квантового шифрования, а также попыток их взлома. Здесь же приведён самый простой. В нём у Елены есть шанс остаться не обнаруженной, но он сильно падает с увеличением длины ключа.

В реальности роль квантовых карт играют фотоны, а роль мастей и достоинств — характеристики их поляризации. Физики особым образом научились создавать запутанные пары фотонов: измерение поляризации одного из них повлияет на статистику измерения поляризации у второго мгновенно и независимо от расстояния. Этот процесс и носит название квантовой телепортации.

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

#разборы #криптография #технологии

Материал дополнен редакцией