SSL (Secure Sockets Layer) is the deprecated predecessor of TLS (Transport Layer Security). “SSL” is still used colloquially, but all modern systems use TLS 1.2 or 1.3.
How TLS Works
TLS 1.2 Handshake (Simplified)
Client Server
│── ClientHello ──────────────→ (supported ciphers, TLS version)
│←─ ServerHello + Certificate ── (chosen cipher, server's cert with public key)
│←─ ServerKeyExchange ───────── (optional, for key agreement)
│── ClientKeyExchange ────────→ (encrypted pre-master secret)
│── ChangeCipherSpec + Finished─→
│←─ ChangeCipherSpec + Finished──
│ Secure communication begins
TLS 1.3 (Faster)
Reduced the handshake from 2 round trips to 1. The client can send its key share in the first message, eliminating the ServerKeyExchange round trip.
Digital Certificates
A certificate binds an identity (domain name) to a public key, signed by a trusted Certificate Authority (CA).
Certificate contents:
├── Subject: CN = google.com
├── Public key: (RSA 2048-bit)
├── Issuer: CN = Let's Encrypt Authority
├── Validity: 2026-01-01 to 2026-04-01
└── Signature: [encrypted hash by CA's private key]
Chain of trust: Your browser trusts root CAs (pre-installed). Root CAs sign intermediate CAs. Intermediate CAs sign website certificates. This chain means the browser can verify any website by following the signatures up to a trusted root.
Digital Signatures
Proves authenticity and integrity of a message:
- Sender hashes the message
- Sender encrypts the hash with their private key → this is the signature
- Receiver decrypts the hash with the sender’s public key
- Receiver recomputes the hash of the message
- If they match: message is authentic (from sender) and unmodified (integrity)
Q: What is an SSL/TLS certificate?
A: A digital file issued by a trusted CA that binds a domain name to a public key. It tells your browser: “This is really google.com, and here’s their public key for secure communication.”
Q: What two things does a digital signature prove?
A: Authentication (the message came from the claimed sender) and Integrity (the message hasn’t been modified in transit). It does NOT provide confidentiality — the message itself may be unencrypted.
Q: Why do we need Certificate Authorities?
A: To solve the trust problem. Without a CA, anyone could generate a certificate claiming to be “google.com” and intercept traffic. CAs verify domain ownership before signing. Browsers ship with a list of trusted root CAs.
Q: What is the difference between TLS 1.2 and 1.3?
A: TLS 1.3 reduces the handshake from 2 round trips to 1 (reduced latency), removes insecure ciphers, and uses forward secrecy by default (session keys can’t be recovered even if the server’s private key is compromised later).
Premium Content
Unlock SSL, TLS & Digital Signatures and all premium lessons with a subscription.
From ₹199.99/year — See plans