NotImplementedError: Utilice el módulo Crypto.Cipher.PKCS1_OAEP en su lugar error

Estoy tratando de cifrar RSA en Python. Así que tengo una clave pública / privada que se está generando, cifrando el mensaje usando la clave pública y escribiendo el texto cifrado en un archivo de texto. El código que estoy usando es el siguiente:

from Crypto.PublicKey import RSA from Crypto import Random import ast random_generator = Random.new().read key = RSA.generate(1024, random_generator) publickey = key.publickey() encrypted = publickey.encrypt('encrypt this message', 32) print('encrypted message:', encrypted) f = open('encryption.txt', 'w') f.write(str(encrypted)) f.close() f = open('encryption.txt', 'r') message = f.read() decrypted = key.decrypt(ast.literal_eval(str(encrypted))) print('decrypted', decrypted) f = open('encryption.txt', 'w') f.write(str(message)) f.write(str(decrypted)) f.close() 

Pero ahora cuando ejecuto la aplicación, aparece el siguiente error:

 Traceback (most recent call last): File "C:/Users/RedCode/PycharmProjects/AdvancedApps/Encryption/RSA Example.py", line 10, in  encrypted = publickey.encrypt('encrypt this message', 32) File "C:\Users\RedCode\AppData\Local\Programs\Python\Python36-32\lib\site-packages\Crypto\PublicKey\RSA.py", line 390, in encrypt raise NotImplementedError("Use module Crypto.Cipher.PKCS1_OAEP instead") NotImplementedError: Use module Crypto.Cipher.PKCS1_OAEP instead 

No importa cómo intente implementar Crypto.Cipher.PKCS1_OAEP , el error persiste. He intentado importar Crypto.Cipher.PKCS1_OAEP , from Crypto.Cipher.PKCS1_OAEP import RSA , from Crypto.Cipher.PKCS1_OAEP import Random , from Crypto.Cipher.PKCS1_OAEP import ast , e import Crypto.Cipher y ninguna de sus import Crypto.Cipher .

Intenté from Crypto.Cipher.PKCS1_OAEP import RSA pero luego el error fue:

 Traceback (most recent call last): File "C:/Users/RedCode/PycharmProjects/AdvancedApps/Encryption/RSA Example.py", line 3, in  from Crypto.Cipher.PKCS1_OAEP import RSA ImportError: cannot import name 'RSA' 

Revisé mis archivos y tengo el paquete RSA.

¿Cómo puedo corregir este problema?

Debe crear una instancia de PKCS1_OAEP utilizando nuevo y usarla para cifrar / descifrar su mensaje.

 from Crypto.Cipher import PKCS1_OAEP encryptor = PKCS1_OAEP.new(publickey) encrypted = encryptor.encrypt(b'encrypt this message') 

y lo mismo para descifrar

 decryptor = PKCS1_OAEP.new(key) decrypted = decryptor.decrypt(ast.literal_eval(str(encrypted)))