Skip to main content
Technical Systems

AES-128 vs AES-256: Is the Extra Key Length Worth It?

More bits are not always the bottleneck.

Compare AES-128 and AES-256 encryption, understand the security differences, performance trade-offs, and when the additional key length of AES-256 actually matters.

AES-128 vs AES-256: Is the Extra Key Length Worth It?

AES-256 is often marketed as the strongest encryption available.

Cloud providers advertise it. VPN services promote it. Password managers highlight it. Security documentation frequently recommends it.

This creates a natural assumption:

If AES-256 is available, why would anyone use AES-128?

The answer is more complicated than many people expect.

Both AES-128 and AES-256 are considered extremely secure. In practice, most organisations are far more likely to experience security breaches caused by stolen credentials, software vulnerabilities, misconfigurations, or phishing attacks than weaknesses in either encryption standard.

Understanding the differences requires looking beyond marketing claims and examining how AES actually works.

What Is AES?

AES stands for Advanced Encryption Standard.

It is a symmetric encryption algorithm used to protect data.

“Symmetric” means the same key is used for both encryption and decryption.

AES is used in:

  • HTTPS
  • VPNs
  • Wi-Fi security
  • Cloud storage
  • Password managers
  • Database encryption
  • File encryption tools
  • Messaging applications

The algorithm was selected by the U.S. National Institute of Standards and Technology (NIST) in 2001 after a multi-year public competition.

Today it is considered the global standard for symmetric encryption.

What Is the Difference Between AES-128 and AES-256?

The primary difference is key size.

AlgorithmKey Length
AES-128128 bits
AES-192192 bits
AES-256256 bits

The longer the key, the more possible combinations an attacker must try during a brute-force attack.

AES-256 has significantly more possible keys than AES-128.

The numbers involved are difficult to comprehend.

AES-128 Key Space

2^128

Approximately:

340,282,366,920,938,463,463,374,607,431,768,211,456

possible keys.

AES-256 Key Space

2^256

Approximately:

115,792,089,237,316,195,423,570,985,008,687,907,853,
269,984,665,640,564,039,457,584,007,913,129,639,936

possible keys.

Both numbers are astronomically large.

How AES Works

AES encrypts data using repeated rounds of transformations.

Each round applies mathematical operations that make the original data increasingly difficult to recover without the correct key.

The number of rounds depends on the key length.

AlgorithmRounds
AES-12810
AES-19212
AES-25614

AES-256 performs more rounds than AES-128.

This contributes to its increased security but also slightly increases computational requirements.

Is AES-128 Still Secure?

Yes.

AES-128 remains extremely secure.

No practical attack currently exists that can brute-force AES-128 using modern computing technology.

Even with enormous computational resources, breaking AES-128 through brute force would take an unrealistic amount of time.

For most applications, AES-128 provides security well beyond what is necessary.

This is why AES-128 continues to be widely used in:

  • TLS connections
  • Wi-Fi encryption
  • Enterprise applications
  • Secure communications

The idea that AES-128 is somehow weak is a misconception.

Why Does AES-256 Exist?

AES-256 was designed to provide a larger security margin.

The goal was not necessarily to solve a current weakness but to provide stronger protection against future advances in computing and cryptanalysis.

Organisations handling highly sensitive information often prefer AES-256 because it offers greater resistance against theoretical future attacks.

Examples include:

  • Government agencies
  • Military systems
  • Intelligence organisations
  • Financial institutions
  • Critical infrastructure providers

For these environments, additional security margin can be valuable.

AES-128 vs AES-256 Security Comparison

Both algorithms are considered secure.

The real question is how much security difference exists in practice.

FactorAES-128AES-256
Key Size128-bit256-bit
Rounds1014
Brute Force ResistanceExtremely highEven higher
PerformanceFasterSlightly slower
Security MarginVery largeLarger
Government UseCommonCommon
Future-ProofingStrongStronger

For most threat models, both exceed practical security requirements.

What About Quantum Computing?

Quantum computing is often cited when discussing AES-256.

The reason involves Grover’s Algorithm.

In theory, a sufficiently powerful quantum computer could reduce the effective security of symmetric encryption.

Under this model:

AlgorithmApproximate Quantum Security
AES-128~64 bits
AES-256~128 bits

This is one reason security professionals often recommend AES-256 for long-term protection requirements.

However, large-scale quantum computers capable of attacking AES encryption do not currently exist.

For today’s systems, quantum attacks remain largely theoretical.

Performance Differences

AES-128 generally performs slightly faster than AES-256.

The difference exists because:

  • Fewer rounds are executed
  • Less key expansion is required
  • Less computational work occurs during encryption

In modern hardware, the difference is often small.

Many CPUs include AES acceleration instructions that make both algorithms extremely fast.

However, at massive scale, performance differences can still matter.

Examples include:

  • High-volume databases
  • Cloud storage systems
  • Large-scale VPN services
  • Data centres processing enormous workloads

For these systems, AES-128 may offer measurable efficiency advantages, but the final decision should still be made against the surrounding data-protection strategy.

Why Many Systems Default to AES-256

If AES-128 is already secure, why do many products default to AES-256?

Several reasons contribute.

Marketing Simplicity

AES-256 sounds stronger.

Customers naturally associate larger numbers with better security.

Compliance Requirements

Certain standards and regulatory environments explicitly recommend or require AES-256.

Future-Proofing

Some organisations encrypt data that must remain secure for decades.

AES-256 provides a larger margin against future technological advances.

Minimal Performance Impact

Modern hardware often reduces the practical cost of AES-256.

When performance differences are negligible, organisations may simply choose the larger key size.

Real-World Security Problems Rarely Involve AES

One of the most important points often overlooked in encryption discussions is that encryption itself is rarely the weakest link.

Most security incidents occur because of problems elsewhere in the system, including the password and authentication failures discussed in password entropy:

  • Weak passwords
  • Credential theft
  • Phishing attacks
  • Vulnerable software
  • Misconfigured systems
  • Insecure APIs
  • Excessive permissions

Switching from AES-128 to AES-256 will not protect against these issues.

An organisation using AES-256 with poor access controls is still vulnerable.

When Should You Use AES-128?

AES-128 is often appropriate when:

  • Performance is important
  • Data has a limited lifespan
  • Compliance requirements do not mandate AES-256
  • Existing systems already use AES-128

Many modern systems continue to rely on AES-128 successfully.

When Should You Use AES-256?

AES-256 is often preferred when:

  • Long-term confidentiality matters
  • Regulatory requirements specify it
  • Highly sensitive data is involved
  • Future-proofing is a priority
  • Government or defence workloads are involved

In these situations, the additional security margin may justify the larger key size.

Is AES-256 Always Better?

Not necessarily.

AES-256 provides stronger theoretical security.

However, stronger encryption does not automatically translate into better overall security.

A system using AES-128 with strong authentication, secure software development practices, and effective access controls will usually be safer than a poorly designed system using AES-256.

Encryption is only one part of a larger security strategy, and it does not replace integrity checks such as checksums or trust chains such as certificates.

Does AES-256 Have a Weaker Key Schedule?

AES does not use the original encryption key directly in every round.

Instead, it uses a key schedule, also called key expansion, to derive a different round key for each stage of encryption. AES-128 generates 11 round keys, while AES-256 generates 15 because it performs more rounds and begins with a larger key.

The AES-256 key schedule is therefore larger and somewhat more complex. However, its structure has also attracted additional cryptanalysis.

In 2009, researchers published related-key attacks against full AES-192 and AES-256. These attacks examine an unusual scenario in which an attacker can observe encryptions performed under several keys with specific mathematical relationships.

This does not mean that AES-256 is practically broken.

Related-key attacks depend on conditions that correctly designed systems should not provide. Applications normally generate independent random keys and do not allow attackers to choose predictable relationships between them. The published attacks also require computational resources and access models that do not apply to ordinary AES deployments.

The practical conclusion is not that AES-128 is stronger than AES-256. It is that a larger key does not make every internal component automatically simpler or immune to theoretical analysis.

AES-256 remains approved by NIST and widely used for protecting highly sensitive information. The history of its key-schedule cryptanalysis is primarily relevant to cryptographers and protocol designers rather than normal application users.

For further detail, see:

Hardware Acceleration and AES Performance

The performance difference between AES-128 and AES-256 is partly caused by their number of rounds.

AES-128 performs 10 rounds, while AES-256 performs 14. In a software-only implementation, those additional rounds require more work.

Modern processors can reduce that cost substantially.

Many Intel and AMD processors support AES-NI, a set of processor instructions designed to accelerate AES encryption, decryption and key expansion. Many ARM processors provide similar acceleration through the ARM Cryptography Extensions.

These instructions allow the processor to perform important AES operations directly in hardware rather than reproducing them through longer sequences of general-purpose instructions.

As a result, both AES-128 and AES-256 can achieve high throughput on supported hardware. The difference between them is often small compared with the cost of:

  • Reading data from storage
  • Transferring data over a network
  • Performing authentication
  • Processing application logic
  • Communicating with a remote key-management service

This does not mean the performance difference is always zero.

AES-128 can still provide higher throughput or lower power consumption in workloads that encrypt enormous amounts of data. The difference may also matter on older processors, embedded devices or systems without hardware acceleration.

For most desktop, server and mobile applications, however, performance should be measured rather than assumed. Choosing AES-128 solely because it is theoretically faster may provide no noticeable improvement in the complete system.

Processor documentation:

Why the AES Mode Can Matter More Than Key Length

AES is a block cipher. It encrypts fixed-size 128-bit blocks, but it does not by itself define how an entire file, disk or network message should be protected.

That behaviour is determined by a mode of operation.

Common AES modes include:

ModeTypical UseImportant Characteristic
GCMNetwork traffic, APIs and application dataProvides encryption and authentication
CBCOlder protocols and legacy applicationsRequires separate integrity protection and careful padding
XTSDisk and storage encryptionDesigned for storage sectors, not general messages
CTRHigh-performance data encryptionRequires a unique counter and separate authentication
CCMEmbedded and wireless systemsProvides authenticated encryption

AES-GCM

Galois/Counter Mode provides both confidentiality and integrity.

In addition to hiding the plaintext, it generates an authentication tag that can detect unauthorised changes. This makes GCM an example of authenticated encryption, where confidentiality and tamper detection belong together rather than being treated as separate afterthoughts.

GCM requires every nonce, sometimes called an IV, to be unique under the same key. Reusing a nonce can seriously compromise security, even when AES-256 is used.

AES-CBC

Cipher Block Chaining was widely used in older systems.

CBC can still be secure when implemented correctly, but it does not provide integrity by itself. It normally needs a separate message authentication mechanism and careful handling of padding, IVs and error responses.

A poorly designed AES-256-CBC implementation may therefore be less secure than a correctly implemented AES-128-GCM system.

AES-XTS

XTS is designed for encrypting storage devices and disk sectors.

It helps prevent identical plaintext blocks stored in different sector positions from producing identical ciphertext. However, XTS does not provide general-purpose message authentication and should not be treated as a replacement for GCM in network protocols or APIs.

Mode Selection in Practice

The mode determines properties such as:

  • Whether tampering can be detected
  • How nonces or IVs must be generated
  • Whether operations can run in parallel
  • Whether the construction is suitable for disks or messages
  • What happens if data is modified or truncated

For that reason, choosing a suitable authenticated mode and managing its nonces correctly often matters more than choosing between a 128-bit and 256-bit AES key.

Official mode specifications include:

How Major Platforms Use AES-128 and AES-256

Real systems do not all choose the same AES key length or mode.

Their decisions depend on the type of data being protected, compatibility requirements, hardware support and the surrounding security design.

Microsoft BitLocker

BitLocker supports AES with 128-bit or 256-bit keys in CBC or XTS mode.

On current Windows device-encryption configurations, the default is generally XTS-AES-128. Administrators can select XTS-AES-256 through policy when their security or compliance requirements call for it.

Microsoft’s choice demonstrates that AES-128 remains suitable for protecting modern Windows storage. BitLocker’s overall security also depends on factors such as the Trusted Platform Module, recovery-key handling and device authentication.

TLS 1.3

TLS 1.3 supports cipher suites based on both AES-128-GCM and AES-256-GCM.

Two standard examples are:

TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384

TLS does not simply select the cipher with the largest number. The client and server negotiate a mutually supported suite according to their configuration and implementation.

Both AES options are standard TLS 1.3 choices. ChaCha20-Poly1305 is also available and may perform better on devices without fast AES hardware.

AWS Key Management Service

The default symmetric AWS KMS key specification uses AES-256-GCM.

AWS KMS performs symmetric cryptographic operations inside hardware security modules. In many AWS services, KMS protects or generates data-encryption keys rather than directly encrypting every large object.

This is an example of envelope encryption: a protected master key secures shorter-lived data keys, while those data keys encrypt the application data.

iPhone and iPad

Apple’s Data Protection system creates a new 256-bit per-file key when a file is created.

On recent Apple hardware, file encryption uses AES-256 in XTS mode with dedicated hardware support. The design also incorporates file protection classes, device-specific hardware keys and the Secure Enclave.

The strength of the system therefore comes from more than the AES key length alone.

Android

The standard Android Open Source Project file-based encryption configuration uses:

  • AES-256-XTS for file contents
  • AES-256-CBC-CTS for file names

Android can also use Adiantum on devices where AES hardware acceleration is unavailable or unsuitable.

As with Apple devices, Android’s security depends on key derivation, hardware-backed key protection, user authentication and filesystem design in addition to the cipher itself.

OpenSSL

OpenSSL supports both AES-128 and AES-256 across TLS and its general cryptographic APIs.

For TLS 1.3, applications commonly enable the standard AES-128-GCM and AES-256-GCM suites alongside ChaCha20-Poly1305. The final cipher depends on the OpenSSL version, application configuration, peer support and negotiation order.

OpenSSL therefore does not establish a universal rule that AES-256 must always replace AES-128. It provides secure options for both key lengths and leaves the protocol or application to choose appropriately.

What Does NIST Recommend?

NIST defines AES in FIPS 197.

The standard specifies three permitted key lengths:

  • AES-128
  • AES-192
  • AES-256

NIST does not describe AES-128 as obsolete or insecure. All three remain part of the AES standard.

NIST publishes separate documents for modes of operation and cryptographic key management. This distinction is important because selecting AES-256 does not, by itself, ensure that an implementation is secure.

A deployment must also address:

  • Approved modes of operation
  • Secure random-key generation
  • Nonce and IV requirements
  • Key storage
  • Key rotation
  • Authentication
  • Cryptographic module validation
  • Appropriate security strength for the required protection period

Useful NIST documents include:

Compliance requirements should be checked separately. A regulation, customer contract or organisational policy may require AES-256 even when AES-128 would provide sufficient technical security.

Which Should You Choose?

flowchart TD
    A[Do regulations or customer requirements mandate AES-256?] -->|Yes| B[Use AES-256]
    A -->|No| C[Must the data remain confidential for decades?]
    C -->|Yes| B
    C -->|No| D[Is this an existing secure AES-128 system?]
    D -->|Yes| E[Keep AES-128 unless there is another reason to migrate]
    D -->|No| F[Does performance or power usage matter at very high scale?]
    F -->|Yes| G[Benchmark AES-128 and AES-256 on the target hardware]
    F -->|No| H[Use the secure default provided by the platform]
    G --> I{Is AES-256 overhead material?}
    I -->|Yes| J[Use AES-128 if permitted by the threat model]
    I -->|No| B
    B --> K[Use an appropriate authenticated mode and protect the keys]
    E --> K
    H --> K
    J --> K

A practical rule is:

  • Choose AES-256 when it is required, when long-term confidentiality is especially important or when its overhead is negligible.
  • Choose AES-128 when it is the platform’s secure default, when performance matters or when an existing implementation already uses it correctly.
  • In both cases, prefer a well-reviewed library and an appropriate mode rather than implementing AES directly.

Frequently Asked Questions

Is AES-128 less secure than AES-256?

AES-128 has a smaller key space and therefore a smaller theoretical security margin.

However, no practical brute-force attack against correctly implemented AES-128 is currently known. For most modern applications, its security margin remains extremely large.

Is AES-128 crackable?

AES-128 is theoretically crackable because a finite number of keys exist.

In practice, exhaustively searching all (2^{128}) possible keys is beyond realistic computing capabilities. Attackers are much more likely to target passwords, key storage, application vulnerabilities or implementation mistakes.

Has AES-256 ever been broken?

Researchers have published theoretical and related-key attacks against AES-256.

These results do not provide a practical method for breaking ordinary AES-256 encryption. They depend on unusual assumptions, extremely large resource requirements or reduced-round variants that are not the complete standard algorithm.

Is AES-256 always better than AES-128?

No.

AES-256 provides a larger theoretical security margin, but it cannot correct weak key generation, nonce reuse, insecure modes, exposed credentials or poor access controls.

A properly implemented AES-128-GCM system can be safer than a badly implemented AES-256-CBC system.

Is AES-256 slower than AES-128?

Usually, yes, because AES-256 performs 14 rounds instead of 10.

The difference is often small on processors with AES hardware acceleration. It may still be measurable in high-throughput, power-constrained or software-only environments.

Does AES-256 protect against quantum computers?

AES-256 offers a larger margin against theoretical quantum search attacks.

Grover’s algorithm is often described as reducing the effective search strength of AES-256 to approximately 128 bits. However, this simplified comparison does not mean that a practical quantum attack against AES currently exists.

Which AES version is used by banks?

There is no single AES configuration used by every bank.

Financial institutions may use AES-128 or AES-256 depending on the system, protocol, hardware, vendor and compliance requirements. The surrounding controls—especially key management, authentication and monitoring—are at least as important as the selected key length.

Does TLS use AES-128 or AES-256?

TLS can use either.

TLS 1.3 defines standard cipher suites for AES-128-GCM and AES-256-GCM. The client and server negotiate a mutually supported suite during the connection.

Should password managers use AES-256?

AES-256 is common in password managers, but key derivation and vault design are usually more important than the difference between AES-128 and AES-256.

A strong password manager should use a suitable password-based key derivation function, authenticated encryption, secure random values and careful key handling.

Is AES-GCM better than AES-CBC?

For new general-purpose applications, AES-GCM is often the more appropriate choice because it provides authenticated encryption.

CBC can still be secure when combined with a correct authentication mechanism, but it is easier to misuse. Existing protocols should not be modified without understanding their complete design.

Can I change an existing system from AES-128 to AES-256?

Usually, but migration may require re-encrypting existing data, rotating keys, updating configuration and confirming compatibility across every component.

A migration should be justified by a real requirement. Changing key length without addressing key storage, access controls and implementation quality may provide little practical benefit.

The platform examples are deliberately framed as current implementations rather than permanent guarantees, since defaults can change between software and hardware versions.

Conclusion

AES-128 and AES-256 are both exceptionally strong encryption algorithms that remain trusted throughout the technology industry.

AES-256 provides a larger key size, additional encryption rounds, and a greater security margin against future threats. AES-128 offers excellent security while delivering slightly better performance.

For most applications, either option provides more than enough protection against real-world attacks; the larger failures usually come from misused systems, weak credentials, or operational gaps.

The decision often comes down to compliance requirements, long-term security needs, and organisational risk tolerance rather than any immediate weakness in AES-128 itself.

In practice, most organisations will gain far more security by improving authentication, access controls, patching, and monitoring than by worrying about whether AES-128 or AES-256 is being used.