This version adds several clarifications, in particular (but not only) about Data Derivation algorithms and their usage, and the generation of card and host challenges and cryptograms.
Previous Version(s)
This document describes Secure Channel Protocol '04' (SCP04), where the building blocks of the cryptography protocol: Data Derivation, Message Authentication Code, Rekeying, Cipher, Sensitive Data Encryption, Unpredictable Number Generation are configurable to allow for cryptographic agility of the protocol specification.