Я использую pycryptodomex для шифрования RSA, дешифрования. Я следую этой статье
from Cryptodome.PublicKey import RSA
from Cryptodome.Cipher import AES, PKCS1_OAEP
file_in = open("encrypted_data.bin", "rb")
private_key = RSA.import_key(open("private.pem").read())
enc_session_key, nonce, tag, ciphertext = \
[ file_in.read(x) for x in (private_key.size_in_bytes(), 16, 16, -1) ]
# Decrypt the session key with the public RSA key
cipher_rsa = PKCS1_OAEP.new(private_key)
session_key = cipher_rsa.decrypt(enc_session_key)
# Decrypt the data with the AES session key
cipher_aes = AES.new(session_key, AES.MODE_EAX, nonce)
data = cipher.decrypt_and_verify(ciphertext, tag)
Отображается следующая ошибка
ValueError Traceback (последний последний вызов) в 11 # Расшифруйте ключ сеанса с помощью publi c ключ RSA 12 cipher_rsa = PKCS1_OAEP.new (private_key) ---> 13 session_key = cipher_rsa.decrypt (enc_session_key) 14 15 # Расшифровать данные с помощью ключа сеанса AES
C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ Cryptodome \ Cipher \ PKCS1_OAEP.py в расшифровке (self, ciphertext) 165 # Шаг 1b и 1c 166, если len (зашифрованный текст)! = K или k 167 повышают ValueError («зашифрованный текст с неверной длиной» . ") 168 # Шаг 2a (O2SIP) 169 ct_int = bytes_to_long (зашифрованный текст)
ValueError: зашифрованный текст с неверной длиной.
Есть ли проблемы в коде?