The receiver recomputes the same toy check before accepting the bytes.

highlighted = computed this step

Receiver recomputes the check

The receiver sums key, message, and the received tag. For the original message, the fold is all ones.

valid fold=0xffff\text{valid fold}=0xffff
Verify original tagVerification sums key, message, and tag together.Original verify - verifyrowindexvalueword00x0f0eword10x7061word20x793dword30x3130word40xd622raw sum0x0001fffefolded0xffffresult0xffff

Original tag verifies

The verification fold is 0xffff, so this toy check accepts the original message.

accepted fold=0xffff\text{accepted fold}=0xffff
Verify original tagVerification sums key, message, and tag together.Original verify - verifyrowindexvalueword00x0f0eword10x7061word20x793dword30x3130word40xd622raw sum0x0001fffefolded0xffffresult0xffff

Same bytes, same tag

The tag only verifies when the receiver recomputes over the same key and message bytes.

message unchanged=1\text{message unchanged}=1
Verify original tagVerification sums key, message, and tag together.Original verify - verifyrowindexvalueword00x0f0eword10x7061word20x793dword30x3130word40xd622raw sum0x0001fffefolded0xffffresult0xffff

Summary

The original message and tag pass because the receiver recomputes the same checksum relationship.

accepted=1\text{accepted}=1
Verify original tagVerification sums key, message, and tag together.Original verify - verifyrowindexvalueword00x0f0eword10x7061word20x793dword30x3130word40xd622raw sum0x0001fffefolded0xffffresult0xffff