Lua Requires Chilkat v11.0.0+
Lua
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 Lua Downloads
local chilkat = require("chilkat")
-- 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.
local pubKey = chilkat.PublicKey.new()
-- In all Chilkat methods expecting a path, you pass either absolute or relative paths.
local success = pubKey:load_from_file("rsaKeys/Test2048Rsa.pem")
if not success then
print(pubKey.last_error_text)
return
end
local rsa = chilkat.Rsa.new()
-- Tell RSA to use the public key.
rsa:use_public_key(pubKey)
-- Generate a random 256-bit AES key (32 bytes)
local bdAesKey = chilkat.BinData.new()
local prng = chilkat.Prng.new()
prng:gen_random_bd(32, bdAesKey)
-- RSA encrypt.
rsa:encrypt_bd(bdAesKey, false)
-- Save the RSA encrypted AES key to a file.
success = bdAesKey:write_file("rsaEncrypted/myAes.key")