If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: tls13.xargs.org - The Illustrated TLS 1.3 Connec.

site address: tls13.xargs.org redirected to: tls13.xargs.org

site title: The Illustrated TLS 1.3 Connection: Every Byte Explained

Our opinion (on Friday 09 October 2026 18:53:05 UTC):

GREEN status (no comments) - no comments

Meta tags:
description=Every byte of a TLS 1.3 connection explained and reproduced;

Headings (most frequently used words):

the, illustrated, tls, connection, every, byte, explained, and, reproduced,

Text of the page (most frequently used words):
the (548), this (192), data (184), key (166), server (157), record (144), tls (131), handshake (129), and (116), that (106), client (106), for (104), application (75), session (73), bytes (72), encrypted (70), with (67), type (64), value (55), extension (52), ticket (50), assigned (49), from (48), header (44), which (41), keys (39), follows (39), certificate (38), byte (37), records (36), message (34), label (34), version (32), has (31), are (30), its (28), hkdf (28), public (28), each (27), calc (27), command (27), line (27), aes_256_gcm_decrypt (27), protocol (27), exchange (27), tmp (26), length (26), wrapped (26), sha384 (26), can (25), below (25), will (25), openssl (25), not (24), using (23), step (22), private (22), disguised (21), hello (21), versions (21), because (20), extensions (20), aead (19), information (19), hash (19), own (18), decryption (18), recdata (18), authtag (18), recordnum (18), tag (18), generated (17), support (17), add (17), echo (17), new (17), expand (17), indicates (16), section (16), tool (16), encrypt (16), into (16), finished (16), ctx (16), len (16), signature (16), list (16), was (14), verify (14), used (14), supported (14), actual (13), have (13), been (13), must (13), does (13), xxd (13), following (13), legacy (13), perl (13), eof (13), 0x17 (12), during (12), process (12), also (12), include (12), hexdump (12), all (12), middleboxes (12), one (12), secret (12), random (12), curve (12), represented (11), were (11), input (11), begins (11), may (11), need (11), integrity (11), number (11), follow (11), 0x16 (11), point (11), pss (11), cat (10), 00000000 (10), payload (10), provides (10), sent (10), tail (10), clienthello (10), serverhello (10), cipher (10), rsa (10), curve25519 (10), compression (10), final (9), modified (9), xor (9), ing (9), count (9), already (9), case (9), takes (9), authenticated (9), match (9), succeed (9), yet (9), ciphers (9), written (9), tools (9), both (9), flags (9), lib (9), dirs (9), lssl (9), lcrypto (9), decrypt (9), authentication (9), protects (9), auth (9), wrapper (9), looks (9), like (9), reduce (9), issues (9), block (9), unrecognized (9), protocols (9), discussed (9), provide (9), resume (9), connection (9), starts (9), use (9), snip (9), calculation (9), x25519 (9), found (8), client_secret (8), longer (8), traffic (8), server_secret (8), msg1 (8), encryption (8), ephemeral (8), field (8), two (7), 00000010 (7), first (7), sessions (7), same (7), then (7), previous (7), generation (7), format (7), rest (7), share (7), see (6), request (6), nonce (6), sending (6), later (6), negotiated (6), successful (6), agree (6), messages (6), calculate (6), unwrapped (6), handshake_hash (6), created (6), empty_hash (6), extract (6), 9f13575ce3f8cfc1df64a77ceaffe89700b492ad31b4fab01c4792be1b266b7f (6), 9563bc8b590f671f488d2da3 (6), performed (6), tosign (6), sha256 (6), shared (6), mult (6), given (6), algorithms (6), suites (6), 01f78623f17e3edcc09e944027ba3218d57c8e0db93cd3ac419309274700ac27 (5), 196a750b0c5049c0cc51a541 (5), form (5), more (5), change (5), without (5), when (5), single (5), sends (5), every (5), headers (5), mac (5), 0x14 (5), 00000020 (5), receiving (5), earlier (5), operations (5), handshake_secret (5), 256 (5), certificates (5), hostname (5), result (5), allows (5), provided (5), selected (5), instead (5), modes (5), psk (5), supports (5), name (5), including (4), pong (4), decrypted (4), meaningful (4), any (4), lifetime (4), msg5 (4), ping (4), verify_data (4), built (4), find (4), fin_hash (4), serverextensions (4), servercert (4), fin_key (4), 384 (4), hmac (4), finished_key (4), finished_hash (4), verification (4), broken (4), blocks (4), but (4), needed (4), compatibility (4), now (4), known (4), perform (4), derived_secret (4), salt (4), generating (4), null (4), pub (4), rsae (4), only (4), example (4), algorithm (4), elliptic (4), calculated (4), hello_hash (4), methods (4), material (4), where (4), 0x20 (4), suite (4), negotiation (4), being (4), explained (4), site (4), sha512 (4), curves (4), about (3), back (3), prevents (3), resumed (3), start (3), skip (3), open (3), multiple (3), de2f4c7672723a692319873e5c227606691a32d1c59d8b9f51dbb9352e9ca9cc (3), bb007956f474b25de902432f (3), conversation (3), excluding (3), trailers (3), servercertverify (3), dgst (3), non (3), 1135b4826a9a70257e5a391ad93093dfd7c4214812f493b3e3daae1eb2b1ac69 (3), 4256d2e0e88babdd05eb2f27 (3), 00000030 (3), 0x01 (3), purpose (3), middlebox (3), mode (3), performs (3), finds (3), uses (3), doesn (3), possible (3), fa6800169a6baac19159524fa7b9721b41be3c9db6f3f93fa5ff7e3db3ece204d2b456c51046e40ec5312c55a86126f5 (3), zero_key (3), master_secret (3), optional (3), string (3), noout (3), der (3), binary (3), 0000000 (3), 0000010 (3), page (3), context (3), send (3), host (3), pre (3), they (3), since (3), df4a291baa1eb7cfa6934b29b474baad2697e29f1f920dcc77c8a0a088447624 (3), e05f64fcd082bdb0dce473adf669c2769f257a1c75a51b7887468b5e0e7a7de4f4d34555112077f16e079019d5a845bd (3), early_secret (3), bits (3), via (3), take (3), method (3), made (3), allow (3), able (3), effect (3), order (3), preference (3), pkcs1 (3), ecdsa (3), vulnerabilities (3), extended (3), master (3), indicated (3), formats (3), entry (3), code (2), 1703030015 (2), msg4 (2), 0x15 (2), behavioral (2), inside (2), contain (2), enough (2), safely (2), storing (2), such (2), memory (2), understandable (2), 0xc0 (2), 192 (2), per (2), unique (2), milliseconds (2), timestamp (2), indicating (2), attackers (2), correlating (2), age (2), 0x1c20 (2), 7200 (2), seconds (2), hours (2), 0xd5 (2), 213 (2), 0x04 (2), successfully (2), resuming (2), way (2), most (2), computation (2), network (2), delay (2), startup (2), meant (2), expects (2), browser (2), connections (2), makes (2), size (2), speed (2), decision (2), tickets (2), 17030300ea (2), abcdefghi (2), 0xea (2), 234 (2), their (2), sections (2), msg3 (2), before (2), reproduce (2), serverfinished (2), cht_secret (2), db89d2d6df0e84fed74a2288f8fd4d0959f790ff23946cdf4c26d85e51bebd42ae184501972f8d30c4a3e4a3693d0ef0 (2), expandlabel (2), macopt (2), hexkey (2), msg (2), 0x30 (2), tampered (2), calculates (2), 1703030045 (2), msg2 (2), 0x45 (2), defined (2), changecipherspec (2), served (2), help (2), disguise (2), spec (2), values (2), trailing (2), feed (2), set (2), derivation (2), designed (2), ensure (2), protect (2), against (2), attacks (2), these (2), get (2), bdbbe8757494bef20de932598294ea65b5e6bf6dc5c02a960a2de2eaa9b07c929078d2caa0936231c38d1725f179d299 (2), 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (2), derived (2), sht_secret (2), 23323da031634b241dd37d61032b62a4f450584d1f7f47983ba2f7cc0cdcc39a68f481f2b019f9403a3051908a5d1622 (2), signs (2), signing (2), reproduced (2), certificateverify (2), sig (2), x509 (2), crt (2), sigopt (2), details (2), content (2), empty (2), called (2), here (2), negotiating (2), listed (2), multiplies (2), multiplication (2), cryptographic (2), shared_secret (2), create (2), unlike (2), clear (2), 0x24 (2), 0x00 (2), options (2), tls_aes_256_gcm_sha384 (2), predictable (2), meaning (2), widely (2), deployed (2), recognize (2), hardcoded (2), unusual (2), representing (2), due (2), minor (2), revision (2), ssl (2), therefore (2), confirmed (2), requires (2), higher (2), pkey (2), text (2), priv (2), chosen (2), selecting (2), integer (2), between (2), explanation (2), understood (2), depth (2), keypair (2), technique (2), parties (2), eavesdropper (2), tell (2), what (2), after (2), psks (2), indication (2), presented (2), descending (2), secp521r1 (2), secp384r1 (2), secp256r1 (2), mechanism (2), always (2), five (2), groups (2), types (2), followed (2), done (2), illustrated (2), print, annotations, show, project, packet, captures, github, replies, 7ae23fa66d56f4c5408482b1b1d4c998, second, c0b96ad383afbd8dfc86f8087c1f7dc8, 38d9db1f91ca3d5842602a610b43a463, 73aaabf5b82fbf9a2961bcde10038a32, bff56a671b6c659d0a7c5dd18428f58bdd38b184a3ce342d9fde95cbd5056f7da7918ee320eab7a93abd8f1c02454d27, encrypts, zero, 0a69a88d4bf635c85eb874aebc9dfde8, shown, client_application_key, server_application_key, client_application_iv, server_application_iv, strip, 7e30eeccb6b23be6c6ca363992e842da877ee64715ae7fc0cf87f9e5032182b5bb48d1e33f9979055a160c8dbbb1569c, cert, 078440c0742374744aecf28cf3182fd0, mandatory, inherently, tied, prove, owns, giving, validity, associated, proven, valid, included, introduces, changing, build, signed, space, characters, fixed, character, copy, want, pubkey, rsa_padding_mode, rsa_pss_saltlen, verified, over, 0x100, reserved, 0x104, 260, 0x0f, ties, ownership, 1703030119, 96a3232367ff075e1c66dd9cbedc4713, 0x119, 281, asn, encoding, documented, converted, outform, another, 0x325, 805, 0x32a, 810, response, 0x32e, 814, 0x0b, effort, keep, small, you, explore, further, chain, trust, leading, trusted, installed, containing, third, party, asserting, owner, holds, 1703030343, 58faa5bafa30186c6b2f238eb530c73e, 00000040, examp, 0x343, 835, 0x08, aren, should, hidden, eavesdroppers, 1703030017, 9ddef56f2468b90adfa25101ab0344ae, properties, cause, above, identical, introduced, inputs, requested, some, entropy, evenly, distributed, output, client_handshake_key, server_handshake_key, client_handshake_iv, server_handshake_iv, once, returned, forbidden, replying, did, knows, understand, 0x2e, 0x1302, identify, echos, copied, 0x76, 118, 0x02, 0x7a, 122, says, 9fd7ad6dcff4298dd3f96d5b1b2af910a0535b1488d7f8fabb349a982880b615, 909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf, generates, thinks, 0x26, available, establishing, dhe, establishment, hints, reasons, otherwise, pretended, attempt, influence, presents, well, ed448, ed25519, 0x1c, 0x1e, extra, prevent, present, rfc, 7627, etm, certain, ten, finite, fields, formerly, originally, renamed, repurposed, mechanisms, future, ffdhe8192, ffdhe6144, ffdhe4096, ffdhe3072, ffdhe2048, x448, group, points, ansix962_compressed_char2, ansix962_compressed_prime, uncompressed, contacting, sni, https, would, service, hostnames, virtual, hosts, address, couldn, know, until, http, ulfheim, net, 0x13, dns, 0x18, action, enable, features, indicate, contents, 0xa3, 163, leak, allowing, read, crime, ordered, preferred, highest, greatly, reduced, remaining, stronger, guarantees, than, many, easier, implementation, tls_empty_renegotiation_info_scsv, tls_aes_128_gcm_sha256, tls_chacha20_poly1305_sha256, could, previously, time, cost, flexible, trigger, helps, populate, fake, 0xf4, 244, interestingly, interoperability, implementations, 0xf8, 248, saying, might, suitable, 358072d6365880d1aeea329adf9121383851ed21a28e3b75e965d0d2cd166254, 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f, demonstration, connects, negotiates, receives, terminates, click, begin, exploring, dtls, quic,


Text of the page (random words):
51dbb9352e9ca9cc client application iv bb007956f474b25de902432f client application keys calc the client now has the information to calculate the keys used to encrypt application traffic it performs the same calculation shown in server application keys calc and finds the same values server application key 01f78623f17e3edcc09e944027ba3218d57c8e0db93cd3ac419309274700ac27 server application iv 196a750b0c5049c0cc51a541 client application key de2f4c7672723a692319873e5c227606691a32d1c59d8b9f51dbb9352e9ca9cc client application iv bb007956f474b25de902432f client change cipher spec this record served a purpose in earlier versions on tls but is no longer needed in middlebox compatibility mode this record is sent to help disguise the session as a tls 1 2 session record header 14 03 03 00 01 01 tls sessions are broken into the sending and receiving of records which are blocks of data with a type a protocol version and a length 14 type is 0x14 changecipherspec record 03 03 legacy protocol version of 3 3 tls 1 2 00 01 the length of the record payload is 1 bytes 01 the payload of this message is defined as the byte 0x01 wrapped record to reduce issues with middleboxes that block unrecognized tls protocols tls 1 3 records are disguised as tls 1 2 application data records the wrapped record is discussed in its own section below this one record header 17 03 03 00 45 the tls 1 3 record is encrypted into a tls 1 2 record wrapper that looks like application data 17 type is 0x17 application data 03 03 legacy protocol version of 3 3 tls 1 2 00 45 0x45 69 bytes of wrapped data follows encrypted data 9f f9 b0 63 17 51 77 32 2a 46 dd 98 96 f3 c3 bb 82 0a b5 17 43 eb c2 5f da dd 53 45 4b 73 de b5 4c c7 24 8d 41 1a 18 bc cf 65 7a 96 08 24 e9 a1 93 64 83 7c 35 this data is encrypted with the client handshake key auth tag 0a 69 a8 8d 4b f6 35 c8 5e b8 74 ae bc 9d fd e8 this is the aead authentication tag that protects the integrity of the encrypted data and the record header decryption this data is encrypted using the client handshake key and the client handshake iv that were generated during the client handshake keys calc step the iv will be modified by xor ing it by the count of records that have already been encrypted with this key which in this case is 0 the process also takes as input the 5 byte record header that this record begins with as authenticated data that must match for the decryption to succeed because the openssl command line tool does not yet support aead ciphers i ve written command line tools to both decrypt and encrypt this data from the client handshake keys calc step key 1135b4826a9a70257e5a391ad93093dfd7c4214812f493b3e3daae1eb2b1ac69 iv 4256d2e0e88babdd05eb2f27 from this record recdata 1703030045 authtag 0a69a88d4bf635c85eb874aebc9dfde8 recordnum 0 may need to add i and l flags for include and lib dirs cc o aes_256_gcm_decrypt aes_256_gcm_decrypt c lssl lcrypto echo 9f f9 b0 63 17 51 77 32 2a 46 dd 98 96 f3 c3 bb 82 0a b5 17 43 eb c2 5f da dd 53 45 4b 73 de b5 4c c7 24 8d 41 1a 18 bc cf 65 7a 96 08 24 e9 a1 93 64 83 7c 35 xxd r p tmp msg2 cat tmp msg2 aes_256_gcm_decrypt iv recordnum key recdata authtag hexdump c 00000000 14 00 00 30 bf f5 6a 67 1b 6c 65 9d 0a 7c 5d d1 0 jg le 00000010 84 28 f5 8b dd 38 b1 84 a3 ce 34 2d 9f de 95 cb 8 4 00000020 d5 05 6f 7d a7 91 8e e3 20 ea b7 a9 3a bd 8f 1c o 00000030 02 45 4d 27 16 em client handshake finished 14 00 00 30 bf f5 6a 67 1b 6c 65 9d 0a 7c 5d d1 84 28 f5 8b dd 38 b1 84 a3 ce 34 2d 9f de 95 cb d5 05 6f 7d a7 91 8e e3 20 ea b7 a9 3a bd 8f 1c 02 45 4d 27 this handshake message is represented in its own section below record type 16 each tls 1 3 record disguised as tls 1 2 application data has a final non zero byte which indicates its actual record type 16 type is 0x16 handshake record client handshake finished to verify that the handshake was successful and not tampered with the client calculates verification data that the server will agree on and encrypts it with the client handshake key the verification data is built from a hash of all handshake messages handshake header 14 00 00 30 each handshake message starts with a type and a length 14 handshake message type 0x14 finished 00 00 30 0x30 48 bytes of handshake finished data follow verify data bf f5 6a 67 1b 6c 65 9d 0a 7c 5d d1 84 28 f5 8b dd 38 b1 84 a3 ce 34 2d 9f de 95 cb d5 05 6f 7d a7 91 8e e3 20 ea b7 a9 3a bd 8f 1c 02 45 4d 27 the verify_data is built using the client_secret from the server handshake keys calc step and a sha384 hash of every handshake record before this point client hello to server finished finished_key hkdf expand label key client_secret label finished ctx len 48 finished_hash sha384 client hello server finished verify_data hmac sha384 key finished_key msg finished_hash we can use the hkdf tool to reproduce this on the command line find the hash of the conversation to this point excluding 5 byte record headers or 1 byte wrapped record trailers fin_hash tail c 6 clienthello tail c 6 serverhello perl pe s if eof serverextensions perl pe s if eof servercert perl pe s if eof servercertverify perl pe s if eof serverfinished openssl sha384 cht_secret db89d2d6df0e84fed74a2288f8fd4d0959f790ff23946cdf4c26d85e51bebd42ae184501972f8d30c4a3e4a3693d0ef0 fin_key hkdf 384 expandlabel cht_secret finished 48 echo fin_hash xxd r p openssl dgst sha384 mac hmac macopt hexkey fin_key bff56a671b6c659d0a7c5dd18428f58bdd38b184a3ce342d9fde95cbd5056f7da7918ee320eab7a93abd8f1c02454d27 wrapped record to reduce issues with middleboxes that block unrecognized tls protocols tls 1 3 records are disguised as tls 1 2 application data records the wrapped record is discussed in its own section below this one record header 17 03 03 00 15 the tls 1 3 record is encrypted into a tls 1 2 record wrapper that looks like application data 17 type is 0x17 application data 03 03 legacy protocol version of 3 3 tls 1 2 00 15 the length of the record payload is 0x15 21 bytes all data following this header is the encrypted form of the actual record encrypted data 82 81 39 cb 7b this data is encrypted with the client application key see below for the decrypted data auth tag 73 aa ab f5 b8 2f bf 9a 29 61 bc de 10 03 8a 32 this is the aead authentication tag that protects the integrity of the encrypted data and the record header decryption this data is encrypted using the client application key and the client application iv that were generated during the client application keys calc step the iv will be modified by xor ing it by the count of records that have already been encrypted with this key which in this case is 0 the process also takes as input the 5 byte record header that this record begins with as authenticated data that must match for the decryption to succeed because the openssl command line tool does not yet support aead ciphers i ve written command line tools to both decrypt and encrypt this data from the client application keys calc step key de2f4c7672723a692319873e5c227606691a32d1c59d8b9f51dbb9352e9ca9cc iv bb007956f474b25de902432f from this record recdata 1703030015 authtag 73aaabf5b82fbf9a2961bcde10038a32 recordnum 0 may need to add i and l flags for include and lib dirs cc o aes_256_gcm_decrypt aes_256_gcm_decrypt c lssl lcrypto echo 82 81 39 cb 7b xxd r p tmp msg3 cat tmp msg3 aes_256_gcm_decrypt iv recordnum key recdata authtag hexdump c 00000000 70 69 6e 67 17 ping client application data 70 69 6e 67 this application data is represented in its own section below record type 17 each tls 1 3 record disguised as tls 1 2 application data has a final byte which indicates its actual record type 17 type is 0x17 application data client application data the client sends the data ping application data 70 69 6e 67 the bytes ping wrapped record to reduce issues with middleboxes that block unrecognized tls protocols tls 1 3 records are disguised as tls 1 2 application data records the wrapped records are discussed in their own sections below this one record header 17 03 03 00 ea the tls 1 3 record is encrypted into a tls 1 2 record wrapper that looks like application data 17 type is 0x17 application data 03 03 legacy protocol version of 3 3 tls 1 2 00 ea the length of the record payload is 0xea 234 bytes all data following this header is the encrypted form of the actual record encrypted data 38 2d 8c 19 a4 7f 4e 8d 9b 0c 51 0b c3 48 db 2c c9 9b 24 1c d0 d1 8b 31 d0 ca 1a c1 2d c1 e3 03 c5 8d 0c 7e 9e 27 29 4c 6b 0e 31 98 f7 d3 19 eb 14 62 2e c4 8b 6a c8 f8 66 d7 49 4f a7 75 c8 80 ff 43 ad 4b 1a f5 3a 03 ca 19 77 95 77 8f ff 2f fe 1d 3b 99 b3 4d e7 82 a7 6a bf a8 40 e6 36 6c d7 34 9d 9b cf f6 41 f5 e0 df f9 5e 40 d7 2e 09 ef fe 18 ee 64 67 2c b9 60 05 40 44 88 ad 18 96 c4 4a 5f d1 74 99 8e 9b 00 94 d8 e6 d8 4d 29 29 b7 88 3d c9 a3 c3 c7 31 3a 87 29 3f 31 b6 1d 24 d9 90 97 c8 85 3b fb eb 95 d1 d0 1f 99 ca 05 b0 50 18 59 cf 63 40 e8 37 70 75 97 01 52 fa 94 f5 f5 be 29 06 e7 2a 15 e4 08 36 a4 1f 4c d3 db e7 d5 13 c1 6e 88 61 1d 3e ae 93 this data is encrypted with the server application key see below for the decrypted data auth tag 38 d9 db 1f 91 ca 3d 58 42 60 2a 61 0b 43 a4 63 this is the aead authentication tag that protects the integrity of the encrypted data and the record header decryption this data is encrypted using the server application key and the server application iv that were generated during the server application keys calc step the iv will be modified by xor ing it by the count of records that have already been encrypted with this key which in this case is 0 the process also takes as input the 5 byte record header that this record begins with as authenticated data that must match for the decryption to succeed because the openssl command line tool does not yet support aead ciphers i ve written command line tools to both decrypt and encrypt this data from the server application keys calc step key 01f78623f17e3edcc09e944027ba3218d57c8e0db93cd3ac419309274700ac27 iv 196a750b0c5049c0cc51a541 from this record recdata 17030300ea authtag 38d9db1f91ca3d5842602a610b43a463 recordnum 0 may need to add i and l flags for include and lib dirs cc o aes_256_gcm_decrypt aes_256_gcm_decrypt c lssl lcrypto echo 38 2d 8c 19 a4 7f 4e 8d 9b 0c 51 0b c3 48 db 2c c9 9b 24 snip 13 c1 6e 88 61 1d 3e ae 93 xxd r p tmp msg5 cat tmp msg5 aes_256_gcm_decrypt iv recordnum key recdata authtag hexdump c 00000000 04 00 00 d5 00 00 1c 20 00 00 00 00 08 00 00 00 00000010 00 00 00 00 00 00 c0 41 42 43 44 45 46 47 48 49 abcdefghi snip server new session ticket 1 04 00 00 d5 00 00 1c 20 00 00 00 00 08 00 00 00 00 00 00 00 00 00 c0 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 00 49 56 44 41 54 41 49 56 44 41 54 41 00 41 45 53 cb 11 9d 4d bd 2a 21 ec c2 26 a6 09 0e e8 ca 58 df 09 03 9b 35 96 f4 de 79 98 0e a3 25 d5 14 62 5c 0c 21 c5 0f 03 26 1d c4 2c e7 c5 97 0c 4c 01 ea 33 1c ff c8 99 66 ef 54 8b e4 df 9a 8b a4 38 5b eb 86 80 fd 0b 78 df b8 e9 8e fc 8f cc d8 14 fe cd 1d 9b ce 89 ca 05 dc 28 c2 49 e5 bd 61 d0 3a 56 8f 9a 0a 46 fb fd 05 30 2d b6 b2 f7 a3 13 e3 32 67 bf 0b cb dc ec fb 04 a4 d8 2f 5a 69 45 1f 56 7a b5 19 9b b2 6c 5c f2 00 72 f0 45 03 73 02 8f e0 71 d4 f4 1d 8f 61 ae 02 4d 69 bb ae 4c 00 00 this handshake message is represented in its own section below record type 16 each tls 1 3 record disguised as tls 1 2 application data has a final byte which indicates its actual record type 16 type is 0x16 handshake data server new session ticket 1 the server provides a session ticket that the client can use to start a new session later successfully resuming a connection in this way will skip most of the computation and network delay in session startup because each session ticket is meant to be single use and because the server expects a browser to open multiple connections it makes a size vs speed decision to provide the client with two session tickets for each negotiated session this is the first ticket handshake header 04 00 00 d5 each handshake message starts with a type and a length 04 handshake message type 0x04 new session ticket 00 00 d5 0xd5 213 bytes of session ticket data follow ticket lifetime 00 00 1c 20 the ticket lifetime of 0x1c20 7200 seconds or 2 hours ticket age add 00 00 00 00 when sending this ticket back to the server it must add this number of milliseconds to the timestamp indicating when the ticket was generated this prevents attackers from correlating the resumed session with the session that generated this ticket ticket nonce 08 00 00 00 00 00 00 00 00 a per ticket value that is unique to each ticket generated during this session 08 8 bytes of nonce data follows 00 00 00 00 00 00 00 00 nonce value session ticket 00 c0 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 00 49 56 44 41 54 41 49 56 44 41 54 41 00 41 45 53 cb 11 9d 4d bd 2a 21 ec c2 26 a6 09 0e e8 ca 58 df 09 03 9b 35 96 f4 de 79 98 0e a3 25 d5 14 62 5c 0c 21 c5 0f 03 26 1d c4 2c e7 c5 97 0c 4c 01 ea 33 1c ff c8 99 66 ef 54 8b e4 df 9a 8b a4 38 5b eb 86 80 fd 0b 78 df b8 e9 8e fc 8f cc d8 14 fe cd 1d 9b ce 89 ca 05 dc 28 c2 49 e5 bd 61 d0 3a 56 8f 9a 0a 46 fb fd 05 30 2d b6 b2 f7 a3 13 e3 32 67 bf 0b cb dc ec fb 04 a4 d8 2f 5a 69 45 1f 56 7a b5 19 9b b2 6c 5c f2 00 72 f0 45 03 73 02 8f e0 71 d4 f4 1d 8f 61 ae 02 4d 69 bb ae 4c this is the ticket that can be sent to the server to resume a session the data inside is meaningful to the server and may contain enough information for the server to safely resume the connection without storing any information on the server such as in memory this information is not meaningful or understandable to the client 00 c0 0xc0 192 bytes of ticket data follows 41 42 ae 4c session ticket ticket extensions 00 00 the server provides extensions to provide more information about the ticket or to request a behavioral change from the client 00 00 0 bytes of ticket extensions extension data follows wrapped record to reduce issues with middleboxes that block unrecognized tls protocols tls 1 3 records are disguised as tls 1 2 application data records the wrapped records are discussed in their own sections below this one record header 17 03 03 00 ea the tls 1 3 record is encrypted into a tls 1 2 record wrapper that looks like application data 17 type is 0x17 application data 03 03 legacy protocol version of 3 3 tls 1 2 00 ea the length of the record payload is 0xea 234 bytes all data following this header is the encrypted form of the actual record encrypted data 38 ad fb 1d 01 fd 95 a6 03 85 e8 bb f1 fd 8d cb 46 70 98 97 e7 d6 74 c2 f7 37 0e c1 1d 8e 33 eb 4f 4f e7 f5 4b f4 dc 0b 92 fa e7 42 1c 33 c6 45 3c eb c0 73 15 96 10 a0 97 40 ab 2d 05 6f 8d 51 cf a2 62 00 7d 40 12 36 da fc 2f 72 92 ff 0c c8 86 a4 ef 38 9f 2c ed 12 26 c6 b4 dc f6 9d 99 4f f9 14 8e f9 69 bc 77 d9 43 3a b1 d3 a9 32 54 21 82 82 9f 88 9a d9 5f 04 c7 52 f9 4a ce 57 14 6a 5d 84 b0 42 bf b3 48 5a 64 e7 e9 57 b0 89 80 cd 08 ba f9 69 8b 89 29 98 6d 11 74 d4 aa 6d d7 a7 e8 c0 86 05 2c 3c 76 d8 19 34 bd f5 9b 96 6e 39 20 31 f3 47 1a de bd dd db e8 4f cf 1f f4 08 84 6a e9 b2 8c a4 a9 e7 28 84 4a 49 3d 80 45 5d 6e...
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)

    No Images


    Verified site has: 10 subpage(s). Do you want to verify them? Verify pages:

    1-5 6-10


    Top 50 hastags from of all verified websites.

    Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

    Header

    HTTP/1.1 301 Moved Permanently
    Date Fri, 09 Oct 2026 18:53:05 GMT
    Server Apache/2.4.66 (Ubuntu)
    X-Content-Type-Options nosniff
    Location htt????/tls13.xargs.org/
    Content-Length 353
    Connection close
    Content-Type text/html; charset=iso-8859-1
    HTTP/1.1 200 OK
    Date Fri, 09 Oct 2026 18:53:05 GMT
    Server Apache/2.4.66 (Ubuntu)
    X-Content-Type-Options nosniff
    Strict-Transport-Security max-age=15552000
    Last-Modified Wed, 07 Jan 2026 23:17:15 GMT
    ETag 1f47e-647d47e26c6e3-gzip
    Accept-Ranges bytes
    Vary Accept-Encoding
    Content-Encoding gzip
    Content-Length 23567
    Connection close
    Content-Type text/html

    Meta Tags

    title="The Illustrated TLS 1.3 Connection: Every Byte Explained"
    charset="utf-8"
    name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"
    name="format-detection" content="telephone=no"
    name="title" content="The Illustrated TLS 1.3 Connection"
    name="description" content="Every byte of a TLS 1.3 connection explained and reproduced"
    property="og:url" content="htt????/tls13.xargs.org/"
    property="og:type" content="website"
    property="og:title" content="The Illustrated TLS 1.3 Connection"
    property="og:description" content="Every byte of a TLS connection explained and reproduced"
    property="og:image" content="htt????/tls13.xargs.org/images/og.png"
    name="twitter:card" content="summary_large_image"
    property="twitter:domain" content="tls13.xargs.org"
    property="twitter:url" content="htt????/tls13.xargs.org/"
    name="twitter:title" content="The Illustrated TLS 1.3 Connection"
    name="twitter:description" content="Every byte of a TLS connection explained and reproduced"
    name="twitter:image" content="htt????/tls13.xargs.org/images/og.png#b"
    name="msapplication-TileColor" content="#da532c"
    name="msapplication-config" content="favicon/browserconfig.xml"
    name="theme-color" content="#ffffff"

    Load Info

    page size23567
    load time (s)0.672828
    redirect count1
    speed download35069
    server IP 52.6.191.28
    * all occurrences of the string "http://" have been changed to "htt???/"