Большинство рассмотренных в предыдущей главе алгоритмов шифрования базируются на предположении, что задача факторизации является вычислительно трудной. Если же под рукой у вас имеется квантовый компьютер, то любой из этих шифров взламывается алгоритмом Шора, раскладывающим числа на множители. Конечно, пока это только фантазия, которая, однако, имеет все шансы превратиться в реальность. Для защиты от квантовых криптографических атак можно было бы попытаться разработать новые протоколы шифрования, основанные на особо трудоемких задачах, не укладывающихся в «любимые» квантовыми компьютерами алгебраические структуры. Однако ученые придумали другой способ: шифрование при помощи квантовой механики.
Возможность копировать данные воспринимается нами как должное. Функции копирования и вставки сейчас есть почти в каждой программе. Мы можем сохранить один и тот же файл в разных папках и на разных машинах, можем создать резервную копию данных на жестком диске или в облаке. Иногда все эти многочисленные экземпляры нам даже мешают – очень трудно, к примеру, удалить свои персональные данные и электронный адрес так, чтобы о них больше не осталось ни единого упоминания.
А вот квантовые биты копированию не поддаются. Ведь чтобы скопировать кубит, его нужно хотя бы частично измерить, т. е. выполнить наблюдение, которое сразу превратит его в обычный бит с двумя значениями. Предположим, Джордж отсылает Гарри кубит информации, а Эрик его перехватывает. Если Эрик попытается скопировать или прочитать кубит, тот сразу же примет вид обычного бита. Безопасность обеспечена, вот только для организации переписки этого явно недостаточно: ведь когда Гарри начнет читать сообщение, он тоже увидит лишь обычный бит.
В 1979 году в Пуэрто-Рико проходила важнейшая международная конференция по проблемам теоретической информатики – IEEE Symposium on Foundations of Computer Science. Среди участников был Жиль Брассард из Монреальского университета. Когда он после очередного заседания плескался в океане, его разыскал Чарльз Беннет. Знакомство вылилось в плодотворное сотрудничество; вместе ученые придумали, как при помощи квантовых битов можно создавать системы шифрования с доказуемой криптостойкостью. Допустим, Джордж отсылает Гарри длинную последовательность кубитов, содержащую секретный ключ для шифрования дальнейшей переписки. Любой злоумышленник, перехвативший это сообщение, разрушит все кубиты, как только попытается их прочитать или скопировать. Беннет и Брассард разработали метод, позволяющий при помощи дополнительного обмена информацией по квантовым и классическим каналам либо успешно передать секретный ключ, либо установить, что сообщение было скомпрометировано (в этом случае можно попытаться еще раз).
Впрочем, у нового протокола имелись некоторые ограничения. При передаче данных возникали ошибки; из-за этого число кубитов приходилось увеличивать, и в результате злоумышленники получали шанс похитить часть данных, оставшись незамеченными. В целях борьбы с подобными проблемами исходный вариант протокола неоднократно дорабатывался и усложнялся.
В отличие от случая с квантовыми вычислениями, в протоколе Беннета–Брассарда квантовая запутанность не применяется. Вероятно, поэтому квантовые криптосистемы средней мощности уже реализованы. В Лос-Аламос, к примеру, сообщения успешно отправлялись по оптоволоконному кабелю почти на 150 километров, а между Канарскими островами – по воздушному каналу примерно на 140 километров. Не исключено, что когда-нибудь квантовые технологии позволят нам пересылать не поддающиеся взлому сообщения даже через спутник.
Почему бы нам всем уже сейчас не перейти на квантовое шифрование? Дело в том, что на текущий момент квантовые криптосистемы находятся на стадии тестирования; они дорого стоят, часто ошибаются, да и скорость передачи данных у них не велика. Слабое место в них – не сами шифры: главную опасность представляют «дыры» в реализации. Вероятность разработать здесь «дырявый» протокол ничуть не меньше (а может, даже больше), чем в случае с обычными криптосистемами. Кроме того, неясно, как обеспечить передачу данных через интернет, где информация по пути к адресату многократно перекидывается от одного сервера к другому. Впрочем, пока современные системы шифрования могут спать спокойно: вряд ли в ближайшем будущем появятся квантовые или еще какие-нибудь хитрые компьютеры, способные эффективно разложить число на множители.
В 1996 году компания IBM анонсировала новое направление исследований. На форзаце февральского номера журнала Scientific American появилась двухстраничная реклама.
«Она годами делилась рецептами с другом из Осаки. Она познакомила его с сотней способов применения паприки. В ответ он раскрыл ей тайну своего восхитительного сукияки. Однажды Сейджи получил от Маргит письмо: „Никуда не уходи. Я сейчас телепортирую тебе гуляш“. Конечно, Маргит несколько поторопилась, но мы уже над этим работаем. Специалисты IBM создали ряд технологий, при помощи которых можно обратить некий объект в пыль, а затем в целости и сохранности воссоздать его в другом месте. И это вовсе не сказка: сделанное открытие затронет все сферы человеческой деятельности, от разработки компьютеров до освоения космоса. Умные ребята – вот только голубцы готовить не умеют. Пока».
Рис. 9.3. Реклама IBM. Публикуется с разрешения IBM
Что же это за волшебный процесс, которым так хвалится журнал? К гуляшу и кубитам он прямого отношения не имеет, хотя квантовый бит действительно умеет исчезать из одного места и появляться в другом, прямо как в сказке. В рекламе речь идет об открытии, сделанном в 1993 году Чарльзом Беннетом и его коллегами по IBM, среди которых был и Жиль Брассард. Вместе с квантовой криптографией ученые подарили миру и квантовую телепортацию.
Допустим, у Артура есть кубит, который нужно переправить Гарриет. Как это сделать лучше всего?
Можно, конечно, послать заказное письмо; но если сотрудник почты вдруг решит проверить его содержимое, он выполнит над кубитом наблюдение, и от того останется лишь ноль или единица. Даже самая щадящая и бережная транспортировка не убережет кубит от воздействия внешней среды, и в итоге он почти наверняка погибнет по пути.
Рис. 9.4. Кубит
Альтернативный вариант – отправить Гарриет параметры кубита (-0,55 по «Истине» и 0,84 по «Лжи»), чтобы она могла воссоздать его у себя. Правда, эти параметры должны быть Артуру заранее известны: в противном случае получить он их никак не сможет, поскольку любое измерение разрушит квантовое состояние кубита.
Беннет с коллегами разработали метод, при помощи которого Артур сможет спокойно передать Гарриет свой кубит. Для этого лишь нужно будет выполнить некоторые предварительные действия, а именно – сцепить пару кубитов.
На рис. 9.5 кубиты с сердечками надлежащим образом запутаны. Один из них находится у Артура, другой – у Гарриет. Если Артур измерит состояние своего кубита, он с одинаковой вероятностью увидит либо ноль, либо единицу. Но если он увидит ноль, то и Гарриет увидит ноль, а если он увидит единицу, то и Гарриет тоже увидит единицу (прямо как с бейсбольными играми).
Рис. 9.5. Сцепленные кубиты
Все дело в том, что теперь у Артура не один кубит, а два. Один – с сердечком – сцеплен с кубитом Гарриет, другой – со звездочкой – он хочет отослать. Ранее мы уже говорили, что система из двух кубитов описывается четырехмерной сферой. Не нарушая квантовое состояние кубитов, Артур аккуратно крутит сферу относительно всех четырех осей, а затем измеряет оба кубита, в результате чего они превращаются в обычные биты со значениями ноль или единица.
Полученные биты Артур отсылает Гарриет. Один из них несет информацию о том, нужно ли Гарриет вращать кубит, другой – нужно ли его переворачивать. Гарриет выполняет необходимые действия, и… та-дам! Ее кубит приходит в то же состояние, в котором изначально находился кубит Артура. Ловкость рук – и никакого мошенничества! Верится с трудом, однако схема работает.
А что же стало с кубитами Артура? После измерения их квантовые состояния разрушились. По-другому и быть не могло – иначе у кубита Артура образовался бы клон, а это противоречит квантовым законам.
Пока Артур проводит квантовые манипуляции и измеряет состояния своих кубитов, с кубитом Гарриет не происходит ровно ничего, хотя он и сцеплен с кубитом Артура. Если бы Артур мог влиять на состояние кубита Гарриет, это означало бы, что он умеет передавать информацию мгновенно, быстрее скорости света, однако по законам физики это невозможно.
Кубит Гарриет является, по сути, двойником кубита Артура, только расположен он в пространстве немного по-другому. Благодаря двум полученным от Артура битам Гарриет сумеет привести его в искомое положение. Эти маленькие биты волшебным образом помогут ей воссоздать исходный кубит, хотя она так и не узнает, какие именно манипуляции проводил с кубитами Артур.
Рис. 9.6. Кубит
Вы спросите, как все это связано с гуляшом и с чудесными транспортерами из сериала «Звездный путь»? Давайте посмотрим, как можно организовать транспортер, выполняющий квантовую телепортацию. Допустим, я хочу телепортироваться из Чикаго в Токио и обращаюсь в специализированную компанию. Они создают запутанную квантовую систему из внушительного числа кубитов. Часть кубитов, соблюдая все возможные меры предосторожности, доставляют в Чикаго, остальные – в Токио. В Чикаго меня вместе с кубитами помещают в специальную камеру; описать мое состояние нужно очень точно, поэтому кубитов должно быть достаточно много. Нас вращают в многомерном пространстве, измеряют, и в результате мы все превращаемся в обычные нули и единички. Полученную кучу битов передают в токийский филиал, где с ними в такой же камере производят необходимые вращения. Потом камеру открывают, и я выхожу. Вот это да!
Использованные кубиты – отработанный материал. Если я решу вернуться, или нужно будет телепортировать кого-то еще, понадобится новая система запутанных кубитов. Кстати, с самолетами дело обстоит примерно так же: на обратном пути невозможно повторно воспользоваться израсходованным топливом.
Впрочем, это еще не самое страшное. Главная проблема – сохранить все зависимости между кубитами. Чтобы описать меня, требуется порядка миллиона миллиардов триллионов сцепленных кубитов: примерно столько атомов содержится в человеческом теле. И это еще довольно оптимистичная оценка, поскольку на деле кубитов, вероятно, понадобится намного больше. Ведь достаточно потерять каких-нибудь две-три связи (которые охотно разрушаются при малейшем взаимодействии с окружающей средой) – и из камеры вывалится порядком изуродованная, а то и вовсе неживая версия меня. Поэтому – только после вас. Я уж лучше по старинке, на самолете. Встретимся на месте!