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]
Описание протокола
Введение
Протокол использует 4 квантовых состояния, образующих 2 базиса, например поляризационные состояния света. Состояния внутри одного базиса ортогональны, но состояния из разных базисов — попарно неортогональны. Эта особенность протокола позволяет определить возможные попытки нелегитимного съёма информации.
Носителями информации в протоколе являются фотоны, поляризованные под углами 0°, 45°, 90°, 135°. С помощью измерения можно различить только 2 ортогональных состояния:
фотон поляризован вертикально или горизонтально (0° или 90°);
фотон поляризован диагонально (45° или 135°).
Достоверно отличить за одно измерение горизонтальный фотон от фотона, поляризованного под углом 135°, невозможно.[5]
Традиционно в работах по криптографии легитимных пользователей принято кратко обозначать как Алису и Боба, а перехватчика называть Евой. Таким образом, описание ситуации в криптографическом протоколе выглядит так: Алиса должна передать Бобу секретное сообщение, а Ева всеми доступными ей средствами старается его перехватить.[7]
Алиса случайным образом выбирает один из базисов. Затем внутри базиса случайно выбирает одно из состояний, соответствующее 0 или 1, и посылает фотоны. Они могут посылаться все вместе или один за другим, но главное, чтобы Алиса и Боб смогли установить взаимно однозначное соответствие между посланным и принятым фотоном.
Боб случайно и независимо от Алисы выбирает для каждого поступающего фотона: прямолинейный или диагональный базис, и измеряет в нём значение фотона.
Для каждого переданного состояния Боб открыто сообщает, в каком базисе проводилось измерение кубита, но результаты измерений остаются в секрете.
Алиса сообщает Бобу по открытому общедоступному каналу связи, какие измерения были выбраны в соответствии с исходным базисом Алисы.
Пользователи оставляют только те случаи, в которых выбранные базисы совпали. Эти случаи переводят в биты (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]
Практическая реализация
Схематично практическая реализация[11] представлена на рисунке.
Передатчик формирует одно из четырёх состояний поляризации. Функции ячейки Поккельса — импульсная вариация поляризации потока квантов передатчиком и анализ импульсов поляризации приёмником. Собственно передаваемые данные поступают в виде управляющих сигналов на эти ячейки. В качестве канала передачи данных может использоваться оптическое волокно. В качестве первичного источника света можно использовать лазер. На принимающей стороне после ячейки Поккельса ставится кальцитовая призма, которая расщепляет пучок на два фотодетектора, измеряющие две ортогональные составляющие поляризации.[12]
Главная проблема формирования передаваемых импульсов квантов заключается в интенсивности.[11][13] Например, если в импульсе 1000 квантов, то есть вероятность того, что 100 квантов перехватит злоумышленник. Анализируя, он может получить нужную ему информацию. В идеале число квантов в импульсе должно быть не более одного. Здесь любая попытка отвода части квантов злоумышленником приведёт к существенному росту числа ошибок у принимающей стороны. В этом случае принятые данные должны быть отброшены и попытка передачи повторена. Но, делая канал более устойчивым к перехвату, это вызывает проблему выдачи сигнала в отсутствии фотонов на входе приёмника. Для того, чтобы обеспечить надёжную передачу данных, логическому нулю и единице могут соответствовать определённые последовательности состояний, допускающие коррекцию одинарных и даже кратных ошибок.
Криптоанализ
Атака для случая однофотонных сигналов
Существует 2 класса атак, которые может использовать Ева, когда все передаваемые сигналы содержат строго один фотон:[14]
Некогерентные Ева перехватывает посылаемые Алисой фотоны, затем измеряет их состояния и отправляет затем новые фотоны Бобу в измеренных состояниях.
Когерентные Ева любым возможным способом перепутывает пробу любой размерности с целой группой передаваемых одиночных фотонов.
Когда Ева измеряет состояние пробы сразу после перепутывания с фотоном Алисы, взаимная информация Алисы и Евы равна
Для случая равновероятного использования двух базисов в протоколе ВВ84:
Атака разделения числа фотонов на протокол BB84
В настоящее время однофотонные источники не созданы и на практике используют слабокогерентные импульсы, излучаемые многофотонные источники.[16]
Вероятность того, что импульс содержит фотонов определяется распределением Пуассона:
где — среднее число фотонов в импульсе, — коэффициент передачи канала.
Таким образом, становится возможной атака разделения числа фотонов. Если Ева обнаруживает в импульсе более одного фотона, она отводит один, остальные беспрепятственно доходят до Боба. Затем Ева выполняет перепутывание перехваченного фотона со своей пробой и ожидает объявления базисов. Следовательно, Ева получит точное значение переданного бита, не внося при этом никаких ошибок в просеянный ключ.[17][18]
Нильсен М., Чанг И. Квантовые вычисления и квантовая информация. — М.: Мир, 2006. — 824 с.
Килин С. Я., Хорошко Д. Б., Низовцев А. П. Квантовая криптография: идеи и практика. — 5-e изд. — Беларуская навука, 2007. — С. 157—161. — 391 с. — ISBN 978-985-08-0899-8.