Watch HTTPS connections establish step by step
| Feature | TLS 1.2 | TLS 1.3 |
|---|---|---|
| Round Trips | 2-RTT | 1-RTT |
| 0-RTT Resumption | No | Yes (PSK) |
| Key Exchange | RSA, DHE, ECDHE | ECDHE only (forward secrecy mandatory) |
| Cipher Suites | ~37 suites | 5 suites (simplified) |
| Forward Secrecy | Optional | Mandatory |
| RSA Key Transport | Allowed | Removed |
| Server Hello Encrypted | No | After ServerHello |
| Certificate Encrypted | No (visible) | Yes (encrypted) |
| Downgrade Protection | Vulnerable | Built-in sentinel |
| Session Tickets | Optional extension | NewSessionTicket message |
| AEAD Ciphers | Optional | Required |
| Compression | Allowed (CRIME) | Removed |
| Renegotiation | Supported | Removed |
| Suite | Encryption | Hash |
|---|---|---|
| TLS_AES_128_GCM_SHA256 | AES-128-GCM | SHA-256 |
| TLS_AES_256_GCM_SHA384 | AES-256-GCM | SHA-384 |
| TLS_CHACHA20_POLY1305_SHA256 | ChaCha20-Poly1305 | SHA-256 |
| TLS_AES_128_CCM_SHA256 | AES-128-CCM | SHA-256 |
| TLS_AES_128_CCM_8_SHA256 | AES-128-CCM-8 | SHA-256 |
TLS (Transport Layer Security) is the protocol that secures HTTPS connections. It provides encryption, authentication, and integrity between a client and server.
Both sides generate ephemeral key pairs on an elliptic curve (e.g., X25519). They exchange public keys and compute the same shared secret independently. This provides forward secrecy — even if the server's long-term private key is compromised later, past sessions remain safe.
If client has a PSK (Pre-Shared Key) from a previous session, it can send application data in the very first message (0-RTT). Risk: 0-RTT data is replayable, so only safe for idempotent requests (GET).