Вы пытаетесь зашифровать ключ сеанса / сообщения для симметричного шифрования, используя открытый ключ получателя? В таких случаях было бы проще использовать, скажем, SSH или TLS.
Вернуться к вашему вопросу:
Me Too Crypto (M2Crypto) - хорошая оболочка для openssl.
Для начала вам нужно получить открытый ключ получателя:
recip = M2Crypto.RSA.load_pub_key(open('recipient_public_key.pem','rb').read())
Теперь вы можете зашифровать ваше сообщение:
plaintext = random_integer_you_want_to_encrypt
msg = recip.public_encrypt(plaintext,RSA.pkcs1_padding)
Теперь только кто-то, имеющий закрытый ключ получателя, может его расшифровать.