BB84

BB84 — первый протокол квантового распределения ключей, который был предложен в 1984 году Чарльзом Беннетом и Жилем Брассаром. Протокол использует для кодирования информации четыре квантовых состояния двухуровневой системы, формирующие два сопряжённых базиса.[1] Носителями информации являются 2-уровневые системы, называемые кубитами (квантовыми битами).

Стивен Визнер (англ. Stephen Wiesner), являясь студентом Колумбийского университета, в 1970 подал статью по теории кодирования в журнал IEEE Information Theory, но она не была опубликована, потому что изложенные в ней предположения казались фантастическими, а не научными.[2] В статье была описана концепция использования квантовых состояний для защиты денежных банкнот.[3] Впоследствии на основе принципов работы С. Визнера учёные Чарльз Беннет (англ. Charles Bennett) из фирмы IBM и Жиль Брассард (англ. Gilles Brassard) из Монреальского университета разработали способ кодирования и передачи сообщений. Ими был сделан доклад на тему «Квантовая криптография: Распределение ключа и подбрасывание монет» на конференции IEEE International Conference on Computers, Systems, and Signal Processing. Описанный в работе протокол впоследствии признан первым и базовым протоколом квантовой криптографии и был назван в честь его создателей.[4]

Описание протокола

[править | править код]
Реализация протокола BB84. 4 состояния лежат на экваторе сферы Пуанкаре

Протокол использует 4 квантовых состояния, образующих 2 базиса, например поляризационные состояния света. Состояния внутри одного базиса ортогональны, но состояния из разных базисов — попарно неортогональны. Эта особенность протокола позволяет определить возможные попытки нелегитимного съёма информации.

Носителями информации в протоколе являются фотоны, поляризованные под углами 0°, 45°, 90°, 135°. С помощью измерения можно различить только 2 ортогональных состояния:

  1. фотон поляризован вертикально или горизонтально (0° или 90°);
  2. фотон поляризован диагонально (45° или 135°).

Достоверно отличить за одно измерение горизонтальный фотон от фотона, поляризованного под углом 135°, невозможно.[5]

Кодирование состояний

[править | править код]

В протоколе BB84 кодирование состояний осуществляется следующим образом:[6]

Алгоритм распределения ключей

[править | править код]

Традиционно в работах по криптографии легитимных пользователей принято кратко обозначать как Алису и Боба, а перехватчика называть Евой. Таким образом, описание ситуации в криптографическом протоколе выглядит так: Алиса должна передать Бобу секретное сообщение, а Ева всеми доступными ей средствами старается его перехватить.[7]

Этапы формирования ключей:[8]

  1. Алиса случайным образом выбирает один из базисов. Затем внутри базиса случайно выбирает одно из состояний, соответствующее 0 или 1, и посылает фотоны. Они могут посылаться все вместе или один за другим, но главное, чтобы Алиса и Боб смогли установить взаимно однозначное соответствие между посланным и принятым фотоном.
  2. Боб случайно и независимо от Алисы выбирает для каждого поступающего фотона: прямолинейный или диагональный базис, и измеряет в нём значение фотона.
  3. Для каждого переданного состояния Боб открыто сообщает, в каком базисе проводилось измерение кубита, но результаты измерений остаются в секрете.
  4. Алиса сообщает Бобу по открытому общедоступному каналу связи, какие измерения были выбраны в соответствии с исходным базисом Алисы.
  5. Пользователи оставляют только те случаи, в которых выбранные базисы совпали. Эти случаи переводят в биты (0 и 1), и составляют ключ.

В таком случае примерно 50 % данных выбрасывается. Оставшийся более короткий ключ называется «просеянным». В случае отсутствия подслушивания и шумов в канале связи Алиса и Боб будут теперь иметь полностью коррелированную строку случайных битов, которая будет в дальнейшем использоваться в схемах классической симметричной криптографии. Если же подслушивание имело место, то по величине ошибки в получившемся классическом канале связи Алиса и Боб могут оценить максимальное количество информации, доступное Еве. Существует оценка, что если ошибка в канале меньше приблизительно 11 %, то информация, доступная Еве, заведомо не превосходит взаимной информации между Алисой и Бобом, и секретная передача данных возможна.[3]

Эффективный способ обнаружения и исправления ошибок заключается в перемешивании и разбиении последовательностей Алисы и Боба на блоки. Основная идея состоит в проверке чётности блоков: разбивают на блоки и проверяют на чётность в несколько итераций, уменьшая каждый размер именно тех блоков, чётность которых не совпала. Итерации производят, пока не обнаружат и не исправят ошибки. Наиболее мелкие блоки отбрасываются при обнаружении в них ошибки. В результате вероятность ошибки в полученной последовательности ничтожно мала.[9]

Пример распределения ключей

[править | править код]

Условные обозначения

Обозначение Поляризация фотонов Кодируемый бит
Горизонтальная 1
Вертикальная 0
Под углом 45° 0
Под углом 135° 1
Обозначение анализатора Поляризация фотонов
+ Прямоугольный
x Диагональный

Процесс распределения ключей можно проанализировать по шагам. Результат выполнения каждого пункта соответствует строке таблицы:

Последовательность фотонов Алисы
Последовательность анализаторов Боба + x + + x x x + x
Результаты измерений Боба 0 0 1 1 1 0 1 1 0
Анализаторы выбраны верно да да нет да да нет нет да нет
Ключ 0 0 1 1 1

Если бы Ева перехватывала информацию при помощи оборудования, подобного оборудованию Боба, то примерно в 50 % случаев она выберет неверный анализатор, не сможет определить состояние полученного ею фотона, и отправит фотон Бобу в состоянии, выбранном наугад. При этом также в 25 % случаев результаты измерений Боба могут отличаться от результатов Алисы. Это довольно заметно и быстро можно обнаружить. Однако, если Ева перехватывает только 10 % информации, тогда уровень ошибок будет 2,5 %, что менее заметно.[10]

Практическая реализация

[править | править код]
Практическая реализация протокола BB84

Схематично практическая реализация[11] представлена на рисунке.

Передатчик формирует одно из четырёх состояний поляризации. Функции ячейки Поккельса — импульсная вариация поляризации потока квантов передатчиком и анализ импульсов поляризации приёмником. Собственно передаваемые данные поступают в виде управляющих сигналов на эти ячейки. В качестве канала передачи данных может использоваться оптическое волокно. В качестве первичного источника света можно использовать лазер. На принимающей стороне после ячейки Поккельса ставится кальцитовая призма, которая расщепляет пучок на два фотодетектора, измеряющие две ортогональные составляющие поляризации.[12]

Главная проблема формирования передаваемых импульсов квантов заключается в интенсивности.[11][13] Например, если в импульсе 1000 квантов, то есть вероятность того, что 100 квантов перехватит злоумышленник. Анализируя, он может получить нужную ему информацию. В идеале число квантов в импульсе должно быть не более одного. Здесь любая попытка отвода части квантов злоумышленником приведёт к существенному росту числа ошибок у принимающей стороны. В этом случае принятые данные должны быть отброшены и попытка передачи повторена. Но, делая канал более устойчивым к перехвату, это вызывает проблему выдачи сигнала в отсутствии фотонов на входе приёмника. Для того, чтобы обеспечить надёжную передачу данных, логическому нулю и единице могут соответствовать определённые последовательности состояний, допускающие коррекцию одинарных и даже кратных ошибок.

Криптоанализ

[править | править код]

Атака для случая однофотонных сигналов

[править | править код]

Существует 2 класса атак, которые может использовать Ева, когда все передаваемые сигналы содержат строго один фотон:[14]

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

Взаимная информация Алисы и Боба вычисляется по формуле[15][Что обозначают параметры, входящие в формулы???!]

Когда Ева измеряет состояние пробы сразу после перепутывания с фотоном Алисы, взаимная информация Алисы и Евы равна

Для случая равновероятного использования двух базисов в протоколе ВВ84:

Атака разделения числа фотонов на протокол BB84

[править | править код]

В настоящее время однофотонные источники не созданы и на практике используют слабокогерентные импульсы, излучаемые многофотонные источники.[16] Вероятность того, что импульс содержит фотонов определяется распределением Пуассона:

где  — среднее число фотонов в импульсе,  — коэффициент передачи канала.

Таким образом, становится возможной атака разделения числа фотонов. Если Ева обнаруживает в импульсе более одного фотона, она отводит один, остальные беспрепятственно доходят до Боба. Затем Ева выполняет перепутывание перехваченного фотона со своей пробой и ожидает объявления базисов. Следовательно, Ева получит точное значение переданного бита, не внося при этом никаких ошибок в просеянный ключ.[17][18]

Примечания

[править | править код]

Литература

[править | править код]
  • Д. А. Кронберг, Ю. И. Ожигов, А. Ю. Черняковский. Глава 3. Протокол квантового распределения ключей BB84 // Квантовая криптография. — 5-e изд. — МАКС Пресс, 2011. — С. 61—77. — 111 с. — ISBN 589407455X. Архивная копия от 30 ноября 2016 на Wayback Machine.
  • Нильсен М., Чанг И. Квантовые вычисления и квантовая информация. — М.: Мир, 2006. — 824 с.
  • Килин С. Я., Хорошко Д. Б., Низовцев А. П. Квантовая криптография: идеи и практика. — 5-e изд. — Беларуская навука, 2007. — С. 157—161. — 391 с. — ISBN 978-985-08-0899-8.

Научные статьи

[править | править код]