The RSA public key:
pubkey = \'MIGfMA0GCSqGSIb3DQEBA3UAA4GNADCBiQKBgQC35eMaYoJXEoJt5HxarHkzDBEMU3qIWE0HSQ77CwP/8UbX07W2XKwngUyY4k6Hl2M/n9TOZMZsiBzer/fqV+QNPN1m9M94eU
The method I ended up using based on a few answers here:
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5 as Cipher_PKCS1_v1_5
def encrypt_data(data):
with open("/path/to/public.pem", "rb") as k:
key = RSA.importKey(k.read())
cipher = Cipher_PKCS1_v1_5.new(key)
return cipher.encrypt(data.encode())
def decrypt_data(data):
with open("path/to/private.pem", "rb") as k:
key = RSA.importKey(k.read())
decipher = Cipher_PKCS1_v1_5.new(key)
return decipher.decrypt(data, None).decode()
message = "hello world!"
encrypted = encrypt_data(message)
decrypted = decrypt_data(message)