RSA. Как вычислить исходное сообщение с помощь алгоритма на языке Python?

from math import sqrt
import base64


n = 9173503 #int(input())
e = 3 #int(input())

res = []
for x in range(1, int(sqrt(n)+1)):
  if not (n % x):
     p , q = [x,n//x]

print("p:", p)
print("q:", q)

phi = (p - 1) * (q - 1)
print("phi:",phi)

def extended_gcd(a, b):
    x = 0
    y = 1
    lx = 1
    ly = 0
    oa = a
    ob = b
    while b != 0:
        q = a // b
        (a, b)  = (b, a % b)
        (x, lx) = ((lx - (q * x)),x)
        (y, ly) = ((ly - (q * y)),y)
    if (lx < 0): lx += ob
    if (ly < 0): ly += oa
    return lx

d = extended_gcd(e,n)



print("d:",d)
print(f"Окрытый ключ {e,n}")
print(f"Закрытый ключ {d,n}")

c = (4051753**d) % n

print("Зашифрованное сообщение:",c)

Подскажите, как написать алгоритм для нахождения зашифрованного сообщения на языке Python. Думал сначала: c = (4051753**d) % n Выдаёт ответ: 5781 Хотя должен выдавать: 111111


Ответы (0 шт):