Расшифровать шифрограмму RSA

Дана шифрограмма: 00F40114012D0134011400FF00C000C900ED0114012D00D600C000DD014900ED00E9013200E900C000ED011D012D00EF012D00C200DD00C000E900EF00ED011D .

Шифрограмма представлена в виде кодов ASCII в 16-ричном формате разрядностью 2 байта (четыре 16-чных цифры).

Параметры RSA известны p=13 q=11 e=7

Необходимо расшифровать и получить связный текст.

Задание сформулировано верно.

Пытался решить на Python.

'''

text_rsa='00F40114012D0134011400FF00C000C900ED0114012D00D600C000DD014900ED00E9013200E900C000ED011D012D00EF012D00C200DD00C000E900EF00ED011D'

split_text_rsa=[text_rsa[i:i + 4] for i in range(0, len(text_rsa), 4)]

ciphertext=[]

for val in split_text_rsa:
  ciphertext.append(int(val, 16))

def modinv(a, m):
    m0, x0, x1 = m, 0, 1
    while a > 1:
        q = a // m
        m, a = a % m, m
        x0, x1 = x1 - q * x0, x0
    return x1 + m0 if x1 < 0 else x1

p = 13
q = 11
e = 7

n = p * q
phi = (p - 1) * (q - 1)
d = modinv(e, phi)
print(d)
for val in ciphertext:
    decrypted_code = pow(val, d, n)
    print(alphabet[decrypted_code])

'''

Ничего не получается.

Помогите разобраться)


Алфавит -русские буквы от а до я, без ё, пробел зашифрован символом _. Всего 33 символа от 1 до 33


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