Это кросс-пост от math.stackexchange.
Обозначим через FACT целочисленную задачу факторинга: для найдите простые числа и целые числа такие чтоp i ∈ N , e i ∈ N , n = ∏ k i = 0 p e i i .
Обозначим через RSA частный случай задачи факторинга, где и - простые числа. То есть, если дано найти простые числа или NONE, если такой факторизации нет.p , q n p , q
Очевидно, что RSA является примером FACT. ФАКТ сложнее, чем RSA? Учитывая оракула, который решает RSA в полиномиальное время, можно ли его использовать для решения FACT в полиномиальное время?
(Указатель на литературу очень ценится.)
Редактировать 1: Добавлено ограничение вычислительной мощности для полиномиального времени.
Редактировать 2: Как указано в ответе Дэна Брамлева, что есть документы, спорящие за и против RSA более жесткий (или более легкий, чем) ФАКТ. До сих пор я нашел следующие документы:
Д. Бонех и Р. Венкатесан. Разорвать RSA может быть проще, чем факторинг. ЕВРОКРИПТ 1998. http://crypto.stanford.edu/~dabo/papers/no_rsa_red.pdf
Д. Браун: Взлом RSA может быть таким же сложным, как и факторинг. Cryptology ePrint Archive, Отчет 205/380 (2006) http://eprint.iacr.org/2005/380.pdf
Г. Леандер и А. Рупп. Об эквивалентности RSA и факторинге в отношении общих кольцевых алгоритмов. ASIACRYPT 2006. http://www.iacr.org/archive/asiacrypt2006/42840239/42840239.pdf
Д. Аггарвал и У. Маурер. Разрыв RSA в целом эквивалентен факторингу. ЕВРОКРИПТ 2009. http://eprint.iacr.org/2008/260.pdf
Я должен пройти их и найти заключение. Кто-нибудь в курсе этих результатов может предоставить резюме?
Ответы:
Я нашел эту статью под названием « Взлом RSA может быть проще, чем факторинг» . Они утверждают, что вычисление -корней по модулю может быть проще, чем факторинг .n = p q n = p qe n=pq n=pq
Тем не менее, они не отвечают на вопрос, который вы задали: они не учитывают, проще ли разложить целые числа вида , чем разложить произвольные целые числа. В результате этот ответ в значительной степени не имеет отношения к вашему конкретному вопросу.n=pq
источник
Насколько я могу видеть, эффективный алгоритм для факторизации полупростых чисел (RSA) автоматически не переводится в эффективный алгоритм для факторизации общих целых чисел (FACT). Тем не менее, на практике, полупростые числа являются самыми сложными целыми числами. Одна из причин этого заключается в том, что максимальный размер наименьшего простого числа зависит от количества факторов. Для целого числа с простыми множителями максимальный размер наименьшего простого множителя равен , и поэтому (с помощью теоремы о простых числах ) существует приблизительно возможностей для этого. Таким образом, увеличениеf ⌊ N 1N f fN 1⌊N1f⌋ fff=2fN1flog(N) f уменьшает количество возможностей для наименьшего простого множителя. Любой алгоритм, который работает, последовательно уменьшая это пространство вероятностей, будет тогда работать лучше всего для большого и худшим для . Это подтверждается на практике, так как многие классические алгоритмы факторинга работают намного быстрее, когда факторизованное число имеет более 2 простых факторов.f f=2
Кроме того, сито полевых чисел общего числа , самый известный из известных классических алгоритмов факторинга, и алгоритм Шора, алгоритм квантового факторинга за полиномиальное время, одинаково хорошо работают и для неполупростых чисел. В общем, кажется, что гораздо важнее, чтобы факторы взаимно просты, чем чтобы они были простыми.
Я думаю, что одна из причин этого заключается в том, что вариант решения о факторинге простых чисел наиболее естественно описывается как проблема обещания , и любой способ устранения обещания входного значения, являющегося полупростым, заключается в
Представляется вероятным, что в последнем случае наиболее эффективный алгоритм будет решать FACT, а также RSA, хотя у меня нет доказательств этого. Тем не менее, доказательств мало, чтобы требовать, так как если бы оракул RSA доказал, что это не может эффективно решить FACT, то это доказывает, что .P≠NP
Наконец, стоит отметить, что RSA (криптосистема, а не проблема факторинга, которую вы определили выше) тривиально обобщает за пределы простых чисел.
источник
Не совсем полный ответ, но, кажется, улучшение:
В цитированных выше исследовательских работах проблема вычисления этно-корней mod N, т. Е. Выполнения операции с закрытым ключом в криптосистеме RSA, сравнивается с проблемой факторинга, т. Е. Поиска секретного ключа, в обоих случаях с использованием только открытого ключа. В этом случае проблема факторинга является не общим, а полупростым случаем. Другими словами, они рассматривают другой вопрос.
Я полагаю, что известно, см. ACPCP Кнута, что большинство чисел N имеют простые разложения, длина битов которых сравнивается по длине в битах с длиной N, в среднем что-то типа 1/2, 1/4, 1/8, ..., или, возможно, даже более резко падают, как в 2/3, 2/9, 2/27, ... но, возможно, сглаживаются. Таким образом, для общего случайного N размера, достаточно малого, чтобы можно было ожидать, что меньшие факторы могут быть быстро найдены пробным делением или ECM Ленстры, тогда то, что остается, может быть полупростым, хотя и несбалансированным. Это своего рода сокращение, но оно сильно зависит от распределения факторов, и это медленное сокращение, так как оно вызывает другие алгоритмы факторизации.
Кроме того, не существует известного теста для определения, является ли число полупростым или нет. Это означает только то, что если кто-то только что применил алгоритм полупростой факторизации к общему числу, и он всегда терпел неудачу, то он решил неизвестную проблему.
источник