https://github.com/syncsynchalt/illustrated-tls13
The Illustrated TLS 1.3 Connection: Every byte explained
https://github.com/syncsynchalt/illustrated-tls13
curve25519 gcm ssl tls tls13 x25519
Last synced: 5 months ago
JSON representation
The Illustrated TLS 1.3 Connection: Every byte explained
- Host: GitHub
- URL: https://github.com/syncsynchalt/illustrated-tls13
- Owner: syncsynchalt
- License: mit
- Created: 2018-10-30T00:09:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-11-12T17:42:09.000Z (over 1 year ago)
- Last Synced: 2025-04-12T22:36:45.872Z (about 1 year ago)
- Topics: curve25519, gcm, ssl, tls, tls13, x25519
- Language: HTML
- Homepage: https://tls13.ulfheim.net
- Size: 1.8 MB
- Stars: 856
- Watchers: 13
- Forks: 79
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# The Illustrated TLS Connection
Published at https://tls13.xargs.org
- `site/`: page source for the finished product
- `server/main.c`: server code
- `client/main.c`: client code
- `archive/`: previous version of this site, which was based on a pre-production BoringSSL patch
- `openssl/`: patch of OpenSSL that removes any random aspects of the documented connection
- `captures/`: PCAP and keylog files
See also https://github.com/syncsynchalt/illustrated-tls for a TLS 1.2 version of this project.
### Build instructions
If you'd like a working example that reproduces the exact handshake documented on the site:
```
git clone https://github.com/syncsynchalt/illustrated-tls13.git
cd illustrated-tls13/
cd openssl/
make
cd ../server/
make
cd ../client/
make
```
Then open two terminals and run `./server` in the server/ subdir and `./client` in the client/ subdir.
This has been shown to work on MacOS 10.14 and various Linuxes and only has a few easy-to-find dependencies: gcc or clang, golang, cmake, make, patch.