Предположим, что я знаю java BigIntegers c, e и n, есть способ быстро вычислить BigInteger m, где :Как найти m в c = m^e (mod n), если известны c, e, n
c = m^e (mod n)
Предположим, что я знаю java BigIntegers c, e и n, есть способ быстро вычислить BigInteger m, где :Как найти m в c = m^e (mod n), если известны c, e, n
c = m^e (mod n)
Ну, вроде ... Предположим, что вы определили число «d», что
d*e=1 (mod phi(n))
Где фита (п) является размер множества относительно простых чисел относительных к n. Например, если n = pq, где p и q простые, то phi (n) = (p-1) * (q-1).
Тогда
m=c^d (mod n)
В том случае, когда вы уже не знаете, «D», то я думаю, что это будет довольно трудно для вас, чтобы инвертировать эту функцию в целом. Удачи.
Спасибо. Я думал, что мне нужно решить это уравнение, чтобы решить проблему, которую я пытаюсь взломать, но кажется, что есть другой способ получить решение (поскольку я не знаю значения для «d», решение этого было бы очень сложно). – knarloc
Вас попросят разбить шифрование RSA на 2048 бит. – hft
«2048» в моем комментарии - это «n = 2048» в вашем предыдущем комментарии, который, кажется, был удален ... В любом случае, как правило, это шифрование сложно разбить. – hft
Что вы изучили до сих пор? –
Эта проблема действительно не специфична для Java ... это проблема теории чисел, никакой конкретный язык программирования не сможет быстро расшифровывать RSA без секретного ключа ... – hft