# syncsynchalt/illustrated-tls12

The Illustrated TLS 1.2 Connection: Every byte explained

Repository: https://github.com/syncsynchalt/illustrated-tls12
Canonical: https://ross.abutalabs.com/products/illustrated-tls12
Homepage: https://tls12.ulfheim.net
Language: Go
License: MIT
License Family: permissive
Topics: tls, tls12, elliptic-curves, rsa, ecdhe, ssl, aes-cbc
Last push: 2025-07-25T20:24:02+00:00

## Health v2 (maintenance only)
Score: 47/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 33, release rhythm 35, longevity 100
- inputs: {"age_days": 2889, "days_push": 404, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3514, forks 208 (observed 2026-08-28T04:08:07.801319+00:00)

## What it is
An educational project that walks through a complete TLS 1.2 connection byte by byte, explaining every field of the handshake, published as an interactive website. It includes Go server and client code that reproduces the exact connection, plus PCAP and keylog captures.

## Use cases
- learn how the TLS 1.2 handshake works byte by byte
- understand what each field in a ClientHello means
- study TLS record structure and cipher suite negotiation
- reproduce a real TLS 1.2 session with Go code
- teach students about TLS and SSL protocol internals
- analyze example PCAP and keylog files of a TLS session

## When to choose
- you want a deep, byte-level explanation of TLS 1.2
- you are teaching or learning network security protocol internals
- you need a reproducible example TLS 1.2 client and server

## When to avoid
- you need a production TLS library or implementation
- you want TLS 1.3 specifically (see the companion illustrated-tls13 project)
- you need a general-purpose packet analyzer

## Facets
- artifact type: learning-resource
- maturity: active
- function: security, developer-tools, documentation
- domain: security, developer-tools, networking, tutorials
- platform: go, cross-platform
- tags: tls, tls12, education, protocol-explainer, cryptography, handshake, interactive, web

## Member repositories
- syncsynchalt/illustrated-tls12 (main) score 47

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:07.801319+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:35:36.416317+00:00, confidence not recorded.
  - readme: https://github.com/syncsynchalt/illustrated-tls12 (fetched 2026-08-28T04:08:07.801319+00:00, sha c977266e6faf)
  - homepage: https://tls12.ulfheim.net (fetched 2026-08-29T09:29:31.030089+00:00, sha 9363ccb77400)
- Data as of 2026-08-30T08:39:29.467469+00:00.
