The term "cryptographic protocol" is used in different ways. For example, cryptographic "application" protocols often use one or more underlying Key-agreement protocols which are also sometimes themselves referred to as "cryptographic protocols", like the Secure Sockets Layer (SSL) which uses what is known as the Diffie-Hellman key exchange, Diffie-Hellman may be seen as a complete "cryptographic protocol" in itself for other applications.