Sample code for 30+ languages & platforms
Chilkat2-Python

Generate a Random 256-bit AES Key and RSA Encrypt

See more RSA Examples

Generates a random 256-bit AES key and encrypts using an RSA public key. Only the owner of the RSA private key will be able to decrypt the AES key.

Chilkat Chilkat2-Python Downloads

Chilkat2-Python
import sys
import chilkat2

success = False

# The RSA public key is used for encryption, and the private key for decryption.

# The public key's role is to make encryption accessible to anyone while ensuring that
# only the private key holder can decrypt the messages.
# The public key is designed to be widely distributed so anyone can use it to encrypt messages
# intended for the owner of the private key.

# Load our 2048-bit RSA public key.
pubKey = chilkat2.PublicKey()
# In all Chilkat methods expecting a path, you pass either absolute or relative paths.
success = pubKey.LoadFromFile("rsaKeys/Test2048Rsa.pem")
if (success == False):
    print(pubKey.LastErrorText)
    sys.exit()

rsa = chilkat2.Rsa()

# Tell RSA to use the public key.
rsa.UsePublicKey(pubKey)

# Generate a random 256-bit AES key (32 bytes)
bdAesKey = chilkat2.BinData()
prng = chilkat2.Prng()
prng.GenRandomBd(32,bdAesKey)

# RSA encrypt.
rsa.EncryptBd(bdAesKey,False)

# Save the RSA encrypted AES key to a file.
success = bdAesKey.WriteFile("rsaEncrypted/myAes.key")