BB84 (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]
Описание протокола
[править | править код]Введение
[править | править код]![](http://upload.wikimedia.org/wikipedia/ru/9/9f/BB84-sphere.gif)
Протокол использует 4 квантовых состояния, образующих 2 базиса, например поляризационные состояния света. Состояния внутри одного базиса ортогональны, но состояния из разных базисов — попарно неортогональны. Эта особенность протокола позволяет определить возможные попытки нелегитимного съёма информации.
Носителями информации в протоколе являются фотоны, поляризованные под углами 0°, 45°, 90°, 135°. С помощью измерения можно различить только 2 ортогональных состояния:
- фотон поляризован вертикально или горизонтально (0° или 90°);
- фотон поляризован диагонально (45° или 135°).
Достоверно отличить за одно измерение горизонтальный фотон от фотона, поляризованного под углом 135°, невозможно.[5]
Кодирование состояний
[править | править код]В протоколе BB84 кодирование состояний осуществляется следующим образом:[6]
Алгоритм распределения ключей
[править | править код]Традиционно в работах по криптографии легитимных пользователей принято кратко обозначать как Алису и Боба, а перехватчика называть Евой. Таким образом, описание ситуации в криптографическом протоколе выглядит так: Алиса должна передать Бобу секретное сообщение, а Ева всеми доступными ей средствами старается его перехватить.[7]
Этапы формирования ключей:[8]
- Алиса случайным образом выбирает один из базисов. Затем внутри базиса случайно выбирает одно из состояний, соответствующее 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]
Практическая реализация
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F.jpg/600px-%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F.jpg)
Схематично практическая реализация[11] представлена на рисунке.
Передатчик формирует одно из четырёх состояний поляризации. Функции ячейки Поккельса — импульсная вариация поляризации потока квантов передатчиком и анализ импульсов поляризации приёмником. Собственно передаваемые данные поступают в виде управляющих сигналов на эти ячейки. В качестве канала передачи данных может использоваться оптическое волокно. В качестве первичного источника света можно использовать лазер. На принимающей стороне после ячейки Поккельса ставится кальцитовая призма, которая расщепляет пучок на два фотодетектора, измеряющие две ортогональные составляющие поляризации.[12]
Главная проблема формирования передаваемых импульсов квантов заключается в интенсивности.[11][13] Например, если в импульсе 1000 квантов, то есть вероятность того, что 100 квантов перехватит злоумышленник. Анализируя, он может получить нужную ему информацию. В идеале число квантов в импульсе должно быть не более одного. Здесь любая попытка отвода части квантов злоумышленником приведёт к существенному росту числа ошибок у принимающей стороны. В этом случае принятые данные должны быть отброшены и попытка передачи повторена. Но, делая канал более устойчивым к перехвату, это вызывает проблему выдачи сигнала в отсутствии фотонов на входе приёмника. Для того, чтобы обеспечить надёжную передачу данных, логическому нулю и единице могут соответствовать определённые последовательности состояний, допускающие коррекцию одинарных и даже кратных ошибок.
Криптоанализ
[править | править код]Атака для случая однофотонных сигналов
[править | править код]Существует 2 класса атак, которые может использовать Ева, когда все передаваемые сигналы содержат строго один фотон:[14]
- Некогерентные Ева перехватывает посылаемые Алисой фотоны, затем измеряет их состояния и отправляет затем новые фотоны Бобу в измеренных состояниях.
- Когерентные Ева любым возможным способом перепутывает пробу любой размерности с целой группой передаваемых одиночных фотонов.
Взаимная информация Алисы и Боба вычисляется по формуле[15][Что обозначают параметры, входящие в формулы???!]
Когда Ева измеряет состояние пробы сразу после перепутывания с фотоном Алисы, взаимная информация Алисы и Евы равна
Для случая равновероятного использования двух базисов в протоколе ВВ84:
Атака разделения числа фотонов на протокол BB84
[править | править код]В настоящее время однофотонные источники не созданы и на практике используют слабокогерентные импульсы, излучаемые многофотонные источники.[16] Вероятность того, что импульс содержит фотонов определяется распределением Пуассона:
где — среднее число фотонов в импульсе, — коэффициент передачи канала.
Таким образом, становится возможной атака разделения числа фотонов. Если Ева обнаруживает в импульсе более одного фотона, она отводит один, остальные беспрепятственно доходят до Боба. Затем Ева выполняет перепутывание перехваченного фотона со своей пробой и ожидает объявления базисов. Следовательно, Ева получит точное значение переданного бита, не внося при этом никаких ошибок в просеянный ключ.[17][18]
Примечания
[править | править код]- ↑ Bennett, Brassard, 1984, p. 171—173.
- ↑ Голубчиков Д. М., Румянцев К. Е., 2008, p. 2.
- ↑ 1 2 Wiesner, 1983, p. 78.
- ↑ Bennett, Brassard, 1984, p. 174—175.
- ↑ Е. Ю. Иванова, Е. А. Ларионцева, 2013.
- ↑ Кронберг Д. А., 2011, p. 63.
- ↑ Голубчиков Д. М., Румянцев К. Е., 2008, p. 12—14.
- ↑ Голубчиков Д. М., Румянцев К. Е., 2008, p. 11.
- ↑ Голубчиков Д. М., Румянцев К. Е., 2008, p. 13.
- ↑ Килин С. Я., 2007, p. 159.
- ↑ 1 2 Н. Слепов, 2006, p. 58—60.
- ↑ Н. Слепов, 2006, p. 55.
- ↑ Килин С. Я., 2007, p. 158.
- ↑ Янковская Ю. Ю., Марина А. А., 2013, p. 4.
- ↑ В. А. Эттель, 2013, p. 3.
- ↑ Янковская Ю. Ю., Марина А. А., 2013, p. 3.
- ↑ Янковская Ю. Ю., Марина А. А., 2013, p. 5.
- ↑ В. А. Эттель, 2013, p. 5—6.
См. также
[править | править код]Литература
[править | править код]Книги
[править | править код]- Д. А. Кронберг, Ю. И. Ожигов, А. Ю. Черняковский. Глава 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.
Научные статьи
[править | править код]- Bennett C. H., Brassard G. Quantum Cryptography: Public Key Distribution and Coin Tossing (англ.) // Proceedings of International Conference on Computers, Systems & Signal Processing, Dec. 9-12, 1984, Bangalore, India. — IEEE, 1984. — P. 175.
- Bennett C. H., Brassard G. Quantum Cryptography: Public Key Distribution and Coin Tossing (англ.) // ACM SIGACT News — New York City: ACM, ACM SIGACT, 1987. — Vol. 18, Iss. 4. — P. 51—53. — ISSN 0163-5700; 1943-5827 — doi:10.1145/36068.36070
- Wiesner S. Conjugate Coding (англ.) // ACM SIGACT News — New York City: ACM, ACM SIGACT, 1983. — Vol. 15, Iss. 1. — P. 78—88. — ISSN 0163-5700; 1943-5827 — doi:10.1145/1008908.1008920
- Е. Ю. Иванова, Е. А. Ларионцева. Введение в квантовую криптографию: основные понятия, подходы и алгоритмы. — Инженерный журнал: наука и инновации, 2013. — № 11. — P. 137—171.
- Румянцев К. Е., Голубчиков Д. М. Квантовая криптография: принципы, протоколы, системы. — 2008. — P. 10—17. Архивировано 30 ноября 2016 года.
- Н. Слепов. Квантовая криптография: проблемы и решения. — 2006. — С. 55—60.
- Янковская Ю. Ю., Марина А. А. Стойкость квантовых протоколов распределения ключей. — 2013. — С. 1—5.
- В. А. Эттель. Анализ стойкости квантовых протоколов распределения ключей. — 2013. — С. 1—6.