Back to Interactive Demo
FundamentalsTLS

Cipher Suite Decoder: Understanding TLS Cipher Suites

Decode those intimidating cipher suite strings and understand what each component means. Learn how to configure secure cipher suites for your servers.

15 min readDecember 2025Reference Guide
TLS Cipher Suite Decoder and Reference Guide

Quick Answer: What is a Cipher Suite?

A cipher suite is a set of cryptographic algorithms that work together to secure a TLS connection. It specifies how your data will be protected, including key exchange, authentication, encryption, and integrity verification.

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
ECDHE
Key Exchange
AES_256_GCM
Encryption
SHA384
Integrity

The cipher suite you choose directly impacts your security. Using weak or outdated cipher suites can leave your connections vulnerable to attacks.

Anatomy of a Cipher Suite String

Let's break down the components of a typical TLS 1.2 cipher suite string:

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS
Protocol
Transport Layer Security - the protocol being used
ECDHE
Key Exchange
How client and server agree on a shared secret (Elliptic Curve Diffie-Hellman Ephemeral)
RSA
Authentication
How the server proves its identity (RSA certificate signature)
AES_256
Encryption
Symmetric cipher for encrypting data (AES with 256-bit key)
GCM
Cipher Mode
How the cipher is applied (Galois/Counter Mode - authenticated encryption)
SHA384
Hash/MAC
For key derivation and message authentication (SHA-384)

Key Exchange Algorithms

The key exchange algorithm determines how both parties securely agree on a shared secret for encrypting the session. This is the most critical component for forward secrecy.

AlgorithmForward SecrecySecurityRecommendation
ECDHEYesStrongBest choice - use this
DHEYesGood (if 2048+ bit)Acceptable, but slower than ECDHE
RSANoWeakAvoid - no forward secrecy
PSKDependsDependsFor IoT and constrained devices

What is Forward Secrecy?

Forward secrecy ensures that if an attacker later obtains your server's private key, they still cannot decrypt past sessions. ECDHE (Ephemeral) generates new keys for each session, so there's no long-term secret to compromise.

Authentication Methods

The authentication component specifies how the server proves its identity to the client using its certificate.

MethodKey SizePerformanceNotes
RSA2048-4096 bitsSlower signaturesMost common, widely supported
ECDSA256-384 bitsFaster signaturesModern, smaller keys, same security
Ed25519256 bitsFastestNewer, not yet widely adopted in TLS

Encryption Algorithms

The encryption algorithm (symmetric cipher) protects the actual data being transmitted. This is where the "fast" encryption happens after the handshake.

CipherKey SizesSecurityNotes
AES-256256 bitsStrongIndustry standard, hardware accelerated
AES-128128 bitsStrongSlightly faster, still very secure
ChaCha20256 bitsStrongGreat for mobile (no AES hardware)
3DES168 bitsWeakDeprecated - Sweet32 attack
RC440-256 bitsBrokenNEVER USE - multiple attacks

Cipher Modes (GCM vs CBC)

The cipher mode determines how the encryption algorithm is applied to data. This is crucial for security.

GCM (Galois/Counter Mode)

  • AEAD (Authenticated Encryption)
  • Built-in integrity protection
  • Parallelizable (fast)
  • No padding oracle risks

Recommended - use this

CBC (Cipher Block Chaining)

  • Needs separate MAC
  • Padding oracle vulnerabilities
  • Sequential (slower)
  • BEAST, Lucky 13 attacks

Legacy - prefer GCM

What is AEAD?

Authenticated Encryption with Associated Data (AEAD) combines encryption and integrity checking in one operation. GCM and ChaCha20-Poly1305 are AEAD modes. They ensure data hasn't been tampered with during transmission.

Hash Functions

The hash function is used for key derivation and message authentication (in non-AEAD modes).

HashOutput SizeStatus
SHA384384 bitsStrong - recommended
SHA256256 bitsStrong - widely used
SHA-1160 bitsDeprecated
MD5128 bitsBroken - never use

TLS 1.3 Cipher Suites

TLS 1.3 simplified cipher suites significantly. Key exchange is now built into the protocol (always ECDHE or DHE), and only AEAD ciphers are allowed.

TLS 1.3 Cipher Suite Format

TLS_AES_256_GCM_SHA384

Notice: No key exchange or authentication in the name! TLS 1.3 always uses ephemeral Diffie-Hellman for forward secrecy, so it's not specified in the cipher suite.

Available TLS 1.3 Cipher Suites

Cipher SuiteUse Case
TLS_AES_256_GCM_SHA384General purpose, maximum security
TLS_AES_128_GCM_SHA256General purpose, slightly faster
TLS_CHACHA20_POLY1305_SHA256Mobile devices, no AES hardware

Recommended Configurations

Modern Configuration (TLS 1.3 + TLS 1.2)

# Nginx - Modern configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers off;

Apache Configuration

# Apache - Modern configuration
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder off

Cipher Suites to Avoid

  • *_RSA_* (RSA key exchange) - No forward secrecy
  • *_CBC_* - Padding oracle vulnerabilities
  • *_3DES_* - Sweet32 attack
  • *_RC4_* - Broken, multiple attacks
  • *_SHA (SHA-1) - Deprecated hash
  • *_MD5_* - Broken hash
  • *_EXPORT_* - Weak export ciphers
  • *_NULL_* - No encryption

Testing Server Cipher Suites

Using OpenSSL

# See which cipher suite was negotiated
openssl s_client -connect example.com:443 </dev/null 2>/dev/null | grep "Cipher"

# List all supported ciphers
openssl s_client -connect example.com:443 -cipher 'ALL' 2>/dev/null | grep "Cipher"

# Test a specific cipher suite
openssl s_client -connect example.com:443 -cipher 'ECDHE-RSA-AES256-GCM-SHA384'

# List available TLS 1.3 ciphers
openssl ciphers -v -s -tls1_3

Using nmap

# Enumerate all supported cipher suites
nmap --script ssl-enum-ciphers -p 443 example.com

Online Tools

  • SSL Labs: ssllabs.com/ssltest - Comprehensive server analysis
  • testssl.sh: Command-line tool for detailed analysis

Related Resources

Frequently Asked Questions

Should I prefer AES-128 or AES-256?

Both are secure for the foreseeable future. AES-128 is slightly faster, while AES-256 provides a larger security margin. For most applications, either is fine. If you're concerned about quantum computing, AES-256 offers more resistance.

What's the difference between ECDHE and DHE?

Both provide forward secrecy, but ECDHE (Elliptic Curve) is faster and uses smaller keys for equivalent security. A 256-bit ECDHE key provides roughly the same security as a 3072-bit DHE key. Prefer ECDHE unless you have specific compatibility requirements.

Why is RSA key exchange bad?

RSA key exchange encrypts the pre-master secret with the server's public key. If an attacker later obtains the server's private key (through a breach, court order, or cryptanalysis), they can decrypt all recorded past sessions. ECDHE generates fresh keys each session, so even a compromised private key can't decrypt old traffic.

When should I use ChaCha20 instead of AES?

ChaCha20-Poly1305 is ideal for devices without AES hardware acceleration (like many mobile and IoT devices). On desktop/server CPUs with AES-NI instructions, AES-GCM is typically faster. Many servers are configured to prefer ChaCha20 for mobile clients and AES for desktop clients.

Should I set ssl_prefer_server_ciphers?

With modern configurations, setting this to "off" is often recommended. This allows clients to choose their preferred cipher, which may be optimized for their hardware (e.g., ChaCha20 on mobile). Only enable server preference if you have legacy clients that might negotiate weak ciphers.

Practical TLS - A deep dive into SSL and TLS: the protocols that secure the Internet

Want to go deeper?

Cipher suites are just one piece of the TLS puzzle. If you want to understand how they fit into the bigger picture—with real packet analysis—I highly recommend Practical TLS by Ed Harmoush. It's the most comprehensive TLS course available—with real Wireshark captures, hands-on labs, and explanations that actually make sense.

Disclosure: I earn a commission if you purchase through this link, at no extra cost to you.

Decode Any Cipher Suite

Use our interactive tool to break down any cipher suite string and understand its security rating, components, and recommendations.

Launch Cipher Suite Decoder