AES Encryption/Decryption

Encrypt or decrypt data using the AES algorithm with various key sizes, modes, and options.

Key will be adjusted to fit the selected key size (256 bits)

If not provided, a random one will be generated for encryption