INTRODUCTION
AES256 is symmetric key algorithm i.e., same Key is used for both encryption and decryption process.
AES256 is a 256 bits encryption/decryption algorithm that encrypts a plain text into a human unreadable format using an encryption key (Key 256 bits) and initialization vector (IV 128 bits). The Key size should be 256 bits and block size should be 128 bits. It uses Cipher Block Chaining (CBC) mode which introduces feedback. Before each plain text block is encrypted, it is combined with the cipher text of the previous block by a bitwise exclusive OR operation. This ensures that if the plain text contains many identical blocks, they will each encrypt to different cipher text block. The initialization vector (IV) is combined with the plain text block by a bitwise exclusive OR operation before the block is encrypted. If a single bit of a cipher text block is mangled, the corresponding plain text block will also be mangled. The padding mode used is PKCS7 i.e., Public Key Cryptography Standards 7 which consists of a sequence of bytes, each of which is equal to the total number of padding bytes added.