AES-256-CBC Encryption Algorithm
AES-256-CBC (Cipher Block Chaining), the algorithm used to encrypt user data, is a standard cipher implemented by the United States government and other government agencies around the world to protect classified data. With proper implementation and a sufficiently strong Encryption Key (derived from the user’s Master Password), the AES-256-CBC algorithm is considered unbreakable. AES-256-CBC is an encryption system that uses the AES specification, a 256-bit key , and operates in CBC mode. The input data is padded and divided into fixed-length blocks , where
- For block , perform an operation with and the initialization vector :
- Encrypt the result from step 1 using with key :
- From block onward, is -ed with the encrypted result of the previous block:
- The encrypted blocks are concatenated to form the final encrypted data:

- Decrypt block using with key :
- Perform an operation with and the initialization vector to recover the original data block :
- From block onward, is -ed with the decrypted data of the previous block:
- The decrypted data blocks are concatenated to reconstruct the original data: