Размер простых чисел и сообщения в RSA - PullRequest
0 голосов
/ 14 июля 2020

Я играю с исходным кодом игрушки RSA. Я заметил, что при сохранении размера простых чисел p и q фиксированным, если размер сообщения изменяется, то расшифрованный текст изменяется. Если размер сообщения превышает определенные значения, я не могу получить исходный открытый текст после расшифровки. Поэтому, пожалуйста, подскажите, каковы ограничения на значения p, q и размер сообщения. Значит, учитывая ap и q, следует ли выбирать открытый текст определенного размера? Пример исходного кода:

# Write Python3 code here 
from decimal import Decimal


def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a % b)


p = int(input('Enter the value of p = '))
q = int(input('Enter the value of q = '))
no = int(input('Enter the value of text = '))
n = p * q
t = (p - 1) * (q - 1)

for e in range(2, t):
    if gcd(e, t) == 1:
        break

for i in range(1, 10):
    x = 1 + i * t
    if x % e == 0:
        d = int(x / e)
        break
print('pvt key= ', d)

ct = pow(no,e,n)

dt = pow(ct,d,n)

print('n = ' + str(n) + ' e = ' + str(e) + ' t = ' + str(t) + ' d = ' + str(d) + ' cipher text = ' + str(ct) + ' decrypted text = ' + str(dt))
...