TLS Cipher Suite Decoder
Network
Cipher suite names look impenetrable but are strictly structured. For TLS 1.2 and earlier the form is TLS_<KX>_<AUTH>_WITH_<CIPHER>_<MAC>, where KX is the key-exchange (RSA gives no forward secrecy, ECDHE/DHE do), AUTH is how the server proves identity (RSA / ECDSA / DSS / anon / PSK), the cipher half names the bulk symmetric algorithm and mode (AES-128/256 in GCM/CCM/CBC, ChaCha20-Poly1305, 3DES-CBC, RC4, …), and the MAC half is the HMAC or PRF hash (SHA, SHA256, SHA384, MD5). TLS 1.3 collapses to TLS_<CIPHER>_<HASH> because key exchange and authentication are negotiated separately; only AEAD ciphers (AES-GCM, AES-CCM, ChaCha20-Poly1305) are allowed. This decoder parses any well-formed name, flags missing forward secrecy, non-AEAD modes (CBC has decades of padding-oracle attacks), broken bulk ciphers (NULL, RC4, DES, 3DES, export grade), and weak hashes (MD5, SHA-1), then assigns a letter grade.
- Modern, forward-secret, AEAD suite — recommended for production.
How to use
- Paste or type any TLS cipher suite name (any underscore, dash, or space separators are normalized).
- Or click one of the example suites to see how the breakdown changes between modern, legacy, and deliberately broken suites.
- Read the components grid: protocol, key exchange, authentication, cipher, mode, MAC.
- Scan the security row — forward secrecy, AEAD, authentication, cipher strength, hash strength — and the overall letter grade.
- Copy the full plain-text report with the button at the bottom right.
Frequently asked questions
- Why is RSA key exchange considered bad?
- Static RSA key exchange means the same server private key encrypts the premaster secret in every session. If that key ever leaks, every recorded past session can be decrypted retroactively. ECDHE and DHE generate ephemeral keys per session — even if the long-term certificate key is compromised, past sessions stay confidential. This property is forward secrecy, and modern TLS deployments require it.
- What's wrong with CBC mode?
- CBC by itself isn't broken, but the way TLS 1.0–1.2 combine CBC with HMAC (MAC-then-encrypt or encrypt-then-MAC variants) has a long history of padding-oracle attacks: BEAST, Lucky 13, POODLE, and several timing variants. AEAD ciphers (GCM, CCM, ChaCha20-Poly1305) authenticate ciphertext directly and avoid the entire class. TLS 1.3 removed CBC entirely.
- Is SHA-1 broken in TLS contexts?
- SHA-1 collisions are demonstrated (SHAttered, 2017), and certificates signed with SHA-1 stopped being trusted around 2017. Inside cipher suite names, '_SHA' (no number) means HMAC-SHA1 used as the message authentication code, which is much harder to attack than collision resistance, but it's still flagged as weak because no modern TLS profile uses it.
- What does the +/A grade actually mean?
- A+ = TLS 1.3 (always AEAD, always forward-secret). A = TLS 1.2 with ECDHE + AEAD (GCM/CCM/Poly1305) + SHA-2. B = ECDHE + CBC + SHA-2 (workable, not preferred). C = no forward secrecy or SHA-1. D = 3DES, no PFS + CBC, or other weakness. F = anonymous, RC4, DES, NULL, export-grade. This is a rough heuristic, not an official scoring system — for production grading consult Mozilla's TLS Server Side guidelines or the SSL Labs methodology.
Related tools
IP Address Inspector
Type an IPv4 or IPv6 address and see its class, scope (private / public / loopback / link-local), decimal value, binary, reverse-DNS notation, and /32 CIDR.
Port Number Reference
Searchable cheat sheet for ~60 standard TCP / UDP port numbers — from 22 (SSH) and 80 (HTTP) to 6379 (Redis) and 27017 (MongoDB).
DNS Record Reference
Searchable cheat sheet for DNS record types — A, AAAA, CNAME, MX, TXT, NS, SOA, PTR, SRV, CAA, DNSSEC, SVCB / HTTPS — with examples.
Subnet Calculator (IPv4 / CIDR)
Parse an IPv4 CIDR into network address, broadcast, netmask, wildcard, host range, and class. Shows binary breakdown and private/public status.
User Agent Parser
Parse a User-Agent string into browser, engine, OS, device, and CPU. Detects 20+ bots including GPTBot, ClaudeBot, PerplexityBot.
HTTP Status Code Reference
Searchable list of every HTTP status code (1xx-5xx) with summary, RFC, when to use, and common pitfalls.