Hash the handshake transcript and compute a tiny finished tag. This is toy arithmetic only, not deployable security.

Example

Hash the handshake transcript and compute a tiny finished tag.

highlighted = computed this step

Step 1 — Transcript bytes

Set up the exact toy cryptography values.

client_random, server_random, A, B, cert_digest(4, 9, 8, 19, 8)\begin{array}{c|c}\text{client\_random, server\_random, A, B, cert\_digest}&\text{(4, 9, 8, 19, 8)}\end{array}

Step 2 — Hash byte

Compute the highlighted cryptography value.

byte, before, raw, hash mod 17(4, 0, 4, 4)\begin{array}{c|c}\text{byte, before, raw, hash mod 17}&\hlmath{\text{(4, 0, 4, 4)}}\end{array}

Step 3 — Hash byte

Compute the highlighted cryptography value.

byte, before, raw, hash mod 17(9, 4, 29, 12)\begin{array}{c|c}\text{byte, before, raw, hash mod 17}&\hlmath{\text{(9, 4, 29, 12)}}\end{array}

Step 4 — Hash byte

Compute the highlighted cryptography value.

byte, before, raw, hash mod 17(8, 12, 68, 0)\begin{array}{c|c}\text{byte, before, raw, hash mod 17}&\hlmath{\text{(8, 12, 68, 0)}}\end{array}

Step 5 — Hash byte

Compute the highlighted cryptography value.

byte, before, raw, hash mod 17(19, 0, 19, 2)\begin{array}{c|c}\text{byte, before, raw, hash mod 17}&\hlmath{\text{(19, 0, 19, 2)}}\end{array}

Step 6 — Hash byte

Compute the highlighted cryptography value.

byte, before, raw, hash mod 17(8, 2, 18, 1)\begin{array}{c|c}\text{byte, before, raw, hash mod 17}&\hlmath{\text{(8, 2, 18, 1)}}\end{array}

Final Step — Finished tag

Compute the highlighted cryptography value.

(transcript_hash + shared) mod 17(1, 2, 3)\begin{array}{c|c}\text{(transcript\_hash + shared) mod 17}&\hlmath{\text{(1, 2, 3)}}\end{array}
cryptography This lesson follows a tiny HTTPS-like protocol sequence so every value can be checked by hand.