A protocol describes how the algorithms should be used and includes details about data structures and representations, at which point it can be used to implement multiple, interoperable versions of a program.
[1] Cryptographic protocols are widely used for secure application-level data transport.
[2] It has an entity authentication mechanism, based on the X.509 system; a key setup phase, where a symmetric encryption key is formed by employing public-key cryptography; and an application-level data transport function.
Secure digital timestamping can be used to prove that data (even if confidential) existed at a certain time.
Secure multiparty computation can be used to compute answers (such as determining the highest bid in an auction) based on confidential data (such as private bids), so that when the protocol is complete the participants know only their own input and the answer.
When it is done, there is a necessity to formalize the environment in which the protocol operates in order to identify threats.