A security protocol (encryption protocol or cryptographic protocol) is a conceptual or actual protocol that performs a security-related utility and applies cryptographic methods.
Protocol defines how the algorithms should be used. Satisfactorily comprehensive protocol includes details about data representations and structures, at which position it can be used to apply multiple, interoperable versions of a program.
Cryptographic protocols are extensively used for protected application-level data transport. A cryptographic protocol regularly incorporates slightest some of these aspects:
- Key agreement or concern
- Entity verification
- Symmetric encipher and message verification material construction
- protected application-level data transport
For illustration, Transport Layer Security (TLS) is a cryptographic protocol that is used to secure web (HTTP) connections. It has an entity verification mechanism, based on the X.509 system; key setup phase, where a symmetric encryption key is produced by employing public-key cryptography; and an application-level data transport function. These three aspects have significant interconnections. Usual TLS does not have non-repudiation support.
There are other types of cryptographic protocols additionally, and even the term itself has a variety of dissimilar readings; Cryptographic application protocols frequently use one or more fundamental key agreement method, which are also occasionally they referred to as "cryptographic protocols". For example, TLS employs what is recognized as the Daffier-Hellman key exchange, which though it is only a part of TLS per se, Diffie-Hellman may be seen as a whole cryptographic protocol in itself for further applications.
Cryptographic protocols can sometimes be established formally on an abstract level.