TOOLS / EMV

Visa Secure Messaging

Derive a VIS session key, encrypt a PIN block and calculate a command MAC.

Use test data. No commands are sent to a card.

Session key

VIS ATC XOR derivation. Raw key bytes are returned, without parity adjustment, to match the tutorial.

PyEMV ↗

Calculator reference

Verification evidence and limitations →

What it calculates

Derive a VIS session key, encrypt a PIN block and calculate a command MAC.

Inputs and methods

Enter the HEX and decimal fields labelled on each tab. Profile-specific lengths are enforced.

Worked example

Worked Session key example: UDK · HEX, 16 bytes: 0123456789ABCDEFFEDCBA9876543210; ATC · HEX, 2 bytes: 0001

Session key: 0123456789ABCDEEFEDCBA987654CDEE
KCV: 2CE56C

Specification and limits

This demonstrates the first tab only. Other stages need their own profile inputs; outputs do not prove issuer authorization.

PyEMV ↗