This version adds several corrections and clarifications, all critical for the interoperability of the protocol, in particular (but not only) regarding tag values, the response to the INITIALIZE UPDATE command, the loading of SCP04 keys, supported security levels, and IV chaining for AEAD-based Protocol Configurations.
Previous Version(s)
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.
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.