Cryptographic Primitives

the building blocks of cryptosystems

5 min read

As every cryptographer knows: don’t roll your own security.

Many strategies and protocols have been tried and tested over the years, and in order to discourage people from reinventing the wheel, cryptographers usually reference well-known implementations/ideas that have been proven to work - these concepts are known as cryptographic primitives.

Here are some common cryptographic primitives:
One-way hashing
Symmetric key encryption
Public key cryptography
Diffie-Hellman key exchange
Zero-knowledge proof
Secure random number generation

Apart from these basic primitives, there are also lesser-known, advanced cryptographic primitives. Many of them are composed of basic cryptographic primitives:
Sponge function
One-way compression function
Identity-based encryption
Functional encryption
Stream ciphers
Secure multi-party computation
Lattice based encryption
Group signatures
Paillier encryption
Oblivious transfer
Certificate transparency
Redactable Signatures
Sanitizable signatures
Chameleon hash functions
Fully homomorphic encryption
Oblivious RAM
Non-malleable codes
Attribute-based encryption
Order-revealing encryption
Physical Unclonable Functions

Several of these cryptographic primitives from the basis of the popular protocols / projects that are in use today. For example, Monero, a cryptocurrency that focuses on privacy, makes use of ring signatures to prevent identities from being revealed via big data analytics.