A toy tag is made from a tiny key and the exact message bytes.

highlighted = computed this step

A tag starts with shared key bytes

This toy sender and receiver share a tiny key. The key bytes are 0x0f0e.

key=0x0f0e\text{key}=0x0f0e
Key and messageThe toy key, message, and tag are exact byte strings.Toy key16 bits / 2 bytes0x0f0ebyte 0byte 10000111100001110byte-00x0fbyte-10x0eMessage48 bits / 6 bytes0x7061793d3130byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011000100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x31byte-50x30Tag16 bits / 2 bytes0xd622byte 0byte 11101011000100010byte-00xd6byte-10x22

Message bytes are included

The original message says pay equals 10 and has bytes 0x7061793d3130.

message=0x7061793d3130\text{message}=0x7061793d3130
Key and messageThe toy key, message, and tag are exact byte strings.Toy key16 bits / 2 bytes0x0f0ebyte 0byte 10000111100001110byte-00x0fbyte-10x0eMessage48 bits / 6 bytes0x7061793d3130byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011000100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x31byte-50x30Tag16 bits / 2 bytes0xd622byte 0byte 11101011000100010byte-00xd6byte-10x22

The tag covers bytes

The tag is computed from key bytes followed by message bytes. No browser code computes it.

covered bytes=8\text{covered bytes}=8
Key and messageThe toy key, message, and tag are exact byte strings.Toy key16 bits / 2 bytes0x0f0ebyte 0byte 10000111100001110byte-00x0fbyte-10x0eMessage48 bits / 6 bytes0x7061793d3130byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011000100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x31byte-50x30Tag16 bits / 2 bytes0xd622byte 0byte 11101011000100010byte-00xd6byte-10x22

Summary

A tag is checked data about the message, not extra prose beside the message.

tag bytes=2\text{tag bytes}=2
Key and messageThe toy key, message, and tag are exact byte strings.Toy key16 bits / 2 bytes0x0f0ebyte 0byte 10000111100001110byte-00x0fbyte-10x0eMessage48 bits / 6 bytes0x7061793d3130byte 0byte 1byte 2byte 301110000011000010111100100111101byte 4byte 50011000100110000byte-00x70byte-10x61byte-20x79byte-30x3dbyte-40x31byte-50x30Tag16 bits / 2 bytes0xd622byte 0byte 11101011000100010byte-00xd6byte-10x22