Если вы можете множить n = p * q, то d * e ≡ 1 (mod m), где m = φ (n) = (p-1) * (q-1), (φ (m) равно общая функция Эйлера ), в этом случае вы можете использовать расширенный евклидов алгоритм для определения d по e.(d * e - k * m = 1 для некоторого k)
Все это очень легко вычислить, за исключением факторинга, который спроектирован так, чтобы быть невероятно сложным, так что шифрование с открытым ключом является полезным методомэто не может быть расшифровано, если вы не знаете секретный ключ.
Итак, чтобы ответить на ваш вопрос в практическом смысле, нет, вы не можете получить закрытый ключ из открытого ключа, если вы не можете подождать сотни или тысячи процессорных лет, чтобы получить коэффициент n.
Шифрование и дешифрование с открытым ключом являются обратными операциями:
x = y e mod n = (x d ) e mod n = x de mod n = x kφ (n) + 1 mod n = x * (x φ (n) ) k mod n = x mod n
где (x φ (n) ) k = 1 mod n из-за теорема Эйлера .