Любой человек, который может разложить в уме 2048-битные числа быстрее, чем компьютер, почти наверняка является человеком, который, по сути, открыл новый алгоритм разложения чисел на множители. Что, если бы реализовать на компьютере, было бы еще быстрее.
Но это не исключает этого.
Я собираюсь быть немного меньше, чем полностью точным ниже. Например, я буду смешивать задачи принятия решений и алгоритмы, чтобы упростить термины.
Мы не знаем, насколько труден факторинг чисел на самом деле. Мы знаем, что это класс сложности BQP, который для классических компьютеров (или человека, запускающего в голове классический алгоритм) находится в NP.
Проблема в NP, если относительно дешево проверять вы получили правильный ответ. Пример здесь: если кто-то утверждает, что делители некоторого числа равны A и B, вы можете проверить это,... вычислив A * B и посмотрев, совпадают ли они.
Но там нет никаких доказательств того, что NP не то же самое, что P. Если NP=P, то любая проблема, решение которой может быть проверено быстро может быть решено быстрый. (Это очень условно, но верно в этих пределах). А если NP=P, то BQP, находящийся в NP, также находится в P.
Для проблем в NP мы не знаем классического алгоритма, который был бы намного быстрее, чем «просто попробовать все возможности» здесь для щедрых определений «всего этого». (самые быстрые алгоритмы факторинга строго субэкспоненциальны; например, O (e ^ (k + биты ^ (1/3) * ln (биты) ^ (2/3)) если я скопировал это правильно).
Таким образом, если бы кто-то придумал алгоритм факторизации больших чисел за полиномиальное время, он теоретически мог бы научиться запускать алгоритм в своей голове и иметь возможность факторизовать большие составные числа быстрее, чем это может сделать любой компьютер.
Это неправдоподобно. И, честно говоря, таким алгоритмом, вероятно, было бы полезнее поделиться, чем запихнуть себе в голову.
Ученый смог найти быструю факторизацию без показывая NP=P или даже то, что BQP=P; например, может случиться так, что разложить на множители определенные типы простых чисел, которые мы используем для криптографии, проще, чем общую проблему, или, может быть, большой процент таких составных чисел легко разложить на множители (но не все из них), или что существует какой-то другой «угловой случай», который позволяет ему работать (даже иногда) намного быстрее, чем «попробовать каждый случай». Такой результат был бы мощным, но не был бы революционным в масштабах переписывания большей части того, что мы считаем интересной математикой (что, честно говоря, сделал бы эффективный P-алгоритм для задач NP).