AES, the Advanced Encryption Standard is the current U.S. government standard for a symmetric-key encryption algorithm. A symmetric-key algorithm, also known as a secret key algorithm, is a cryptography algorithm that uses the same cryptographic key for both plaintext encryption and ciphertext decryption.
AES has a block size of 128 bits and can have a key size of 128, 192, or 256 bits. AES is defined in the U.S. Federal Information Processing Standard (FIPS) 197 and it is included in the ISO/IEC 18033-3 standard. AES can be implemented in either software or hardware. Modern web browsers provide a low-level interface to cryptography functions via the W3C Web Cryptography API.
This web app uses a key size of 256 bits which is currently considered strong enough to protect U.S. government sensitive and important data. In this app, the key is generated from a passphrase by running it through the Password-Based Key Derivation Function 2 (PBKDF2, defined in IETF's RFC 2898) one million times.
AES in Galois/Counter Mode or GCM is an authenticated encryption algorithm (AEAD, authenticated encryption with associated data). It provides confidentiality and integrity protection by generating both the ciphertext and an authentication tag in a single pass. During decryption, the ciphertext and the authentication tag are passed through the algorithm. If the calculated and expected authentication tags do not match, decryption fails. Unlike the commonly used CBC mode, GCM is not susceptible to padding oracle attacks. Nor has it the problems of ECB mode, which can reveal structures in the plaintext.
The import or use of strong cryptography methods, such as 256 bit AES, is banned in some countries. The list of these countries includes Belarus, Brunei Darussalam, Iraq, Mongolia, Myanmar (Burma), North Korea, Russia, Tunisia, Turkmenistan, and Uzbekistan, but more countries might have been added or the situation might have changed in some of these countries. This is by no means a definitive list. Additionally in some countries, a special license is required.