Мне говорили, что физики и ученые-компьютерщики работают над компьютерами, которые могли бы использовать квантовую физику для значительного увеличения вычислительных возможностей и взлома любого шифра, так что криптография становится бессмысленной.
Это правда?
Нет.
Квантовые компьютеры могут эффективно факторизовать большие числа, что позволило бы взломать многие широко используемые криптосистемы с открытым ключом, такие как RSA, которые основаны на сложности факторизации.
Однако существуют и другие криптосистемы, такие как криптография на основе решеток, которые не основаны на жесткости факторинга и которые (насколько нам известно) не будут уязвимы для атаки квантового компьютера.
Квантовые вычисления обещают много, но они не безграничны.
Утверждения (преувеличения), которые вы слышали, вероятно, основаны на самом известном алгоритме квантовых вычислений — алгоритме Шора . Это метод использования квантового компьютера для разложения целых чисел на простые числа. Как оказалось, многие схемы шифрования основаны на том факте, что разложение больших чисел на множители очень сложно. Сообщения могут быть довольно легко зашифрованы таким образом, что только тот, кто знает простую факторизацию конкретного числа, может расшифровать их с разумными усилиями. Если бы вы могли быстро разложить на множители большие числа, вы бы взломали многие современные схемы шифрования.
Однако есть и другие технологии, которым квантовые компьютеры не угрожают. Если ничего другого, вы всегда можете использовать одноразовый блокнот , пока само сообщение. Это математически невозможно взломать, поскольку любое сообщение можно «расшифровать» из зашифрованного с помощью соответствующего предположения ключа, поэтому у перехватчика нет возможности узнать настоящее сообщение.
Квантовые вычисления могут также открыть двери для способов безопасной передачи информации следующего поколения. Например, большинство современных средств шифрования — это просто шифрование сообщения таким образом, чтобы только предполагаемый получатель мог его понять. Но могут быть хорошие квантовые способы физически гарантировать, что перехватчики не смогут получить доступ к передаче.
На самом деле существует целый класс сложности, посвященный ответу: «Нет, он не может сломать код». Этот класс известен как BQP , или «квантовое полиномиальное время с ограниченной ошибкой». Это класс задач принятия решений, которые могут быть решены квантовым компьютером за полиномиальное время с погрешностью не более 1/3 (эта погрешность учитывается на классическом шаге вычислений, который происходит после того, как большинство квантовых алгоритмов проверяет, что результаты правильные).
Считается, что BQP имеет следующие отношения с другими сложностями:
(Главное неизвестное в этом списке заключается в том, что еще неизвестно, является ли P = NP. Список предполагает, что P! = NP, но если P = NP, очевидно, что NP и NP-полные также будут частью BQP. Мы также не не знаю, NP = BQP или нет , так много еще предстоит выяснить! )
RSA можно взломать с помощью квантовых компьютеров, потому что задача факторизации больших составных чисел находится в BQP, как продемонстрировал алгоритм Шора. Алгоритм Шора является NP (но не NP-полным). Существуют и другие алгоритмы NP, которые, как считается, находятся за пределами BQP, которые можно использовать для шифрования (принятый ответ ссылается на криптографию на основе решетки, которая является одним из таких классов алгоритмов).
До сих пор ответы были сосредоточены на шифровании с открытым ключом, при котором кто-то публикует открытый ключ, который может использоваться для шифрования сообщений для него и который не является секретным. Известно, что квантовые компьютеры эффективно решают несколько проблем, наиболее часто используемых в качестве основы криптографии с открытым ключом. Это не влияет на всю криптографию с открытым ключом, а только на самые популярные схемы; это влияет на самые популярные схемы.
Однако шифрование — это нечто большее, чем открытый ключ. Схемы симметричного шифрования, в которых две стороны совместно используют секретный ключ, считаются подверженными не более чем квадратичному ускорению с квантовыми компьютерами (квантовые компьютеры могут достичь квадратичного ускорения для общих задач поиска, но не более). Это соответствует эффективному уменьшению вдвое длины ключа. В отличие от обычных систем с открытым ключом, на эффективное уменьшение длины ключа вдвое очень легко реагировать: вы можете просто удвоить длину ключа и продолжить. Симметричное шифрование чрезвычайно распространено; даже там, где используется шифрование с открытым ключом, оно чаще всего просто используется для замены ключа на симметричное шифрование.
Наиболее распространенная симметричная система, AES, имеет 256-битный вариант ключа, обеспечивающий 128-битную защиту от квантовых компьютеров. Другие разрабатываемые схемы поддерживают 512-битные ключи, которые обеспечивают 256-битную эффективную защиту. И 128, и 256 бит считаются безопасными в обозримом будущем.
Точно так же считается, что криптографические хеш-функции очень хорошо противостоят квантовым компьютерам. Есть та же атака на основе алгоритма Гровера, но, как и в случае с функциями шифрования, ей легко противостоять.
Таким образом, любые заявления о том, что криптография становится бессмысленной, совершенно необоснованны, потому что единственное, что серьезно страдает, — это системы с открытым ключом. Системы с открытым ключом важны, но криптография — гораздо более широкая область.
Нет. Не может существовать компьютер X, который может взломать любой шифр, потому что одноразовый блокнот — это шифр, а одноразовый блокнот не может быть взломан алгоритмом (тривиальное доказательство в теории информации).
Я хотел бы добавить, что квантовые компьютеры не могут взломать любой существующий код, потому что их логические вентили могут выполнять те же самые операции, что и классические логические вентили. Они добавляют новые возможности, сохраняя при этом возможности классических компьютеров.
Поскольку программы по своей сути работают с логическими вентилями, разумно предположить, что любой существующий код для классических компьютеров может работать на квантовом компьютере.
См. также квантовые ворота в Википедии.
Вы можете запустить обычное вычисление и вычислить его параллельно для всех возможных входных ключей. Это означает, что расшифровка зашифрованного текста с помощью правильного ключа занимает столько же времени, сколько и его расшифровка всеми возможными ключами (с фиксированной длиной). Это будет означать, что все традиционные методы шифрования, такие как AES и т. д., могут быть взломаны так же быстро, как они могут быть расшифрованы владельцем легального ключа.
Сложная часть (где одноразовый блокнот выделяется) заключается в том, как узнать, действительно ли полученное в результате расшифровки сообщение является правильным текстом. Например, я отправляю OK
вам сообщение, зашифрованное с помощью AES 256 бит. Теперь есть 2^256 возможных ключей для расшифровки этого сообщения, и все они приведут к некоторому результату. Многие могут быть в чем-то вроде #§
или других загадочных байтовых символах, но некоторые ключи могут привести к двум буквам «WB», а некоторые комбинации могут даже привести к «НЕТ».
Итак, трудная часть состоит в том, чтобы выяснить, какое сообщение является правильным! Поскольку (теоретический) квантовый компьютер, в конце концов, выдаст только несколько результатов с высокой вероятностью, поэтому вам нужно закодировать проверку, которая определит, действительно ли вывод является действительным текстом. Если текст намного больше, чем ключ, и что-то вроде простого английского или, лучше, стандартного формата, который можно проверить на целостность, это может быть возможно. Но если есть несколько возможных результатов, которые выглядят правильными, человеку придется их сортировать, поэтому в случае взлома одноразового блокнота код так же хорош, как и простое угадывание на ровном месте. Другие схемы шифрования, возможно, придется адаптировать для создания действительных сообщений для ложных ключей, но это кажется возможным...
--
Это сработало бы только в том случае, если бы настоящий квантовый компьютер мог работать так. Насколько мне известно, у нас нет веских доказательств того, что QC действительно работает так. Так что, возможно, это просто невозможно сделать, и у нас даже нет проблемы ;-)
пользователь
Кайл Канос
Дэвид З.
Натан Купер
Даниэль Санк
Эмори
Даниэль Санк
Стивен Сагона