Cryptographic primitive

Because of this, cryptographic primitives are designed to do one very specific task in a precisely defined and highly reliable fashion.

The reasons include: Cryptographic primitives are one of the building blocks of every cryptosystem, e.g., TLS, SSL, SSH, etc.

For example, a bare encryption algorithm will provide no authentication mechanism, nor any explicit message integrity checking.

[citation needed] There are some basic properties that can be verified with automated methods, such as BAN logic.

Protocol design is an art requiring deep knowledge and much practice; even then mistakes are common.