В 1984 году Чарльз Беннетт (англ. Charles Henry Bennett) и Жиль Брассар (фр. Gilles Brassard) предложили новый квантовый протокол распределения ключа [10]. Как и у других протоколов, его целью является создание нового сеансового ключа, который в дальнейшем можно использовать в классической симметричной криптографии. Однако особенностью протокола является использование отдельных положений квантовой физики для гарантии защиты получаемого ключа от перехвата злоумышленником.
До начала очередного сеанса протокола предполагается, что у Алисы и Боба, как у участников протокола, имеются:
Протокол гарантирует, что вмешательство злоумышленника в протокол можно заметить вплоть до тех пор, пока злоумышленник не сможет контролировать и чтение, и запись на всех каналах общения сразу.
Протокол состоит из следующих этапов:
В первой части протокола, с точки зрения фи
С точки зрения квантовой физики, мы можем считать, что у нас есть система с двумя базовыми состояниями: $|0\rangle$ и $|1\rangle$. Состояние системы в любой момент времени можно записать как $| \psi \rangle = \cos \alpha |0\rangle + \sin \beta |1\rangle$. Так как четыре выбранных Алисой возможных исходных состояния неортогональны между собой (точнее, не все попарно), то из законов квантовой физики следует два важных момента:
С точки зрения специалиста по теории информации, можем считать, что Алиса использует две независимые случайные величины $X_A$ и $A$ с энтропией по 1 биту каждая, чтобы получить новую случайную величину $Y_A = f \left( X_A; A \right)$, передаваемую в канал связи.
Как физик-экспериментатор, Ева может попытаться встать посередине канала и что-то с фотоном сделать. Может попытаться просто уничтожить фотон или послать вместо него случайный. Хотя последнее приведёт к тому, что Алиса и Боб не смогут сгенерировать общий сеансовый ключ, полезную информацию Ева из этого не извлечёт.
Ева может попытаться пропустить фотон через один из поляризаторов и попробовать поймать фотон детектором. Если бы Ева точно знала, что у фотона может быть только два ортогональных состояния (например, вертикальная «$\uparrow$» или горизонтальная «$\to$» поляризация), то она могла бы вставить на пути фотона вертикальный поляризатор «$\uparrow$» и по наличию сигнала на детекторе определить, была ли поляризация фотона вертикальной (1, есть сигнал) или горизонтальной (0, фотон через поляризатор не прошёл и сигнала нет). Проблема Евы в том, что у фотона не два состояния, а четыре. И никакое положение одного поляризатора и единственного детектора не поможет Еве точно определить, какое из этих четырёх состояний принял фотон. А пропустить фотон через два детектора не получится. Во-первых, если фотон прошёл вертикальный поляризатор, то какой бы исходной у него не была поляризация («$\nwarrow$», «$\uparrow$», «$\nearrow$»), после поляризатора она станет вертикальной «$\uparrow$» (вторая составляющая «сотрётся»). Во-вторых, детектор, преобразуя фотон в электрический сигнал, тем самым уничтожает его, что несколько затрудняет его дальнейшие измерения.
Кроме того, двух или даже четырёх детекторов для одного фотона будет мало. Отличить между собой неортогональные поляризации «$\uparrow$» и «$\nearrow$» можно только статистически, так как каждая из них будет проходить и вертикальный «$\uparrow$», и диагональный «$\nearrow$» поляризаторы, но с разными вероятностями (100 и 50).
С точки зрения квантовой физики, Ева может попытаться провести измерение свойств фотона, что приведёт к коллапсу волновой функции (или же редукции фон Неймана) фотона. То есть после действия оператора измерения на волновую функцию фотона она неизбежно меняется, что приведёт к помехам в канале связи, которые могут обнаружить Алиса и Боб. Невозможность достоверно отличить неортогональные состояния мешает Еве получить полную информацию о состоянии объекта, а запрет клонирования мешает повторить измерение с дубликатом системы.
С точки зрения теории информации, мы можем рассмотреть фактически передаваемое состояние фотона как некоторую случайную величину $Y_A$. Ева использует случайную величину $E$ (выбор пары ортогональных направлений поляризатора – «+» либо «×») для получения величины $Y_E$ как результата измерения $Y_A$. При этом для каждого заданного исходного состояния Ева получает на выходе:
Таким образом, условная энтропия величины $Y'$, измеренной Евой, относительно величины $Y$, переданной Алисой, равна:
И взаимная информация между этими величинами равна:
Что составляет 25 от энтропии, передаваемой по каналу случайной величины $Y$.
Если рассматривать величину $X_E$, которую Ева пытается восстановить из принятой ею величины $Y_E$, то с точки зрения теории информации, ситуация ещё хуже:
Получается, что условная энтропия восстанавливаемой Евой последовательности $X_E$ относительно исходной $X_A$ равна:
И взаимная информация
Что составляет $\approx 19$ от энтропии исходной случайной величины $X_A$.
Оптимальным алгоритмом дальнейших действий Евы будет послать Бобу фотон в полученной поляризации (передать далее в канал полученную случайную величину $Y_E$). То есть если Ева использовала вертикальный поляризатор «$\uparrow$», и детектор зафиксировал наличие фотона, то передавать фотон в вертикальной поляризации «$\uparrow$», а не пытаться вводить дополнительную случайность и передавать «$\nwarrow$» или «$\nearrow$».
Боб, аналогично действиям Евы (хотя это скорее Ева пытается имитировать Боба), случайным образом выбирает ортогональную пару направлений поляризации («+» либо «×») и ставит на пути фотона поляризатор («$\uparrow$» или «$\nwarrow$») и детектор. В случае наличия сигнала на детекторе он записывает единицу, в случае отсутствия – ноль.
Можно сказать, что Боб, как и Ева, вводит новую случайную величину B (отражает выбор базиса поляризации Бобом) и в результате измерений получает новую случайную величину $X_B$. Причём Бобу пока неизвестно, использовал ли он оригинальный сигнал $Y_A$, переданный Алисой, или же подложный сигнал $Y_E$, переданный Евой:
Далее Боб сообщает по открытому общедоступному классическому каналу связи, какие именно базисы поляризации использовались, а Алиса указывает, какие из них совпали с изначально выбранными. При этом сами измеренные значения (прошёл фотон через поляризатор или нет) Боб оставляет в секрете.
Можно сказать, что Алиса и Боб публикуют значения сгенерированных ими случайных величин $A$ и $B$. Примерно в половине случаев эти значения совпадут (когда Алиса подтверждает правильность выбора базиса поляризации). Для тех фотонов, у которых значения $A$ и $B$ совпали, совпадут и значения $X_A$ и $X_{B1}$. То есть:
Для тех фотонов, для которых Боб выбрал неправильный базис поляризации, значения $X_{B1}$ и $X_{A}$ будут представлять собой независимые случайные величины (так как, например, при исходной диагональной поляризации фотон пройдёт и через вертикальную, и через горизонтальную щели с вероятностью 50):
Рассмотрим случай, когда Ева вмешалась в процесс передачи информации между Алисой и Бобом и отправляет Бобу уже свои фотоны, но не имеет возможности изменять информацию, которой Алиса и Боб обмениваются по классическому каналу связи. Как и прежде, Боб отправляет Алисе выбранные базисы поляризации (значения $B$), а Алиса указывает, какие из них совпали с выбранными ею значениями $A$.
Но теперь для того чтобы Боб получил корректное значение $X_{B2}$ ($X_{B2} = X_A$), должны быть выполнены все следующие условия для каждого фотона.
Рассмотрим без ограничения общности вариант, когда Алиса использовала диагональную поляризацию «×»:
При этом Боб и Алиса будут уверены, что в первом и третьем случаях (которые с их точек зрения ничем не отличаются) Боб корректно восстановил поляризацию фотонов. Так как все эти строки равновероятны, то получается, что у Боба и Алисы после выбора только фотонов с «угаданным» базисами (как они уверены) только половина поляризаций (значений $X_A$ и $X_{B2}$) будет совпадать. При этом Ева будет эти значения знать. Количество известных Еве бит «общей» последовательности и доля ошибок в ней находятся в линейной зависимости от количества перехваченных Евой бит.
Вне зависимости от наличия или отсутствия Евы, Алиса и Боб вынуждены использовать заранее согласованную процедуру исправления ошибок. Используемый код коррекции ошибок, с одной стороны, должен исправлять ошибки, вызванные физическими особенностями квантового канала. Но с другой стороны, если код будет исправлять слишком много ошибок, то он скроет от нас потенциальный факт наличия Евы. Доказано, что существуют такие методы исправления ошибок, которые позволяют безопасно (без опасности раскрыть информацию Еве) исправить от 7,5 (Майерз, 2001, [69]) до 11 ошибок (Ватанабе, Матсумото, Уйематсу, 2005, [107]).
Интересен также вариант, когда Ева может изменять информацию, передаваемую не только по оптическому, но и по классическому каналам связи. В этом случае многое зависит от того, в какую сторону (от чьего имени) Ева может подделывать сообщения. В самом негативном сценарии, когда Ева может выдать себя и за Алису, и за Боба, будет иметь место полноценная атака «человек посередине» (MITM), от которой невозможно защититься никаким способом, если не использовать дополнительные защищённые каналы связи или не основываться на информации, переданной заранее. Однако, это будет уже совсем другой протокол.
В 1992 году один из авторов протокола BB84 Чарльз Беннетт выдвинул идею ([11]), что участникам не обязательно использовать четыре разных варианта поляризации, а достаточно двух, но неортогональных. Например, $0^{\circ}$ («$\to$») и $45^{\circ}$ («$\nearrow$»). Протокол получил названия B92 и BB92.
Для каждого бита выполняется следующее.
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | |
$\to$ | $\to$ | $\to$ | $\to$ | $\nearrow$ | $\nearrow$ | $\nearrow$ | $\nearrow$ | |
$\nwarrow$ | $\uparrow$ | $\nwarrow$ | $\uparrow$ | $\nwarrow$ | $\uparrow$ | $\nwarrow$ | $\uparrow$ | |
$\frac{1}{2}$ | 0 | $\frac{1}{2}$ | 0 | 0 | $\frac{1}{2}$ | 0 | $\frac{1}{2}$ | |
да | нет | нет | нет | нет | да | нет | нет | |
0 | - | - | - | - | 1 | - | - |
Если Боб выбрал поляризацию, ортогональную оригинальной, то он со 100 вероятностью не зарегистрирует фотон. Если же поляризация неортогональна оригинальной, то с вероятностью 50 Боб сумеет зарегистрировать фотон на детекторе. Таким образом, если Боб зарегистрировал фотон, то он будет точно знать, какой бит передавала Алиса. Если же не зарегистрировал, то это трактуется, как стирание.
Пример сеансов протоколов передачи приведён в таблице [tab:b92].
В среднем для передачи одного бита информации Алисе и Бобу потребуется провести 4 итерации протокола. Это в два раза больше, чем в протоколе BB84.
В 2005 году Хои-Квоном Ло, Ксионфеном Ма и Кай Ченом (англ. Hoi-Kwong Lo, Xiongfeng Ma, Kai Chen, [61, 62]) была предложена модификация к квантовым протоколам, основанная на возможности обнаружения злоумышленника через измерение характеристик передаваемого сигнала (потока фотонов).
Авторы обратили внимание, что защищённость квантовых протоколов BB84 и BB92 основывается на невозможности злоумышленником скопировать состояние единственного фотона. Если отправитель вместо передачи одного фотона будет передавать два и больше, это позволит злоумышленнику проводить атаки, связанные с разбиением мультифотонных сигналов. Одну копию фотона криптоаналитик будет сохранять себе, а Бобу отправлять вторую. Передачу же однофотонных состояний можно блокировать.
Было предложено ослабить требование к генераторам сигнала (не требовать однофотонных состояний), а вместо этого использовать состояния-ловушки, измерение которых злоумышленником (в том числе с разбиением) можно будет отследить.
Авторы не описывают конкретного протокола, но показывают, как их модификация позволяет добиться одновременно безусловной конфиденциальности передаваемой информации и наилучших экспериментальных результатов в скорости и дальности передачи информации по квантовым каналам связи.
Подводя итоги, можно сказать, что квантовые протоколы распределения ключей (а именно ими пока что и ограничивается вся известная на сегодняшний день «квантовая криптография») обладают как определёнными преимуществами, так и фатальными недостатками, затрудняющими их использование (и ставящими под вопрос саму эту необходимость).