Улучшение криптографии с помощью квантовых схем и распределения ключей

Улучшение криптографии с помощью квантовых схем и распределения ключей

5 мая 2023 г.

Скорее всего, если вы были в курсе новейших вычислительных технологий, вы, вероятно, слышали о концепции квантовых вычислений. Хотя терминология может показаться немного пугающей и запутанной, принципы квантовых вычислений и его приложения можно понять на интуитивном уровне при наличии достаточного опыта и знаний.

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

В этой статье я кратко расскажу о квантовых схемах и принципах квантовой механики, благодаря которым все это работает.

Содержание

  • Квантовые состояния и кубиты
  • Векторы состояний и сфера Блоха
  • Квантовые схемы
  • Углубление в квантовые врата
  • Пример квантовой схемы
  • Приложения квантовых схем
  • Квантовая криптография
  • Распределение квантовых ключей
  • Механика QKD
  • Пример уязвимости: RSA
  • Протокол BB84
  • Заключение

Квантовые состояния и кубиты

Прежде чем мы углубимся в квантовые схемы, давайте выясним, из чего состоят квантовые схемы — квантовые вентили и кубиты.

Кубиты

Классические компьютеры, такие как тот, который вы, вероятно, используете сейчас, используют биты для передачи информации. Бит представляет собой состояние, которое может быть только одним из двух значений 0 и 1. Биты могут быть объединены в двоичные данные, которые можно использовать для представления любой части информации, от чисел до текста. Например, число 12 представлено 1100 в двоичном формате. Это связано с тем, что двоичный код имеет основание 2, что означает, что его возможные слоты значений могут быть 2⁰, 2¹, 2³, 2⁴ и так далее. Применяя эту концепцию, преобразование 12 в двоичное число будет выглядеть следующим образом…

8 4 2 1 1 1 0 0 -> 8 + 4 + 0 + 0 -> 12

Мы знаем, что 8 и 4 в сумме дают 12, поэтому 8 и 4 присваивается значение 1 в двоичном виде. С другой стороны, 2 и 1 не имеют отношения к получению результата 12, поэтому им обоим присваивается значение 0. Это дает нам окончательное двоичное значение 1100 для числа 12.

Мы можем применить принцип битов к квантовым вычислениям, чтобы понять кубиты. Кубиты, как и биты, используются для представления состояний компьютера, однако, в отличие от битов, они могут существовать в суперпозиции состояний, что означает, что они могут одновременно представлять как 0, так и 1. Но как это могло быть? Как одна единица может представлять оба возможных значения одновременно?

Наложение

Чтобы лучше понять суперпозицию, воспользуемся аналогией. Представьте, что вы подбрасываете монету в воздух. Когда монета находится в воздухе, она находится в состоянии суперпозиции, когда монета представляет значения орла и решки одновременно. Мы можем окончательно узнать ценность монеты только тогда, когда она падает на землю и ее состояние суперпозиции рушится, что приводит к выпадению орла или решки. Точно так же в квантовой механике кубит (также известный как квантовый бит) может существовать в состоянии, в котором он представляет оба значения 0 и 1. Мы можем сказать определенное состояние кубита только после того, как он коллапсирует в 0 или 1.

Квантовые ворота

Квантовые вентили очень похожи на логические вентили в схеме. Логический вентиль, применимый как к классическим, так и к квантовым компьютерам, представляет собой структуру, которая принимает двоичные входные данные (т. е. 0 и 1, электроны со спином вверх и электронику со спином вниз, кошки и собаки и т. д.) и приводит к одному значение (т.е. 1, электрон со спином вверх и собака), используя систему, называемую булевой функцией. Затем эти вентили можно использовать вместе для создания надежных схем. Разница между классическими вентилями и квантовыми вентилями проявляется, когда вы вводите кубиты. Что отличает квантовые ворота от классических, так это суперпозиция, обратимость и запутанность. В отличие от классических вентилей, в распоряжении которых нет квантовой механики, квантовые вентили могут сохранять информацию о том, какие значения проходят через них, что делает их по своей природе обратимыми. Все, что проходит через квантовые ворота, может быть обращено вспять, однако тот же принцип не соблюдается для классических ворот. Короче говоря, квантовый вентиль используется для преобразования входных данных в конкретные желаемые выходные данные.

Запутывание

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

Векторы состояний и сфера Блоха

Теория векторов

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

Векторы состояний

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

Простой пример выглядит следующим образом…

Image from Qiskit

На изображении выше показан кубит |0⟩, который окончательно выводит 0 при измерении. Точно так же должен быть кубит, который выводит 1, показанную |1⟩. Мы знаем, что эти два состояния взаимоисключающие, потому что между состояниями нет сходимости (кубит выдает 0 или 1). Это представлено выше ортогональными векторами. Мы можем применить ту же концепцию к чуть более сложному примеру ниже…

Image from Qiskit

Изображение выше (обозначенное как |q0⟩) описывает более тонкое состояние, чем просто |0⟩ и |1⟩. Приведенный выше кубит можно переписать следующим образом:

Image from Qiskit

Это состояние демонстрирует вектор состояния для кубита q0, где выход не полностью |0⟩ или |1⟩, а выход представляет собой линейную комбинацию двух, также известную как суперпозиция.

Сфера Блоха

Чтобы визуализировать абстрактные явления суперпозиции, квантовые физики используют математический инструмент, называемый сферой Блоха, для визуализации возможных состояний кубита. Любая точка на сфере Блоха может быть возможным состоянием кубита. На изображении ниже кубит находится в состоянии |+⟩, где тета = пи / 2 и фи = 0

Image from Qiskit

Квантовые схемы

Чтобы продемонстрировать кубиты и квантовые вентили в действии, мы можем посмотреть на принципиальную схему, где входы показаны слева, а выходы — справа. Операции между ними представляют собой ворота, представленные неясными символами. Это типичная схема для стандартного битового компьютера. Входными сигналами являются A, B и C, которые все передаются в схему и управляются вентилями между ними для получения результирующего сигнала Q. Это классическая принципиальная схема, визуализирующая классическую схему.

Image from All About Circuits

Квантовые схемы еще больше расширяют это соглашение о схемах, потому что они также должны учитывать присущую им обратимость. Поэтому они выглядят немного иначе и следуют нескольким правилам, отличным от классических схем. Вот как выглядит квантовая схема…

Image from Qiskit

Давайте разобьем эту схему на компоненты:

* Каждая горизонтальная линия (т.е. q0, q1 и q2) представляет один кубит * Крайние левые буквы обозначают имя каждого кубита (т.е. q0, q1 и q2) * Диаграмма разбита на столбцы, где каждый столбец представляет собой шаг в последовательности алгоритма. Вы можете думать о них как о шагах в последовательные моменты времени (как ноты в музыке). * Блоки между ними представляют собой квантовые вентили, выполняющие операции с кубитами

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

Углубление в квантовые врата

Паули Х-гейт

X-гейт Паули представляет собой простое введение во внутреннюю работу квантовых гейтов. Его цель очень проста: отрицание. Очень похожий на классический вентиль НЕ, X-вентиль Паули переворачивает состояние кубита до его противоположного значения, которое указано в таблице истинности ниже. Применительно к физическому миру функция Х-ворота превращает состояние электрона со спином вверх в состояние со спином вниз и наоборот. n |0>|1> ИЛИ |1>|0>

Y-образные и Z-образные ворота Паули

Подобно X-гейту, Y-гейт Паули представляет собой операцию с одним кубитом, которая преобразует:

|0> → -i|1> AND |1> → i|0>

Это можно показать, вращая кубит вокруг оси Y на сфере Блоха.

Z-гейт Паули также является операцией с одним кубитом, которая отображает |1> → -|1> и не изменяет |0>. Операцию Z-гейта можно визуализировать вращением сферы Блоха вокруг оси z на пи радианы.

Представление сферой Блоха ворот Паули X, Y и Z

Ворота Адамара

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

∣0> → (|0> + |1>)/√2 И ∣1> → (|0> — |1>)/√2

Это создает равную суперпозицию двух основных состояний кубита, что означает, что состояние будет иметь равную вероятность быть равным 1 или 0.

Контролируемые ворота

Управляемый вентиль — это операция с двумя и более кубитами, при которой более одного кубита могут выступать в качестве элемента управления для некоторой операции с кубитом. Например, ворота CX, CY и CZ.

Контролируемые ворота X

Управляемый вентиль x, также известный как вентиль CX, воздействует на 2 кубита и выполняет операцию НЕ со вторым кубитом, когда состояние первого кубита равно |1>.

Image from StackExchange

Другие ворота

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

Пример квантовой схемы

Давайте расширим наши знания о квантовых схемах, применив их для анализа приведенного ниже примера схемы…

В приведенном выше примере схемы используются два вентиля Адамара и вентиль CNOT (он же CX) для создания запутанного состояния.

Первоначально применение двух вентилей Адамара создает состояние суперпозиции, затем мы применяем вентиль CX. Начальное состояние кубита |0⟩.

Когда мы пропускаем это состояние через вентиль Адамара, на выходе оно |+⟩. Поскольку в этой схеме есть два вентиля Адамара, мы получаем тензорное произведение двух значений, которое равно |+⟩ ⊗ |+⟩. Это приводит к выводу |00⟩ + |01⟩ + |10⟩ + |11⟩, потому что применение вентиля CX в этом случае ничего не делает.

После работы этой схемы на выходе должно быть 4 этапа с равной вероятностью.

Image from Qiskit

Если мы визуализируем вектор состояния для каждого кубита с помощью сферы Блоха, мы можем видеть, что применение вентиля Адамара к каждому из кубитов привело к переключению с Z(|0⟩, |1⟩) на X-базис, и Ворота CX ничего не изменили, как показано на изображении ниже…

Image from Qiskit

Применение квантовых схем

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

Квантовая криптография

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

Распределение квантовых ключей

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

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

Image from IEEE

Принцип неопределенности говорит нам, что любое измерение квантового состояния частицы будет бесконечно изменять его состояние. В КРК это используется в качестве защитного механизма, потому что, если Ева попытается измерить квантовые частицы, отправленные Алисой Бобу, состояния частиц в конечном итоге изменятся, сделав ее присутствие известным. Более того, если Ева попытается тайно скопировать частицы, отправленные во время передачи, она не сможет этого сделать благодаря «теореме о запрете клонирования». Эта система позволяет Алисе и Бобу передавать секретные ключи, также известные как одноразовый блокнот, без властной паранойи, которую Ева могла бы подглядывать за их сообщениями.

n QKD поддерживает множество различных протоколов. Некоторые из них включают однофотонный QKD, который использует один фотон для передачи информации между Алисой и Бобом, слабо-когерентный лазерный импульс QKD > который использует слабые лазерные импульсы для отправки состояний фотонов, и QKD с запутанными фотонами, который отправляет пары источников запутанных фотонов Алисе и Бобу.

Механика QKD

Физический квантовый канал, в котором происходит КРК, использует различные физические системы, такие как фотоны, ионы или сверхпроводящие цепи. Для КРК на основе фотонов схема обычно использует источник одиночных фотонов, светоделитель, два поляризационных фильтра и два однофотонных детектора.

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

Пример уязвимости: RSA

Криптографический алгоритм RSA (также известный как Rivest–Shamir–Adleman) – широко используемый протокол для защиты связи по общедоступным каналам. Однако квантовые компьютеры привнесли в алгоритм неотъемлемую уязвимость, которая заключалась в том, что он зависел от неэффективности классических вычислительных систем для факторизации больших чисел.

В ответ на эту уязвимость исследователи безопасности разработали несколько квантово-устойчивых алгоритмов, таких как Quantum-Safe RSA (он же QS-RSA). QS-RSA – это модифицированная версия RSA, в которой используется альтернативная квантово-безопасная математическая функция для создания открытых и закрытых ключей, при этом сохраняются традиционные функции шифрования/дешифрования RSA.

Протокол BB84

Другой квантово-безопасный криптографический протокол — BB84. Для протокола BB84 мы определяем, что двоичный 0 должен быть настроен на 0° на прямолинейной основе или 45° на диагональной основе. Точно так же двоичная единица 1 представлена ​​90° по прямолинейному основанию или 135° по диагонали.

Image from Mart Haitjema.

Во-первых, Алиса отправляет информацию по квантовому каналу, случайным образом выбирая строку битов и оснований (прямолинейных или диагональных) одинаковой длины. Впоследствии каждый бит строки будет перебираться, и Алиса передает фотон той же поляризации по каналу Бобу. Как только Боб получает фотоны, он случайным образом выбирает основу для каждого фотона, чтобы измерить его полярность. Если выбранная им полярность совпадает с полярностью, отправленной Алисой, он правильно найдет отправленный Алисой бит. Если бит не совпадает с тем, что отправила Алиса, Бобу будет назначен случайный бит.

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

BB84 protocol example transmission. Image from MR. Asif

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

BB84 protocol example transmission with an interception from Eve. Image from MR. Asif

Заключение

В целом эта статья дает небольшой обзор перспективных технологий, лежащих в основе квантовых вычислений. Я надеюсь, что предоставленные примеры и описания помогли прояснить некоторые концепции квантовой механики: квантовая схема, запутанность, суперпозиция, квантовые вентили, такие как Y-вентиль Паули, и алгоритмы и протоколы квантовой криптографии, такие как QS-RSA и BB84. Квантовая механика произвела революцию в криптографии, предоставив более эффективные методы защиты каналов связи. Ясно, что применение квантовой механики к приложениям, связанным с кибербезопасностью, будет и впредь изменять способы нашего общения и защиты наших данных на долгие годы.


:::информация Также опубликовано здесь

:::


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE