Значение: «Если вычислять большие целые числа сложно, то сломать RSA сложно», это не доказано »


30

Я читал CLRS и сказал:

Если факторизация больших целых чисел проста, то взломать криптосистему RSA легко.

Что имеет смысл для меня, потому что со знанием и легко создать секретный ключ, который известен из открытого ключа. Хотя, это объясняет обратное утверждение, которое я не совсем понимаю:дpq

Обратное утверждение, что если вычислять большие целые числа сложно, то сломать RSA сложно, это не доказано.

Что означает приведенное выше утверждение? Если предположить, что факторинг сложен (каким-то формальным образом), почему это не означает, что взломать криптосистему RSA сложно?

Теперь учтите, что если мы предположили, что факторинг сложен ... и что мы обнаружили, что это означает, что криптосистему RSA трудно сломать. Что бы это формально означало?


3
Это может означать, что взломать RSA сложно, но это не было доказано .
Том ван дер Занден

2
дискретное логарифмирование в сердце ломки RSA , а «очень похожи» не было доказано, что эквивалентно факторинга, его основным открытым вопрос о поле (как криптография и ТКС)
ВЗН

1
Не должен ли второй использовать тире вместо запятых? Тире не используется, когда внутри зависимого предложения есть запятые? The converse statement -- that if factoring large integers is hard, then breaking RSA is hard -- is unproven.
Чипперз

@ruakh: Ой, да ... Я даже удостоверился, что перепроверил это, но я все еще понял это неправильно. Я постоянно забываю, что вы должны сводиться к проблеме, которая, как вы знаете, является легкой, а не проблемой, которую вы знаете, по крайней мере, такой же сложной, как ваша нынешняя. :-) Спасибо за это, я его убрал.
Мердад

Математический аргумент: «если , то » означает то же самое, что и «если не , то не ». Вы не можете ничего сказать о «если не , то не ». B B A A BABBAAB
drzbir

Ответы:


50

Самый простой способ думать об этом - думать о противоположном.

Заявление:

если сложно вычислить большие целые числа, то сломать RSA сложно

эквивалентно следующему:

если разбить RSA легко, то легко вычислить большие целые числа

Это утверждение не было доказано.

Они говорят, что у нас есть алгоритм, который решает факторинг за полиномиальное время. Затем мы можем использовать его для построения алгоритма, который решает RSA за полиномиальное время.

Но может быть какой-то другой способ взломать RSA, который не включает факторизацию целых чисел. Вполне возможно, что мы обнаружим, что можем взломать RSA таким образом, чтобы не допустить факторизации целых чисел за полиномиальное время.

Короче говоря, мы знаем, что RSA по крайней мере так же просто, как факторинг. Возможны два исхода: RSA и факторинг имеют одинаковую сложность, или RSA является более простой проблемой, чем факторинг. Мы не знаем, в чем дело.


10
«по крайней мере, так просто» - это способ интерпретации сокращений, который следует преподавать более четко, а также наоборот.
Г. Бах

Вы можете сделать это любым способом, если X, по крайней мере, так же трудно, как Y, Y, по крайней мере, так же легко, как X.
jmite

2
Это то, что я имел в виду - почти все, наверное, слышали, что «X, по крайней мере, так же сложно, как Y», но «Y, по крайней мере, так же легко, как X» объясняется очень редко - хотя это так же полезно.
Г. Бах

1
Кажется, я смутно помню, что Дональд Кнут упомянул алгоритм, который, учитывая, что машина, способная магическим образом взломать произвольные зашифрованные сообщения RSA, сможет вычислять произведения двух больших простых чисел. Я могу ошибаться :-(
gnasher729

31

Существование сложного пути не означает, что простого пути не существует.

Может быть несколько способов сломать RSA, и нам нужно найти только один из них.


Одним из таких способов является факторизация большого целого числа, поэтому, если это легко, мы можем сделать это таким образом, и RSA не работает. Это также единственный способ, которым мы знаем. Если это невозможно сделать, мы все равно можем найти другой, менее требовательный в вычислительном отношении способ выполнения нашей задачи без необходимости явно вычислять p и q из n .


Чтобы доказать, что RSA сломан, мы должны доказать, что один из способов сделать это легко.

Чтобы доказать безопасность RSA, мы должны доказать, что все способы сделать это сложны.


Наконец, ваше утверждение недоказано, поскольку не доказано, что не существует другого, более простого метода, который извлекает информацию из зашифрованного текста.


1
Мы могли бы доказать, что RSA и факторинг одинаково трудны, если бы мы могли создать алгоритм, который может вычислять продукты двух больших простых чисел, генерируя некоторые специальные зашифрованные сообщения RSA, взламывая их, а затем выполняя еще некоторые вычисления. Это означало бы, что RSA не проще, чем факторинг. Это не значит, что это легко или сложно.
gnasher729

@ gnasher729 Этого будет достаточно? Если бы алгоритм мог учитывать произведения двух больших простых чисел, но не произведения, содержащие более двух простых чисел, или произведения, включающие небольшие простые числа?
otakucode

@ Я думаю, что RSA зависит только от взаимно простых факторов. Так что обойти продукты нескольких факторов было бы просто.
Taemyr

10

Еще один способ взглянуть на это заключается в том, что нарушение RSA требует только особого случая факторинга, который может быть или не быть простым, независимо от общего вопроса факторинга.

3


7

Это означает, что проблема RSA кажется (в настоящее время) более конкретной, чем факторинг.

pqe,v,mvmemodpq

pq,pq

dmvd

m

Фактически, в 1998 году Бонех и Венкатесан опубликовали доказательство того, что некий простой класс алгоритмов (плюс, время, экспоненты, вещи типа XOR / NAND) не могут быть использованы для превращения решения задачи RSA в алгоритм факторинга. У аргумента была простая изобретательность: манипулируя этими арифметическими операциями математически, мы можем выяснить, что «алгоритм редукции» (для точности: это алгоритм, который использует «оракул» RSA для полупростого, чтобы факторизовать полупростое) превращается это сам по себе алгоритм факторинга, так что мы можем изменить его на вариант, который не вызывает его оракула. Итак, у нас есть трихотомия: либо (а) такого алгоритма редукции не существует, либо (б) алгоритм редукции не имеет хорошей арифметической интерпретации, либо (в) факторинг является полиномиальным временем, как и алгоритм редукции.



@ Жиль, на самом деле я думаю, что ты прав, поэтому я исправил свой ответ соответственно.
CR Drost

3

logeCZmemC

Эти две математические задачи связаны между собой, но (если я правильно помню) считается, что решение одной не подразумевает решение другой. Я не знаю, являются ли они единственными двумя способами математически сломать RSA.


mm
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.