Основной способ взаимодействия квантовых сетей на больших расстояниях — это использование оптических сетей и фотонных кубитов. Оптические сети имеют преимущество повторного использования существующего оптоволокна. А свободные сети могут быть реализованы так, что смогут передавать квантовую информацию «по воздуху», то есть без использования структурированных сред распространения.
Оптические сети могут быть реализованы, используя существующие телекоммуникации и телекоммуникационное оборудование. Со стороны отправителя, источник одиночных фотонов можно создать, сильно ослабив стандартный телекоммуникационный лазер, так что среднее число испускаемых фотонов за импульс будет меньше единицы. Чтобы получить данный эффект, используется лавинный фотодиод. Также могут использоваться различные методы регулировки фазы и поляризации, такие как разделители луча и интерферометры. В случае протоколов, основанных на запутывании, запутанные фотоны генерируются через спонтанное параметрическое рассеяние. В обоих случаях телекоммуникационное волокно может быть мультиплексным для отправления не квантовой синхронизации и управляющих сигналов.
Сети свободного пространства
Квантовые сети свободного пространства подобно оптоволоконным сетям, но полагаются на угол обзора между связывающимися сторонами вместо использования оптоволоконного соединения. Сети свободного пространства обычно поддерживают более высокую скорость передачи, чем оптоволоконные сети и не учитывают поляризационную перестановку вызванную оптоволокном.
Квантовая электродинамика полости
Телекоммуникационные лазеры и спонтанное параметрическое рассеяние, объединённые с фотодетекторами могут использоваться для квантового распределения ключей. Однако для запутанных квантовых систем важно сохранять и ретранслировать квантовую информацию, не разрушая базовые состояния. Квантовая электродинамика полости — один из возможных методов решения данной задачи. Здесь фотонные квантовые состояния могут быть переданы как в атомарные квантовые состояния, хранящиеся в отдельных атомах в оптических полостях, так и из них. В дополнение к созданию удалённой запутанности между удалёнными атомами, это позволяет осуществлять передачу квантовых состояний между отдельными атомами, используя оптоволокно.
Каналы с помехами
Диаграмма квантовой телепортации
Передаче данных на дальние расстояния препятствуют эффекты потери сигнала и декогерентность, присущая большинству транспортных сред, таких как оптоволокно. При классической передаче данных используются усилители, чтобы улучшить сигнал во время передачи, однако в квантовых сетях, согласно теореме о запрете клонирования, усилители использовать нельзя.
Альтернативой усилителям в квантовых сетях является квантовая телепортация, передающая квантовую информацию (кубиты) получателю. Это позволяет избежать проблем, связанных с отправкой одиночных фотонов по длинной линии передачи с высокими потерями. Однако для осуществления квантовой телепортации необходима пара запутанных кубитов, по одному на каждом конце линии передачи. Квантовые повторители позволяют создать запутанность в удалённых узлах без физической отправки запутанного кубита на всё расстояние.
В этом случае квантовая сеть состоит из множества коротких каналов связи, длинной десятки или сотни километров. В простейшем случае, с одним повторителем, создаётся две пары запутанных кубитов: и расположенные на отправителе и повторителе, а вторая пара и на повторителе и получателе соответственно. Эти начальные запутанные кубиты легко создать, например, с помощью спонтанного параметрического рассеяния, физически передавая один кубит на соседний узел. При этом повторитель может выполнить измерение состояния Белла на кубитах и телепортировав таким образом квантовое состояние в . Это имеет эффект «свопинга» запутанности, таким образом, что и теперь запутанны на расстоянии в 2 раза сильнее, чем начальные запутанные пары кубитов. Сети таких повторителей могут использоваться как линейно, так и иерархическим образом, для создания запутанности на большие расстояния.
Ошибки при передаче данных можно разделить на два типа: ошибки потерь (из-за свойств оптоволокна/среды) и ошибки работы (такие как деполяризация, дефазировка и т. д.). В то время как избыточность можно использовать, чтобы обнаружить и исправить ошибки в классической сети, созданию избыточных кубитов препятствует теорема о запрете клонирования. Поэтому введены другие типы исправления ошибок, как код Шора или один из более общих и эффективных алгоритмов. Принцип их работы в распределении квантовой информации через многократно запутанные кубиты так, что и ошибки работы, и ошибки потерь могут быть исправлены.
В дополнение к квантовому исправлению ошибок, классическое исправление ошибок может использоваться квантовыми сетями в особых случаях, таких как квантовое распределение ключа. В этих случаях цель квантовой передачи состоит в том, чтобы надёжно передать строку классических битов. Например, код Хемминга может быть применён к строке битов до кодирования и передачи данных в квантовой сети.
D-Wave
Если коротко (взято из вики):
Компьютеры D-Wave работают на принципе квантовой релаксации (квантовый отжиг), могут решать крайне ограниченный подкласс задач оптимизации, и не подходят для реализации традиционных квантовых алгоритмов и квантовых вентилей.
Более подробно можно почитать, например, тут, тут (осторожно, может не открываться из России), или у Scott Aaronson в статье из его блога. Кстати, очень рекомендую почитать вообще его блог, там много хорошего материала
Вообще с самого начала анонсов у научного сообщества возникали вопросы к компьютерам D-Wave. Например, в 2014 году IBM поставила под сомнение факт, что D-Wave использует квантовые эффекты. Дело дошло до того, что в 2015 году Google вместе с NASA купила один из таких квантовых компьютеров и после исследований подтвердила, что таки да, компьютер работает и вычисляет задачу быстрее, чем обычный. Еще про заявление Google можно почитать тут и, например, тут.
Главное, что компьютеры D-Wave, с их сотнями и тысячами кубитов нельзя использовать для вычисления и запуска квантовых алгоритмов. На них нельзя запустить алгоритм Шора, например. Все, что они могут — это используя определенные квантовые механизмы решать определенную задачу оптимизации. Можно считать, что D-Wave это такой квантовый ASIC для конкретной задачи.
Оглавление
Квантовые компьютеры и квантовые вычисления — очень многообещающая, очень молодая и пока малоприменимая в промышленном плане область информационных технологий.
Развитие квантовых вычислений позволит (когда-нибудь) решать задачи:
Основные проблемы при создании и эксплуатации квантовых компьютеров:
Состояние дел на текущий момент:
Что может помочь:
На мой взгляд (исключительно личное мнение), в текущей научной парадигме знаний мы не добьемся значительных успехов в развитии квантовых технологий, тут нужен качественный прорыв в какой-либо области фундаментальной или прикладной науки, который даст толчок новым идеям и методам.
Ну а пока — нарабатываем опыт в квантовом программировании, собираем и создаем квантовые алгоритмы, тестируем идеи и прочее и прочее. Ждем прорыва.
Физические реализации квантовых компьютеров
Практическое осуществление квантового компьютера основано на манипулировании на микроскопическом уровне и с грандиозной точностью многоэлементной физической системой с непрерывными степенями свободы. Очевидно, что для достаточно большой системы, квантовой или классической, эта задача становится невыполнимой, именно поэтому такие системы переходит из ведения микроскопической физики в область статистической физики. Представляет ли система из N = 103÷105 квантовых спинов, необходимая чтобы превзойти классический компьютер в решении ограниченного числа специальных задач, достаточно большой в этом смысле? Сможем ли мы когда-либо научиться контролировать 10300 (по меньшей мере) амплитуд, определяющих квантовое состояние такой системы? Мой ответ — нет, никогда.
Принципы физической реализации
Главные технологии для квантового компьютера:
Основные проблемы, связанные с созданием и применением квантовых компьютеров:
На рубеже XX—XXI веков во многих научных лабораториях были созданы однокубитные квантовые процессоры (по существу, управляемые двухуровневые системы, в которых можно было предполагать возможность масштабирования на много кубитов).
В 2021 году группы китайских учёных под руководством Пань Цзяньвэя создали два прототипа квантовых компьютеров:
Адиабатические компьютеры D-Wave
При проектировании и эксплуатации квантовых компьютеров перед учеными и инженерами возникает огромное количество проблем, которые на сегодняшний день решаются с переменным успехом. Согласно исследованию (и еще вот тут) можно выделить следующий ряд проблем:
Давайте организуем все основные проблемы в три большие группы и рассмотрим поподробнее каждую из них:
Дисклеймер
Автор не является специалистом в квантовых вычислениях, и целевая аудитория статьи — такие же ИТ-шники, не квантовые специалисты, которые тоже хотят собрать в голове картинку под названием “Как работают квантовые компьютеры”. Из-за этого многие понятия в статье сознательно упрощены для лучшего понимания квантовых технологий на “базовом” уровне, но без совсем уж сильного упрощения с потерей информативности и адекватности.
В статье, в некоторых местах используются материалы из других источников, список которых приведен в конце статьи. Везде где это было возможно, вставлены прямые ссылки и указания на оригинал текста, таблицы или рисунка. Если где-то что-то (или кого-то) забыл, пишите — поправлю.
Ошибки
Как мы уже говорили, квантовые процессы и квантовые вычисления имеют вероятностную природу, мы не можем быть уверены на 100% ни в чем, а только с какой-то вероятностью. Ситуация усугубляется еще и тем, что квантовые вычисления подвержены ошибкам. Основные типы ошибок при квантовых вычислениях это:
Ошибки, связанные с декогерентностью, возникают сразу же, как только мы запутали наши кубиты и начали производить вычисления. Чем больше кубитов мы запутали, тем сложнее система, и тем легче ее разрушить. Низкотемпературные саркофаги, защищенные камеры, все эти технологические ухищрения как раз направлены на то, чтобы снизить число ошибок и продлить время декогеренции.
Вычислительные ошибки гейтов — любая операция (вентиль) над кубитами может с некоторой вероятностью завершиться с ошибкой, а нам для реализации алгоритма нужно выполнить сотни вентилей, вот и представьте, что мы получим в конце выполнения нашего алгоритма. Классический вариант ответа на вопрос — “Какова вероятность встретить динозавра в лифте?” — 50х50, или встретишь или нет.
Проблема еще усугубляется тем, что стандартные методы коррекции ошибок (дублирование вычислений и усреднение) в квантовом мире не работают из-за теоремы о запрете клонирования. Для коррекции ошибок в квантовых вычислениях пришлось придумать квантовые же методы коррекции. Грубо говоря мы берем N обычных кубитов и делаем из них 1 логический кубит с меньшим уровнем ошибок.
Но тут возникает другая проблема — общее количество кубитов. Смотрите, допустим у нас есть процессор со 100 кубитами, из которых 80 кубитов заняты коррекцией ошибок, тогда нам для вычислений остается только 20.
Ошибки считывания финального результата — как мы помним, результат квантовых вычислений нам представлен в виде вероятностного распределения ответов. Но считывание финального состояния тоже может завершиться с ошибкой.
На том же сайте есть сравнительные таблицы процессоров по уровням ошибок. Для сравнения возьмем те же процессоры, что и в предыдущем примере — IBM IBM Q System One и Google Sycamore:
Здесь фиделити — мера схожести двух квантовых состояний. Величину ошибки можно грубо представить как 1-Fidelity. Как мы видим, ошибки на 2-х кубитных гейтах и ошибки считывания являются главным препятствием к выполнению сложных и длинных алгоритмов на существующих квантовых компьютерах.
Еще можно почитать роадмап от 2016 года от NQIT по решению задачи коррекции ошибок.
Декогеренция
Описание от N+1.
Квантовое состояние очень хрупкая штука, кубиты в запутанном состоянии крайне нестабильны, любое внешнее воздействие может разрушить (и разрушает) эту связь. Изменение температуры на мельчайшую долю градуса, давление, пролетевший рядом случайный фотон — все это дестабилизирует нашу систему.
Для решения этой проблемы строят низкотемпературные саркофаги, в которых температура (-273.14 градуса цельсия) чуть-чуть выше абсолютного ноля, с максимальной изоляцией внутренней камеры с процессором от всех (возможных) воздействий внешней среды.
Максимальное время жизни квантовой системы из нескольких запутанных кубитов, в течение которого она сохраняет свои квантовые свойства и может быть использована для произведения вычислений, называют временем декогеренции.
На текущий момент время декогеренции в лучших квантовых решениях составляет порядка десятков и сотен микросекунд.
Есть прекрасный сайт, на котором можно посмотреть сравнительные таблицы параметров всех созданных квантовых систем. В эту статью для примера вынесены только два топовых процессора — от IBM IBM Q System One и от Google Sycamore. Как мы видим, время декогеренции (Т2) не превышает 200 мкс.
Я не нашел точных данных по Sycamore, но в самой статье о квантовом превосходстве приводятся две цифры — 1 миллион вычислений за 200 секунд, в другом месте — за 130 секунд без потерь на управляющие сигналы и прочее. В любом случае это дает нам время декогеренции порядка 150 мкс. Помните нашего экспериментатора с мешком? Ну так вот он.
Чем нам грозит декогеренция?
Основная проблема в том, что через 150 мкс наша вычислительная система из N запутанных кубитов начнет выдавать на выходе вместо вероятностного распределения правильных решений — вероятностный белый шум.
То есть нам надо:
И сделать все это за 150 мкс. Не успел — результат превратился в тыкву.
От идеи до технологического превосходства
Квантовые компьютеры представляют собой класс вычислительных устройств, которые используют для обработки информации явления, характерные для отдельных квантовых систем, таких как атомы, ионы, фотоны и др. Ключевыми для квантовых вычислений являются суперпозиция — возможность квантовых систем быть «одновременно» в нескольких состояниях — и квантовая запутанность, проявляющаяся во взаимосвязи между квантовыми объектами.
Элементарными информационными единицами при работе квантового компьютера являются кубиты — квантовые «аналоги» классических битов информации. Как раз благодаря явлению квантовой суперпозиции кубиты могут быть и логическим нулем, и логической единицей одновременно (в отличие от классических битов, которые могут быть лишь в одном из этих состояний).
Идеи квантовых компьютеров появились в начале 1980-х годов в работах советского математика Юрия Манина, британского математика и физика Дэвида Дойча, а также американского физика Ричарда Фейнмана. Уже в середине 1990-х появились первые квантовые алгоритмы для работы на будущих квантовых компьютерах, которые заинтересовали бизнес. Например, оказалось, что с помощью квантовых компьютеров можно будет взламывать современные криптографические алгоритмы.
В определенных классах математических задач квантовые компьютеры могут продемонстрировать существенное превосходство над классическими технологиями. Примерами задач являются криптоаналитика, моделирование сложных систем, обработка больших данных (big data) и др. Существующие на данный момент квантовые компьютеры обладают десятками и сотнями «шумных» кубитов, что не дает возможности полностью раскрыть потенциал их использования. Однако такие компьютеры уже способны на определенных тестовых математических задачах обгонять суперкомпьютеры. Например, на решение тестовой задачи квантовому компьютеру хватает нескольких часов или минут, тогда как на классическом оно заняло бы больше 45 лет. При этом уже сейчас есть возможность решать прикладные задачи небольшого масштаба, например из области химии и машинного обучения.
Ключевую роль для полезного квантового превосходства играет решение двух принципиальных задач. Во-первых, создание квантового процессора с большим количеством кубитов и низким уровнем ошибок. В одном сценарии это станет возможным благодаря прогрессу уже существующих систем, а в другом потребует поиска или разработки новых физических платформ для квантовых вычислений. Во-вторых, необходимо значительно расширить класс квантовых алгоритмов для решения прикладных задач. Прогресс движется по каждому из направлений, поэтому на масштабе четырех-пяти лет можно ожидать первые примеры применения квантовых компьютеров для полезных задач.
В качестве одного из потенциальных направлений для квантового превосходства можно рассматривать машинное обучение. Над применением квантовых компьютеров для задач искусственного интеллекта работают ведущие научные группы по всему миру. Например, ученые из Российского квантового центра вместе с сингапурской компанией «Геро» разработали квантовый алгоритм машинного обучения для поиска новых типов лекарств, что позволило найти более 2 тыс. новых молекул с лекарственными свойствами.
Квантовая защита vs. квантовое нападение
Опасность для современной криптографии возникает из-за возможности реализовать на квантовом компьютере эффективные алгоритмы для факторизации, что несет угрозу для криптографии с открытым ключом, а также в плане ускорения поиска по неупорядоченным базам данных. Масштаб проблемы существенный: более 90% данных, передаваемых в интернете, станут открытыми при появлении квантового компьютера. Криптографические стандарты, например для электронных подписей, необходимо будет пересматривать.
Эпоха квантовых компьютеров предполагает два подхода к защите информации. Во-первых, это квантовое распределение ключей. Оно основано на кодировании информации в одиночные квантовые состояния. Во-вторых, решением является постквантовая криптография — набор криптографических алгоритмов, криптоанализ которых имеет сравнимый уровень сложности для классических и квантовых компьютеров.
Технология квантового распределения ключей уже готова к промышленному использованию, необходимы ускорение темпов адаптации технологий крупными компаниями и строительство городских сетей. Постквантовая криптография также уже готова для внедрения решений по защите широкого спектра приложений (мобильные, веб-приложения, цифровые подписи и т.д.). Прогресс в области квантовых компьютеров является очевидным драйвером для внедрения новых технологий защиты информации. Например, в США уже сейчас принят Акт квантовой кибербезопасности, регламентирующий переход на решения, устойчивые по отношению к атакам с квантовых компьютеров. В России ведется работа по стандартизации квантово-устойчивых алгоритмов. Их масштабное внедрение — это также вопрос ближайших трех—пяти лет.
Алгоритм Гровера
Алгоритм Гровера — квантовый алгоритм решения задачи перебора, то есть нахождения решения уравнения F(X) = 1, где F — есть булева функция от n переменных. Был предложен американским математиком Ловом Гровером в 1996 году.
Алгоритм Гровера может быть использован для нахождения медианы и среднего арифметического числового ряда. Кроме того, он может применяться для решения NP-полных задач путем исчерпывающего поиска среди множества возможных решений. Это может повлечь значительный прирост скорости по сравнению с классическими алгоритмами, хотя и не предоставляя «полиномиального решения» в общем виде.(С)
Подробнее можно почитать вот тут, или тут. Еще вот тут есть хорошее объяснение алгоритма на примере ящиков и мяча, но, к сожалению, по независящим ни от кого причинам, данный сайт у меня из России не открывается. Если у вас этот сайт тоже заблокирован, то вот краткая выжимка:
Алгоритм Гровера. Представьте, что у вас имеется N штук пронумерованных закрытых коробок. Они все пустые кроме одной, в которой находится мячик. Ваша задача: узнать номер коробки, в которой находится мячик (этот неизвестный номер часто обозначают буквой w).
Как решать эту задачу? Самым тупым способом, по очереди открывать коробки, и рано или поздно вы наткнетесь на коробку с мячиком. А сколько в среднем коробок нужно проверить до того, как будет обнаружена коробка с мячиком? В среднем нужно открыть примерно половину коробок N/2. Главное здесь то, что если мы увеличим число коробок в 100 раз, то в те же 100 раз увеличится и среднее число коробок, которые нужно открыть до того, как будет найдена коробка с мячиком.
Теперь сделаем ещё одно уточнение. Пусть мы не сами открываем коробки руками и проверяем наличие мячика в каждой, а имеется некий посредник, назовем его Оракул (Oracle). Мы говорим Оракулу — «проверь коробку номер 732», и Оракул честно проверяет и отвечает «в коробке номер 732 мячика нет». Теперь вместо слов о том, сколько коробок нам нужно в среднем открыть, мы говорим «сколько раз в среднем мы должны обратиться к Оракулу для того, чтобы найти номер коробки с мячиком»
Оказывается, что если перевести эту задачу с коробками, мячиком и Оракулом на квантовый язык, то выходит замечательный результат: для поиска номера коробки с мячиком среди N коробок нам нужно потревожить Оракула всего примерно SQRT(N) раз!
То есть сложность задачи перебора используя алгоритм Гровера снижается в квадратный корень раз.
Сравнение квантового компьютера и обычного
Давайте теперь сравним обычный компьютер и квантовый.
В обычном компьютере это бит. Хорошо нам знакомый насквозь детерминированный бит. Может принимать значения либо 0 либо 1. Он прекрасно справляется с ролью логической единицы для обычного компьютера, но совершенно не подходит для описания состояния квантового объекта, который, как мы уже говорили, в дикой природе находится в суперпозиции своих граничных состояний.
На текущем технологическом уровне развития физической реализацией бита для обычного компьютера выступает полупроводниковый транзистор, для квантового, как мы уже говорили, любой квантовый объект. В следующем разделе мы поговорим о том, что сейчас используется в качестве физических носителей кубитов.
Для обычного компьютера это электрический ток — уровни напряжения, наличие или отсутствие тока, и т.д., для квантового — то самое состояние квантового объекта (направление поляризации, спин, и т.д.), которое может находится в состоянии суперпозиции.
Для реализации логических схем на обычном компьютере используются всем нам хорошо известные логические операции, для операций над кубитами пришлось придумывать совершенно иную систему операций, называемую квантовыми вентилями. Вентили бывают однокубитные и двухкубитные, в зависимости от того, над сколькими кубитами производится преобразование.
Примеры квантовых вентилей:
Есть понятие универсального набора вентилей, которых достаточно для выполнения любого квантового вычисления. Например, универсальным является набор, включающий вентиль Адамара, вентиль фазового сдвига, вентиль CNOT и вентиль π⁄8. С их помощью можно выполнить любое квантовое вычисление на произвольном наборе кубитов.
В этой статье мы не будем детально останавливаться на системе квантовых вентилей, более подробно про них и логические операции над кубитами можно почитать, например, вот тут. Главное, что надо запомнить:
Один транзистор нам совершенно бесполезен, чтобы производить вычисления нам надо соединить много транзисторов между собой, то есть создать полупроводниковый чип из миллионов транзисторов, на которых уже строить логические схемы, АЛУ и, в конечном счете, получить современный процессор в его классическом виде.
Один кубит нам тоже совершенно бесполезен (ну если только в академическом плане),
чтобы производить вычисления нам нужна система кубитов (квантовых объектов)
которая, как мы уже говорили, создается при помощи запутывания кубитов между собой так, чтобы изменения в их состояниях происходили согласованно.
Стандартные алгоритмы, которые накопило человечество к текущему моменту, совершенно не подходят для реализации на квантовом компьютере. Да в общем-то и незачем. Квантовые компьютеры, основанные на вентильной логике над кубитами, требуют создания совершенно иных алгоритмов, квантовых алгоритмов. Из наиболее известных квантовых алгоритмов можно выделить три:
И самое главное отличие — это принцип работы. У стандартного компьютера это цифровой, жестко детерминированный принцип, основанный на том, что если мы задали какое-то начальное состояние системы и пропустили его через заданный алгоритм, то результат вычислений будет один и тот же, сколько бы раз мы это вычисление не запускали. Собственно, такое поведение это именно то, что мы от компьютера и ждем.
Квантовый компьютер работает на аналоговом, вероятностном принципе. Результат работы заданного алгоритма на заданном начальном состоянии представляет собой выборку из вероятностного распределения конечных реализаций алгоритма плюс возможные ошибки.
Такая вероятностная природа квантовых вычислений обусловлена самой вероятностной сутью квантового мира. “ Бог не играет в кости со вселенной”, — говорил старик Эйнштейн, но все эксперименты и наблюдения пока (в текущей научной парадигме) подтверждают обратное.
Пути решения проблем
Для решения вышеуказанных проблем, в настоящее время используют следующие подходы и методы:
Также проводятся исследования, направленные на увеличение времени декогеренции, на поиск новых (и доработку известных) физических реализаций квантовых объектов, на оптимизацию схем коррекции и прочее и прочее. Прогресс есть (посмотрите выше на характеристики более ранних и топовых на сегодняшний день чипов), но пока идет медленно, очень очень медленно.
Немного об эмуляции квантовых компьютеров
Квантовые вычисления можно эмулировать на обычном компьютере. Ведь действительно, смотрите:
Для сравнения, Summit (Top-1 из Top-500) несет на себе всего 2.8 Петабайт памяти.
Текущий рекорд симуляций — 49 кубит поставленный в прошлом году на крупнейшем китайском суперкомпьютере (Sunway Taihu Light)
Предел симуляции квантового компьютера на классических системах обусловлен количеством оперативной памяти необходимой для хранения состояния кубитов.
По операциям — для точной эмуляции схемы на 49 кубитов из каких-то 39 “тактов” (независимых слоев вентилей) потребовалось 2^63 комплексных умножений — 4 Пфлопс суперкомпьютера на протяжении 4 часов
Эмуляция квантового компьютера из 50+ кубит на классических системах считается невыполнимой за разумное время. В том числе из-за этого факта Google использовал для своего эксперимента с квантовым превосходством процессор с 53-мя кубитами.
Области применения
У квантовых технологий есть несколько ключевых областей применения. В первую очередь все вспоминают про текущую криптографию, которая потенциально станет бесполезной после массового внедрения квантовых систем на тысячи кубитов. Но это направление не ограничивается только квантовыми вычислениями. Многие параллельные ветви развития обеспечивают, например, связь, которая защищена от MitM на фундаментальном уровне.
Квантовый брутфорс
Наиболее известные из разработанных алгоритмов для «квантового брутфорса» – это алгоритмы Шора и Гровера. Они позволяют быстро факторизировать числа и подбирать коллизии к хешам, соответственно. На данный момент полусотни кубитов недостаточно, чтобы поставить под угрозу всю современную криптографию, но потенциально может потребоваться переход на постквантовые алгоритмы, которые обеспечат стойкость условного TLS 3.0, даже при наличии у атакующего квантовых вычислительных систем.
Для подбора общего секретного ключа, например, придётся использовать SIDH —аналог протокола Диффи–Хеллмана, основанный на блуждании в суперсингулярном изогенном графе.
Квантовое распределение ключей
Протокол подготовки и измерения
Одно из очень перспективных направлений – протокол квантового распределения ключа. Один из известных протоколов – BB84 – был предложен ещё в 1984 году Чарльзом Беннетом и Жилем Брассаром. Он работает за счёт фундаментального ограничения, наложенного теоремой о запрете клонирования.
Носителями информации являются фотоны в четырёх различных квантовых состояниях. Обычно подразумевается поляризация под углами 0°, 45°, 90°, 135°. С помощью измерения можно различить только два ортогональных состояния:
При этом невозможно за одно измерение отличить фото с горизонтальной поляризацией от фотона, с углом поляризации 135°.
Если канал не подслушивается, то Алиса и Боб смогут подобрать общую скоррелированную строку случайных бит, которую можно будет использовать уже в классических схемах симметричной криптографии. Если часть фотонов перехватывает, измеряет и ретранслирует Ева, то в канале начинают расти измеримые ошибки. По оценкам, если ошибки в канале не превышают 11%, то это значит, что у Евы нет достаточного количества данных для получения ключа. Если же измеренный уровень ошибок превышает описанный уровень, то алгоритм подбора ключа начинается сначала.
В 1989 году Беннет и Брассар в Исследовательском центре IBM построили первый работающий прототип этой системы, а уже в 2011 году в Токио прошла демонстрация проекта «Tokyo QKD Network» с безопасной передачей данных на 45 километров по обычному оптоволокну.
В июне этого года запустили квантовую линию связи между Москвой и Санкт-Петербургом протяженностью 700 километров. Проект реализовывает РЖД.
Протоколы, основанные на запутанности
«Мо-цзы» – китайский спутник, который предназначен для передачи квантовой информации
Другой способ связан с запутыванием фотонов и передачей одной части такой пары Алисе, а другой – Бобу. При перехвате происходит коллапс волновой функции, что приводит к невозможности незаметного перехвата данных. Проблема этой технологии в сложности доставки запутанной пары всем участникам, так как никакие ретрансляторы в этом случае невозможны.
Совместный эксперимент Китайской академии наук и Австрийской академии наук позволил поднять квантово-защищённый канал связи между Веной и Пекином. При этом само сообщение передавалось по открытым каналам шифром Вернама, а ключами к расшифровке стали квантовые состояния запутанных фотонов.
Приложения к криптографии
IBM Q System One – первый коммерчески доступный квантовый компьютер на базе 20-ти кубитов.
Квантовые вычисления очень часто воспринимаются как некая магия, где волшебная коробочка, погружённая в жидкий гелий, может заменить целые суперкомпьютерные кластеры. На самом деле эта технология предполагает огромный рост производительности, но только в ограниченной сфере задач. Условно говоря, вы сможете во много раз быстрее выполнять расчёты по фолдингу белков, нахождению элементов в базах данных, моделированию атмосферы или взлому классических асимметричных шифров вроде RSA. Но вряд ли это вам поможет в выполнении линейных алгоритмов, не предполагающих параллельных вычислений.
Основа любого квантового компьютера – кубит. По сути, это аналог бита в классических системах. Ключевое отличие в том, что бит всегда имеет одно из двух возможных значений – 0 или 1. При этом каждым битом надо манипулировать отдельно. С кубитами всё иначе. У кубита в «рабочем состоянии» до коллапса волновой функции нет определённого значения. Он находится в неопределённом состоянии суперпозиции, принимая все возможные значения одновременно. Кубиты должны быть запутаны между собой и работать как единая система, так как одиночный кубит сам по себе довольно бесполезен.
3 бита классического регистра против 3-х кубитов квантового
При этом квантовый компьютер тем эффективнее, чем больше кубитов одновременно находятся в запутанном состоянии. Почему так происходит?
Таким образом, по мере добавления отдельных кубитов в общий запутанный регистр содержащийся объём информации растёт по экспоненте. Считается, что 50 кубитов уже достаточно для получения квантового превосходства, при котором квантовый компьютер сможет решать задачи, невозможные для классических вычислительных систем. При достижении порога в 300 кубитов, число возможных состояний уже становится 2^300, что превышает количество атомов во всей вселенной.
Обычный компьютер выполняет какой-то алгоритм только для одного набора данных. Квантовые элементы могут принимать несколько значений одновременно, что позволяет производить вычисления не на одном наборе данных, а на всех возможных значениях одновременно. По сути, это идеальный вариант параллелизма, лишь бы данные помещались в регистр. Проблема заключается в том, что сложность удержания системы в когерентном состоянии также растёт экспоненциально.
Направления развития
На текущий момент (могу ошибаться, поправьте) основные усилия (и более-менее значимые результаты) у всех ведущих игроков сосредоточены на двух направлениях:
Прочие же вектора развития, которые дает нам квантовая физика, такие как:
безусловно тоже в списке направлений для исследований, но каких-то более-менее значимых результатов в настоящее время вроде как еще нет.
Дополнительно можно почитать дорожную карту развития квантовых технологий, ну и гуглите “развитие квантовых технологий”, например, вот, вот и вот.
Что сейчас происходит в этой области
Гонка в области квантовых вычислений и квантовой криптографии сравнима с Манхэттенским проектом. Единых стандартов и подходов нет, будущие архитектурные лидеры пока неочевидны. Но уже сейчас крупные частные корпорации, вроде Google и IBM, готовы предоставлять для удалённых вычислений свои квантовые компьютеры по модели Iaas и PaaS. По мере наработки опыта в этой сфере идёт массовая оптимизация и удешевление.
Расходы на квантовые вычисления, предоставленные госучреждениям, университетам и научным группам, исследовательским организациям, достигли $412 млн. Это не так много, но рынок быстро растёт и, по оценкам экспертов, должен достигнуть $8,6 млрд к 2027 году.
В России подключились крупные игроки в виде РЖД, Росатома и Ростеха. Предполагается, что в общую дорожную карту включатся крупные университеты и научно-технологические комплексы, такие как Сколково.
Что уже есть
Защищённые квантовые каналы связи есть уже сейчас. Используют как системы с квантовой запутанностью, так и протокол измерения и подготовки. Гарантированно защищенная связь крайне востребована как военными, так и крупными банками. В промышленной эксплуатации пока системы не используются.
Университет «Иннополис» и компания QRate реализовали интересный проект защиты систем автономного управления беспилотника. По сути, задача состояла в создании секретного шифроблокнота достаточного размера, чтобы его впоследствии можно было использовать совместно с классическими алгоритмами по общим сетям связи. Во время зарядки электромобиля происходит параллельное накопление квантовых данных через оптический канал. Затем автомобиль использует полученные данные для установления квантово-защищённого канала мобильной связи на базе классического OpenVPN и ключей, которые хранятся в специальном устройстве.
Понятно, что приложение экспериментальное, но оно применимо в любых отраслях, где есть высокие риски перехвата и компрометации критических данных.
Что только планируется
Квантовые вычисления ещё очень сырые. По сути, когда мы слышим про 1 000 кубитов у того же D-wave, надо понимать, что на самом деле это кластер из 8-кубитных когерентных блоков. В результате практическая применимость таких систем сильно ограничена узким кругом задач.
По мере роста длительности когерентного состояния, числа кубитов и снижения ошибок, станут возможны прорывы в области химии, фармакологии и других областях, которые требуют сложных параллельных вычислений. Так, станут возможны разработки сложнейших синтетических ферментов, которые смогут катализировать нужные реакции в организме пациента. На такое проектирование сейчас просто не хватает мощностей, чтобы это было рентабельным. Станет возможным предсказывать биохимические и другие свойства будущих препаратов по их молекулярной структуре. Это привёдет к прорыву в процессах разработки и резкому снижению тупиковых вариантов лекарств.
Массовая компрометация текущих алгоритмов шифрования тоже придёт со временем, но скорее всего мы успеем осуществить плавный переход на постквантовые алгоритмы до того, как это станет массовой проблемой.
В текущем виде квантовые технологии очень интересны, перспективны, но для получения коммерчески значимых фактических преимуществ придётся вложить огромные средства в разработку.
Алгоритм Шора.
Наиболее известным квантовым алгоритмом является алгоритм Шора (придумал в 1994 году английский математик Питер Шор), который нацелен на решение задачи разложения чисел на простые множители (задача факторизации, дискретного логарифма).
Именно этот алгоритм приводят в пример, когда пишут о том, что ваши банковские системы и пароли скоро будут взломаны. Учитывая, что длина используемых на сегодняшний день ключей не менее чем 2048 бит, время для шапочки еще не пришло.
На сегодняшний день результаты более чем скромные. Лучшие результаты факторизации с помощью алгоритма Шора — числа 15 и 21, что сильно меньше, чем 2048 бит. Для остальных результатов из таблицы применялся иной алгоритм расчетов, но даже лучший по этому алгоритму результат (291311) сильно далек от реального применения.
Подробнее про алгоритм Шора можно почитать, например, вот тут. Про практическую реализацию — тут.
Одна из текущих оценок сложности и необходимой мощности для факторизации числа из 2048 бит это компьютер с 20 миллионами кубитов. Спим спокойно.