A cryptographic protocol that provides privacy and data integrity between two communicating applications.