Саймон Сингх - Книга шифров .Тайная история шифров и их расшифровки
Казалось, что только один человек разделял заинтересованность Виснера концепцией квантовых денег. Это был его старый друг по имени Чарльз Беннет, который несколькими годами ранее окончил вместе с ним университет Брандейса. Беннета отличало любопытство, проявляемое им в различных областях науки. Он говорил, что уже в три года знал, что хочет быть ученым, и даже мать не смогла притушить его детское увлечение ею. Однажды она вернулась домой и обнаружила на плите кипящую кастрюлю с каким-то странным тушеным мясом. По счастью, она не соблазнилась попробовать его; как потом выяснилось, это были останки черепахи, которую юный Беннет кипятил в щелочи, чтобы отделить мясо от костей и получить великолепный образец ее скелета. В юношеском возрасте интересы Беннета простирались от биологии до биохимии, а к тому времени, как поступить в Брандейс, он решил посвятить себя химии. В аспирантуре Беннет вплотную занялся физической химией, а затем переключился на исследования в физике, математике, логике и, вдобавок, программировании.
Зная широту интересов Беннета, Виснер надеялся, что тот в полной мере оценит концепцию квантовых денег, и передал ему копию своей отвергнутой статьи. Беннет сразу же увлекся этой идеей, посчитав ее одной из самых прекрасных, с которыми он когда-либо сталкивался. В следующие десять лет он время от времени перечитывал статью, задаваясь вопросом, существует ли способ реализовать каким-либо образом эту гениальную идею. Даже став в начале 80-х научным сотрудником исследовательской лаборатории Томаса Дж. Уотсона компании IВМ, Беннет не перестал размышлять об идее Виснера. Журналы, может, и не хотели публиковать ее, но Беннета она увлекла.
Рис. 75 Чарльз Беннет.
Как-то раз Беннет рас казал об идее квантовых денег Жилю Брассарду, программисту из Монреальского университета. Беннет и Брассард, сотрудничавшие в различных исследовательских проектах, снова и снова обращались к статье Виснера, обсуждая ее сложности. Мало-помалу они начали осознавать, что идея Виснера смогла бы найти применение в криптографии. Для того чтобы Ева сумела дешифровать зашифрованное сообщение между Алисой и Бобом, она вначале должна перехватить его, что означает, что она должна каким-то образом точно определить содержимое передаваемого сообщения. Квантовые деньги Виснера были надежными, поскольку точно определить поляризацию фотонов, находящихся в ловушках в долларовой банкноте, было невозможно. Беннет и Брассард задались вопросом, что произойдет, если зашифрованное сообщение будет представлено, а затем передано с помощью поляризованных фотонов. Вроде бы, теоретически, Ева не сможет безошибочно прочесть зашифрованное сообщение, а раз не сможет прочесть зашифрованное сообщение, то не сможет и дешифровать его.
Беннет и Брассард стали придумывать систему, которая работала бы по следующему принципу. Представьте себе, что Алиса хочет отправить Бобу зашифрованное сообщение, которое состоит из последовательности 1 и 0. Вместо этих 1 и 0 она посылает фотоны с определенными поляризациями. У Алисы есть две возможных схемы, с помощью которых она может связать поляризации фотонов с 1 или 0. В первой схеме, называемой ортогональной[37] или +-схемой, для представления 1 она посылает , а для представления 0 — . Во второй схеме, называемой диагональной или Х-схемой, для представления 1 она посылает , а для представления 0 — .
При отправке сообщения, представленного в двоичном виде, она постоянно переключается с одной схемы на другую совершенно непредсказуемым образом. Так что двоичное сообщение 1101101001 может быть передано следующим образом:
Алиса передает первую 1 с использованием +-схемы, а вторую 1 — с использованием Х-схемы. Так что в обоих случаях передается 1, но всякий раз она представляется различным образом поляризованными фотонами.
Если Ева захочет перехватить это сообщение, ей потребуется определить поляризацию каждого фотона, точно так же как и фальшивомонетчику необходимо определить поляризацию каждого фотона в ловушках для фотонов долларовой банкноты. Чтобы измерить поляризацию каждого фотона, Ева должна решить, каким образом сориентировать свой поляризационный фильтр по мере прихода каждого фотона. Она не может знать наверняка, какой схемой воспользовалась Алиса для каждого из фотонов, поэтому наугад выбирает ориентацию поляризационного фильтра, которая окажется неверной в половине случаев. А следовательно, она не сможет точно определить содержимое передаваемого сообщения.
Чтобы было проще представить себе затруднительность положения Евы, предположим, что в ее распоряжении имеются два типа детекторов для определения поляризации. +-детектор способен с абсолютной точностью измерять горизонтально и вертикально поляризованные фотоны, на не может достоверно измерить диагонально поляризованные фотоны и просто ошибочно считает их вертикально или горизонтально поляризованными фотонами. С другой стороны, Х-детектор может с абсолютной точностью измерять диагонально поляризованные фотоны но не способен надежно измерить горизонтально и вертикально поляризованные фотоны, ошибочно считая их диагонально поляризованными фотонами. Так, если для измерения первого фотона, имеющего поляризацию, Ева использует Х-детектор, то она ошибочно посчитает его фотоном с поляризациями или . Если Ева ошибочно посчитала его фотоном, то проблемы у нее не возникнет, потому что он также представляет собой 1, но вот если она ошибочно посчитала его фотоном, то это станет для нее бедой, ибо этот фотон представляет собой 0. Что еще хуже, так это то, что у Евы есть только один шанс точно измерить фотон. Фотон неделим, и поэтому она не может разделить его на два фотона и измерить их с помощью обеих схем.
Похоже, что у данной системы есть ряд славных свойств. Ева не может быть уверенной в точном перехвате зашифрованного сообщения, так что у нее нет никакой надежды и дешифровать его. Правда, данной системе присуща серьезная и, видимо, неразрешимая проблема: Боб находится в том же положении, что и Ева, так как у него также нет возможности узнать, какой поляризационной схемой воспользовалась Алиса для каждого из фотонов, и поэтому он тоже будет ошибаться при приеме сообщения. Очевидное решение проблемы — это согласование Алисой и Бобом, какую поляризационную схему они будут применять для каждого фотона. Для вышеприведенного примера Алиса и Боб должны иметь список, или ключ, с помощью которого будет прочитано + х + х х х + + х х. Однако мы теперь вновь вернулись к той же старой проблеме распределения ключей: каким образом Алиса должна безопасно передать список поляризационных схем Бобу?
Разумеется, Алиса могла бы зашифровать список поляризационных схем с помощью шифра с общим ключом, например, RSA, а затем отправить его Бобу. Представьте, однако, что мы живем в то время, когда RSA взломан, возможно, в результате создания мощных квантовых компьютеров. Система Беннета и Брассарда должна быть независимой и не опираться на RSA. В течение долгих месяцев Беннет и Брассард пытались придумать способ обойти проблему распределения ключей. В 1984 году оба они стояли на платформе станции Кротон-Хармон неподалеку от исследовательской лаборатории Томаса Дж. Уотсона компании IBM. Они ожидали поезд, который доставил бы Брассарда обратно в Монреаль, и проводили время в непринужденной беседе о злоключениях и бедствиях Алисы, Боба и Евы. Приди поезд на несколько минут раньше, они бы помахали друг другу рукой на прощание, а проблема распределения ключей так и осталась бы нерешенной. Но вместо этого — эврика! — они создали квантовую криптографию — самый стойкий вид криптографии, который был когда-либо придуман.
По их способу для квантовой, криптографии требуется три подготовительных этапа. Хотя эти этапы не включают в себя отправку зашифрованного сообщения, с их помощью осуществляется безопасный обмен ключом, с помощью которого позднее можно будет зашифровать сообщение.
Этап 1. Алиса начинает передавать случайную последовательность из 1 и 0 (биты), используя для этого случайным образом выбираемые ортогональные (горизонтальная и вертикальная поляризации) и диагональные поляризационные схемы. На рисунке 76 показана такая последовательность фотонов, движущихся к Бобу.
Этап 2. Боб должен измерить поляризацию этих фотонов. Поскольку он не имеет представления, какой поляризационной схемой Алиса пользовалась для каждого из фотонов, то в произвольном порядке выбирает +-детектор и Х — детектор. Иногда Боб выбирает правильный детектор, иногда — нет. Если Боб воспользуется не тем детектором, то он вполне может неправильно распознать фотон Алисы. В таблице 27 указаны все возможные случаи. К примеру, в верхней строке для посылки 1 Алиса использует ортогональную схему и поэтому передает ; далее Боб использует правильный детектор, определяет и выписывает 1 в качестве первого бита последовательности. В следующей строке действия Алисы те же самые, но Боб теперь использует неверный детектор, и поэтому он может определить или , что означает, что либо он верно выпишет 1, либо неверно — 0.