What a cipher suite tells you

A TLS cipher suite is a list of cryptographic algorithms used together. A typical TLS 1.2 cipher suite name looks like:

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

Decoded:

TLS 1.3 simplifies dramatically โ€” only AEAD cipher and hash, since key exchange and auth are negotiated separately:

TLS_AES_256_GCM_SHA384

Recommended modern cipher suites

Cipher SuiteTLSWhy
TLS_AES_128_GCM_SHA2561.3Mozilla "Modern" baseline. Fast on AES-NI hardware.
TLS_AES_256_GCM_SHA3841.3Stronger margin. Default for many TLS 1.3 servers.
TLS_CHACHA20_POLY1305_SHA2561.3Best for mobile / CPU without AES-NI.
ECDHE-ECDSA-AES128-GCM-SHA2561.2ECDSA cert โ€” smaller, faster handshake.
ECDHE-RSA-AES256-GCM-SHA3841.2Most common in production with RSA certs.
ECDHE-RSA-CHACHA20-POLY13051.2ChaCha20 alternative for mobile.

Avoid (deprecated or broken)

CipherProblem
Anything with RC4Broken โ€” biased keystream. Deprecated 2015.
Anything with DES or 3DESSweet32 attack practical.
Anything with EXPORT_Intentionally weakened. FREAK attack.
Anything with NULL_No encryption at all.
Anything with anon_No authentication. Vulnerable to MITM.
Anything with MD5Broken hash.
Static RSA key exchange (no DHE/ECDHE)No forward secrecy.

Components, in detail

Key exchange

AlgoStatusNotes
ECDHEโœ“ PreferredElliptic-curve DH, ephemeral. Forward secrecy.
DHEโœ“ OK (slower)Classical DH, ephemeral. Forward secrecy.
RSAโœ— AvoidStatic key exchange. No forward secrecy.
PSKNichePre-shared key. Used in IoT, TLS 1.3 session resumption.

Symmetric encryption

CipherStatusNotes
AES-GCM (128 or 256)โœ“ PreferredAEAD, hardware-accelerated.
ChaCha20-Poly1305โœ“ PreferredAEAD, fast without AES-NI (mobile).
AES-CBCOK in TLS 1.2+ onlyPadding oracle risk if not done carefully.
3DESโœ— BrokenSweet32. 112-bit effective.
RC4โœ— BrokenForbidden in modern TLS.
Rule of thumb

If you're configuring TLS today, copy Mozilla's Intermediate config from wiki.mozilla.org/Security/Server_Side_TLS. Works for ~99% of clients, supports modern ciphers, audited. Don't roll your own list.

Why cipher suite selection matters in practice

The cipher suites a server accepts determine which clients can connect securely and how strong the resulting connection is. Get this wrong and either legacy clients can't connect (bad for business) or modern clients get downgraded to weaker crypto (bad for security). Every TLS administrator faces this tradeoff eventually.

Modern practice has shifted significantly since 2018 or so. TLS 1.3 removed the legacy of negotiable cipher suites for key exchange and authentication โ€” those are now fixed. What remains negotiable in TLS 1.3 is just the AEAD cipher and hash. This makes TLS 1.3 much simpler and much more secure by default. A TLS 1.3 server offers a small handful of AEAD ciphers (AES-GCM and ChaCha20-Poly1305 being the main two) and picks the best mutually-supported one with the client.

TLS 1.2 still exists on the wire because a meaningful fraction of clients don't support 1.3. Getting TLS 1.2 configuration right is where the operator work still lives. The Mozilla Server Side TLS guide (referenced in the callout above) is the pragmatic default โ€” copy Intermediate configuration, adjust only if you have specific constraints.

How to read a cipher suite string

A TLS 1.2 cipher suite name like TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 encodes four decisions:

TLS 1.3 cipher suites are much simpler: TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_AES_128_GCM_SHA256. Key exchange and authentication happen through separate mechanisms in the handshake.

What to actually deploy

My default modern config for anything I'm setting up in 2026:

Common configuration mistakes

Prioritizing broad compatibility over security

Enabling every cipher suite in the book "just in case" some client needs one is how you end up serving weak crypto to modern clients that would have negotiated something better. Restrict to strong cipher suites and let the small fraction of legacy clients either upgrade or use an alternative access method.

Copying old tutorial values

Copy-paste configuration from a 2016 tutorial is one of the most reliable ways to end up with 3DES enabled. Copy configuration from current sources (Mozilla's SSL Config Generator, or a recent hardening guide from a reputable vendor). Recheck at least yearly.

Forgetting to renew certificates

Not directly a cipher suite issue but shows up in the same audit. Enable automated certificate renewal (ACME, Certbot, cert-manager). Manual renewal is a source of outages.

Not testing external

Run your site through SSL Labs' server test after any configuration change. Grades below A- indicate real issues worth investigating. Grades of B or lower usually mean an outdated protocol is still enabled or a weak cipher is being offered.

Forward secrecy specifically

Forward secrecy (also called perfect forward secrecy, PFS) means that compromise of the server's long-term private key doesn't retroactively decrypt past recorded sessions. This is achieved by using ephemeral key exchange โ€” a fresh key pair is generated for each session and discarded after.

Every ECDHE cipher suite provides forward secrecy. Every DHE (non-elliptic-curve ephemeral Diffie-Hellman) cipher suite does too, though DHE is slower. Old RSA key exchange suites don't provide forward secrecy and shouldn't be used in modern configurations.

Why this matters: if an attacker records your encrypted traffic today and steals your private key next year, they can decrypt the recording only if the cipher suite didn't provide forward secrecy. Modern configurations make this attack impossible.

When "post-quantum" comes up

Quantum computers, if they become powerful enough, will break the elliptic-curve and RSA public-key cryptography currently used in TLS. This isn't an immediate threat but it's on the industry radar.

TLS 1.3 has been extended with hybrid key exchange (X25519+Kyber, for example) that combines classical and post-quantum algorithms so that even if one is broken, the other still provides security. Cloudflare and Google have deployed these hybrid schemes at scale. In 2026, they're production-ready but not yet universally required.

For most operators, this doesn't require action yet. When post-quantum becomes the required default, it'll be a configuration flip similar to enabling TLS 1.3 a few years ago.

Related tools

To inspect the actual certificate a site is currently serving, use the SSL/TLS Cert Inspector. To audit HTTP-level security headers (HSTS, CSP, X-Frame-Options) that pair with proper TLS, use the HTTP Headers Inspector. External tools worth knowing: SSL Labs' Server Test (ssllabs.com/ssltest), which grades a site's overall TLS configuration.