Data Encryption | AES-256
encoding / encryption Data Encryption
Encrypt and decrypt text with AES, Triple DES, RSA-OAEP, and several other ciphers, with control over the block mode and padding scheme. Useful for protecting a note, testing how a cipher behaves, or checking that two systems agree on the same parameters. Everything runs in your browser — your text and your keys are never transmitted.
Supported algorithms
AES is standardised as FIPS 197; the block modes it runs in come from NIST SP 800-38A. The older ciphers are included because real systems still emit them and something has to read that output, not because they are advisable for new work.
| Algorithm | Kind | Definition |
|---|---|---|
| AES-128 | Block cipher | AES-128 is the Advanced Encryption Standard with a 128-bit key: a widely used symmetric encryption algorithm designed to securely encrypt data. It is part of the AES family, which also includes AES-192 and AES-256, with the number referring to the key length in bits. |
| AES-192 | Block cipher | AES-192 is the Advanced Encryption Standard with a 192-bit key, a symmetric encryption algorithm that is part of the AES family of encryption standards, which also includes AES-128 and AES-256. |
| AES-256 | Block cipher | AES-256 is the Advanced Encryption Standard with a 256-bit key: the most secure variant of the AES encryption family, widely used for encrypting sensitive data. |
| DES | Block cipher | DES, the Data Encryption Standard, is an older symmetric encryption algorithm that was widely used for securing digital data, but is now considered obsolete due to its vulnerability to modern computing power. |
| TDES-112 | Block cipher | TDES-112 is the Triple Data Encryption Standard with a 112-bit key: an enhanced version of the original DES encryption algorithm, designed to improve security by applying the DES algorithm three times with different keys. |
| TDES-168 | Block cipher | TDES-168 is the Triple Data Encryption Standard with a 168-bit key: a more secure variant of the TDES encryption algorithm, offering stronger encryption than TDES 112 by using a 168-bit key (three separate 56-bit DES keys). |
| RABBIT | Stream cipher | Rabbit is a stream cipher designed for high-speed encryption, developed by the EU's eSTREAM project as part of its effort to find new and efficient encryption algorithms. |
| RC4 | Stream cipher | RC4, or Rivest Cipher 4, is a widely used stream cipher developed by Ron Rivest in 1987. It became popular due to its simplicity, speed, and ease of implementation. RC4 encrypts data one byte at a time and uses a variable-length key, typically ranging from 40 bits to 2048 bits. |
| RC4-DROP | Stream cipher | RC4-DROP is a technique used to mitigate some of the weaknesses in the original RC4 stream cipher. Specifically, it involves discarding a number of initial keystream bytes generated by the key scheduling algorithm (KSA) before starting the actual encryption process. The "DROP" refers to dropping or ignoring the first few bytes of the keystream, which helps reduce certain biases and vulnerabilities present in the early part of the stream. |
| RSA-OAEP | Asymmetric cipher | RSA-OAEP is Rivest-Shamir-Adleman with Optimal Asymmetric Encryption Padding: an enhanced version of the RSA encryption algorithm that includes a secure padding scheme to improve its security. OAEP is used to prevent various attacks, such as chosen-plaintext attacks, by adding randomness and structure to the plaintext before encryption. |
AES-128
- General-purpose encryption
- AES-128 is commonly used in a wide range of applications such as VPNs, file encryption, secure communications, and data protection.
AES-192
- Middle-ground security
- AES-192 is used in scenarios where a higher level of encryption is needed than AES-128 but without the computational cost of AES-256.
- High-security applications
- It is used in high-security applications like secure communications, data encryption and network security protocols.
AES-256
- High-security applications
- AES-256 is commonly used in high-security applications, such as military communications, government data protection, financial institutions, cloud storage encryption, and VPNs.
DES
- Historical use
- DES was historically used in financial transactions, government communications, and data storage systems. However, it has been largely replaced by more secure algorithms like AES.
TDES-112
- Legacy financial systems
- TDES 112 is used in legacy systems, especially in financial applications (e.g., ATM transactions, point-of-sale systems), where backward compatibility with DES is needed but enhanced security is required.
TDES-168
- Banking and card data
- TDES 168 is used in financial systems, legacy applications, and banking, especially for encrypting card data, ATM transactions and secure communications that need higher security than DES, but cannot yet migrate to AES.
RABBIT
- High-throughput encryption
- Rabbit is used in applications that require fast encryption and decryption of large amounts of data, like VPNs, wireless communications, and file encryption.
RC4
- Historical use
- RC4 was historically used in SSL/TLS for encrypting web traffic, WEP (Wired Equivalent Privacy) for wireless security, and Microsoft's RDP (Remote Desktop Protocol).
RC4-DROP
- Hardening existing RC4 deployments
- RC4 DROP is used in systems that still rely on RC4 but want to mitigate some of its known weaknesses.
- Legacy protocols
- It is sometimes applied in protocols like TLS or WEP (Wireless Encryption Protocol), although RC4 itself is now considered obsolete and insecure.
RSA-OAEP
- Hybrid encryption
- RSA with OAEP is used in modern cryptographic systems to provide enhanced security when encrypting small amounts of data, like symmetric encryption keys in hybrid encryption schemes.
- Secure communication protocols
- It is widely used in SSL/TLS for secure web communications, email encryption, and cryptographic protocols.
How your passphrase becomes a key
It also explains an interoperability detail that otherwise looks like a bug: output from this tool decrypts with openssl enc and with other CryptoJS-based tools, but not with a library expecting PBKDF2, even given the same passphrase and cipher. The ciphertext is fine; the key derived from the passphrase differs.
Encryption is not encoding
Encryption transforms data so that it cannot be read without the correct key. That is what separates it from encoding: Base64 and URL encoding are public, keyless transformations that anyone can reverse instantly, and they provide no confidentiality at all. If you only need to make data safe to transmit as text, use the encoding tool instead.
The security of everything on this page rests entirely on the key. The algorithms are public and well documented — that is a feature, not a weakness. A cipher whose security depends on nobody knowing how it works has never held up in practice.
Symmetric and asymmetric
Symmetric ciphers
AES, DES, Triple DES, RC4, and Rabbit all use one key for both encryption and decryption. They are fast and handle data of any size, which makes them the workhorses of practical encryption. The difficulty is distribution: both parties need the same secret, and getting it to the other side securely is its own problem.
Asymmetric ciphers
RSA-OAEP uses a key pair — a public key that encrypts and a private key that decrypts. Anyone can encrypt a message to you using your public key, and only you can read it. That solves key distribution, but it is far slower and can only encrypt data smaller than the key size.
Real systems use both. TLS, the protocol securing this page, uses asymmetric cryptography to agree on a symmetric key, then switches to a symmetric cipher for the actual traffic. This is called hybrid encryption, and it takes the key-distribution advantage of one with the speed of the other.
Which algorithm to choose
- AES-256— the default recommendation. It is the current standard, has withstood two decades of analysis, and is used everywhere from disk encryption to government classified material.
- AES-128 and AES-192— also secure. AES-128 remains well beyond brute-force reach; the larger key sizes provide margin rather than fixing any known weakness.
- Triple DES— legacy, and formally so: NIST SP 800-131Ar2 disallowed it for new encryption after 2023. It survives in older financial systems, but it is slow, and its 64-bit block makes a collision likely after about 32 GB under one key — the Sweet32 attack — which is a real limit rather than a theoretical one.
- DES— broken. Its 56-bit key was brute-forced in the late 1990s and can now be exhausted quickly. Present here for interoperability with old data, not for protecting anything.
- RC4— deprecated. Statistical biases in its output led to practical attacks, and it has been prohibited in TLS since 2015.
- RSA-OAEP— the right choice for encrypting a small value, such as a symmetric key or a short credential, to a recipient's public key.
Block modes
A block cipher encrypts fixed-size blocks, so the mode determines how successive blocks relate to each other. This choice matters as much as the algorithm; all five below are specified in NIST SP 800-38A.
- CBC— each block is combined with the previous ciphertext block before encryption, so identical plaintext blocks produce different output. The common default.
- CFB and OFB— turn a block cipher into a stream cipher, allowing encryption of data that is not a whole number of blocks.
- CTR— encrypts a counter and combines the result with the plaintext. Parallelizable and widely used in modern protocols. CTR Gladman is a variant implementation.
- ECB— encrypts each block independently, with no chaining. This is its weakness: identical plaintext blocks give identical ciphertext, so structure in the original data survives into the output. It should be avoided for anything real.
Padding
Block ciphers need input that fills a whole number of blocks, so shorter data is padded. PKCS7 is the standard choice and is what most systems expect. ANSI X9.23, ISO 10126, and ISO 97971 are alternatives specified by other standards.
Zero padding cannot be unambiguously removed if the data legitimately ends in zero bytes, and "none" requires input that already fills the block exactly. Both are for specific interoperability cases rather than general use.
Common uses
- Protecting a note or credential— encrypt text before storing it somewhere you do not fully trust.
- Testing interoperability— confirm that two systems agree on algorithm, mode, and padding.
- Learning how ciphers behave— see directly how changing the mode or padding changes the output.
- Decrypting legacy data— read values produced by older systems that used DES or Triple DES.
- Verifying an implementation— check output against a known-good reference before shipping code.
Practical cautions
- The key is everything.A weak or guessable key defeats any algorithm. Use a long random key — the password generator will produce one.
- Lose the key, lose the data.There is no recovery mechanism. This is the point of encryption, and it cuts both ways.
- Encryption alone does not prove authenticity.These modes protect confidentiality but do not detect tampering. Modern protocols use authenticated encryption, such as AES-GCM, to cover both.
- Match every parameter.Decryption requires the same algorithm, key, mode, and padding. Mismatched settings produce failure or nonsense rather than a helpful error.
- For serious needs, use a vetted tool.A password manager or full-disk encryption handles key management, authentication, and secure storage — concerns beyond what any single-purpose page can address.
Frequently asked questions
Is my data or key sent to a server?
Which algorithm should I use?
Why is DES still offered if it is broken?
Can AES-256 be broken?
Why does the same input give different output each time?
What if decryption returns nothing useful?
Standards and references
- FIPS 197 Advanced Encryption Standard (AES) 2001
- NIST SP 800-38A Recommendation for Block Cipher Modes of Operation: Methods and Techniques 2001
- NIST SP 800-38D Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) 2007
- RFC 8018 PKCS #5: Password-Based Cryptography Specification Version 2.1 2017
- NIST SP 800-131Ar2 Transitioning the Use of Cryptographic Algorithms and Key Lengths 2019