Chilkat2-Python
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
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")